|
|
@ -68,6 +68,17 @@ def div(args, type_, subtype, tag, name): |
|
|
|
return html.format(id_name, subtype, tag) |
|
|
|
|
|
|
|
|
|
|
|
def check_distribusi_index(args, index): |
|
|
|
|
|
|
|
with open(index, 'r') as f: |
|
|
|
if '<meta name="generator" content="distribusi" />' in f.read(): |
|
|
|
return True |
|
|
|
else: |
|
|
|
if args.verbose: |
|
|
|
print(index, 'not generated by distribusi, skipping') |
|
|
|
return False |
|
|
|
|
|
|
|
|
|
|
|
def distribusify(args, directory): # noqa |
|
|
|
for root, dirs, files in os.walk(directory): |
|
|
|
|
|
|
@ -75,8 +86,6 @@ def distribusify(args, directory): # noqa |
|
|
|
if args.verbose: |
|
|
|
print('Excluding directory:', ", ".join(args.exclude_directory)) |
|
|
|
dirs[:] = [d for d in dirs if d not in args.exclude_directory] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if not args.remove_index: |
|
|
|
html = [] |
|
|
@ -141,28 +150,34 @@ def distribusify(args, directory): # noqa |
|
|
|
a = "<a href='{}'>{}/</a>".replace('{}', name) |
|
|
|
html.append(div(args, 'dir', 'dir', a, 'folder')) |
|
|
|
|
|
|
|
with open(os.path.join(root, 'index.html'), 'w') as f: |
|
|
|
if not args.no_template: |
|
|
|
if args.style: |
|
|
|
fs = open(args.style, "r") |
|
|
|
style = fs.read() |
|
|
|
styled_html_head = html_head % style |
|
|
|
else: |
|
|
|
styled_html_head = html_head % '' |
|
|
|
f.write(styled_html_head) |
|
|
|
|
|
|
|
for line in html: |
|
|
|
f.write(line + '\n') |
|
|
|
|
|
|
|
if not args.no_template: |
|
|
|
f.write(html_footer) |
|
|
|
index = os.path.join(root, 'index.html') |
|
|
|
if os.path.exists(index): |
|
|
|
if check_distribusi_index(args, index): |
|
|
|
pass |
|
|
|
else: |
|
|
|
with open(os.path.join(root, 'index.html'), 'w') as f: |
|
|
|
if not args.no_template: |
|
|
|
if args.style: |
|
|
|
fs = open(args.style, "r") |
|
|
|
style = fs.read() |
|
|
|
styled_html_head = html_head % style |
|
|
|
else: |
|
|
|
styled_html_head = html_head % '' |
|
|
|
f.write(styled_html_head) |
|
|
|
|
|
|
|
for line in html: |
|
|
|
f.write(line + '\n') |
|
|
|
|
|
|
|
if not args.no_template: |
|
|
|
f.write(html_footer) |
|
|
|
|
|
|
|
if args.remove_index: |
|
|
|
index = os.path.join(root, 'index.html') |
|
|
|
if 'index.html' in files: |
|
|
|
if args.verbose: |
|
|
|
print('Removing index.html from', root) |
|
|
|
try: |
|
|
|
os.remove(index) |
|
|
|
if check_distribusi_index(args, index): |
|
|
|
if args.verbose: |
|
|
|
print('Removing index.html from', root) |
|
|
|
os.remove(index) |
|
|
|
except Exception as e: |
|
|
|
print(e) |
|
|
|