allow overwriting indexes, only when previous was also generated with simplewebpage
This commit is contained in:
@@ -16,7 +16,7 @@ def setup():
|
|||||||
epilog = "Recursively generate indexes: \n# find . -type d -not -path '*/.*' -exec SimpleWebPage -f \{\} \;"
|
epilog = "Recursively generate indexes: \n# find . -type d -not -path '*/.*' -exec SimpleWebPage -f \{\} \;"
|
||||||
)
|
)
|
||||||
parser.add_argument("-f",action="store_true",dest="overwrite",default=False,
|
parser.add_argument("-f",action="store_true",dest="overwrite",default=False,
|
||||||
help="Overwrite existing index file.")
|
help="Overwrite existing index file, even if it's not generated with SimpleWebPage. By default, if file is generated with SimpleWebPage it will be overwritten!")
|
||||||
parser.add_argument("-H",action="store_true",dest="hidden",default=False,
|
parser.add_argument("-H",action="store_true",dest="hidden",default=False,
|
||||||
help="Show hidden files")
|
help="Show hidden files")
|
||||||
parser.add_argument("-t",type=str,dest="title",default=None,
|
parser.add_argument("-t",type=str,dest="title",default=None,
|
||||||
@@ -46,10 +46,12 @@ def setup2HTML(opts):
|
|||||||
])
|
])
|
||||||
|
|
||||||
def HTML2setup(opts):
|
def HTML2setup(opts):
|
||||||
f = open(os.path.join(opts.path,opts.filename), 'rt')
|
""" returns new opts and was it able to read HTML """
|
||||||
try:
|
try:
|
||||||
|
read_config = False
|
||||||
|
with open(os.path.join(opts.path,opts.filename), 'rt') as f:
|
||||||
for l in f.readlines():
|
for l in f.readlines():
|
||||||
if l.find('name="SimpleWebPageSetup"') > -1:
|
if l.find('<meta name="SimpleWebPageSetup"') > -1:
|
||||||
content = l[l.find('name="SimpleWebPageSetup"'):]
|
content = l[l.find('name="SimpleWebPageSetup"'):]
|
||||||
for s in content.split('"')[3].split(";"):
|
for s in content.split('"')[3].split(";"):
|
||||||
(k,v) = s.split('=',1)
|
(k,v) = s.split('=',1)
|
||||||
@@ -57,26 +59,28 @@ def HTML2setup(opts):
|
|||||||
if k == 'parent': opts.parent = v == "True"
|
if k == 'parent': opts.parent = v == "True"
|
||||||
if k == 'title': opts.title = urllib.unquote(v)
|
if k == 'title': opts.title = urllib.unquote(v)
|
||||||
if k == 'images': opts.images = v == "True"
|
if k == 'images': opts.images = v == "True"
|
||||||
|
read_config = True
|
||||||
print("Reading options from existing " + opts.filename)
|
print("Reading options from existing " + opts.filename)
|
||||||
break
|
break
|
||||||
|
return (opts, read_config)
|
||||||
except:
|
except:
|
||||||
pass
|
return (opts, False)
|
||||||
return opts
|
|
||||||
|
|
||||||
def generate_index(opts):
|
def generate_index(opts):
|
||||||
for path,dirs,files in os.walk(opts.path):
|
for path,dirs, files in os.walk(opts.path):
|
||||||
|
existing_config = False
|
||||||
if opts.filename in files:
|
if opts.filename in files:
|
||||||
if not opts.overwrite:
|
opts, existing_config = HTML2setup(opts)
|
||||||
print(opts.filename+" exists")
|
if not existing_config and not opts.overwrite:
|
||||||
|
print(opts.filename + " exists, and not generated with SimpleWebPage. Exiting.")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
opts = HTML2setup(opts)
|
|
||||||
files = [ f for f in files if f != opts.filename]
|
files = [ f for f in files if f != opts.filename]
|
||||||
if not opts.hidden:
|
if not opts.hidden:
|
||||||
files = [ f for f in files if not f.startswith(".")]
|
files = [ f for f in files if not f.startswith(".")]
|
||||||
dirs = [ d for d in dirs if not d.startswith(".")]
|
dirs = [ d for d in dirs if not d.startswith(".")]
|
||||||
f = open(os.path.join(path,opts.filename),'wt')
|
|
||||||
dirs.sort()
|
dirs.sort()
|
||||||
files.sort()
|
files.sort()
|
||||||
|
with open(os.path.join(path,opts.filename), 'wt') as f:
|
||||||
f.write(get_header(opts))
|
f.write(get_header(opts))
|
||||||
if opts.parent:
|
if opts.parent:
|
||||||
f.write(get_pathlink(path, '..'))
|
f.write(get_pathlink(path, '..'))
|
||||||
|
|||||||
Reference in New Issue
Block a user