Clean up imports and formatting
This commit is contained in:
parent
d5606e5325
commit
df71f44550
@ -2,61 +2,55 @@ import argparse
|
|||||||
|
|
||||||
from distribusi.distribusi import distribusify
|
from distribusi.distribusi import distribusify
|
||||||
|
|
||||||
|
|
||||||
def build_argparser():
|
def build_argparser():
|
||||||
parser = argparse.ArgumentParser("""
|
parser = argparse.ArgumentParser(
|
||||||
|
"""
|
||||||
distbusi is a content management system for the web that produces static
|
distbusi is a content management system for the web that produces static
|
||||||
index pages based on folders in the filesystem. It is inspired by the
|
index pages based on folders in the filesystem. It is inspired by the
|
||||||
automatic index functions featured in several web servers. It works by
|
automatic index functions featured in several web servers. It works by
|
||||||
traversing the file system and directory hierarchy to automatically list
|
traversing the file system and directory hierarchy to automatically list
|
||||||
all the files in the directory and providing them with html classes and
|
all the files in the directory and providing them with html classes and
|
||||||
tags for easy styling.
|
tags for easy styling.
|
||||||
""")
|
"""
|
||||||
|
|
||||||
parser.add_argument(
|
|
||||||
'-d',
|
|
||||||
'--directory',
|
|
||||||
help="Select which directory to distribute"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'-s',
|
'-d', '--directory', help="Select which directory to distribute"
|
||||||
'--style',
|
|
||||||
help="Select a CSS style to include"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
parser.add_argument('-s', '--style', help="Select a CSS style to include")
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'-v',
|
'-v', '--verbose', help="Print verbose debug output", action="store_true"
|
||||||
'--verbose',
|
|
||||||
help="Print verbose debug output",
|
|
||||||
action="store_true"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'-t',
|
'-t',
|
||||||
'--thumbnail',
|
'--thumbnail',
|
||||||
help="Generate 150x150 thumbnails for images",
|
help="Generate 150x150 thumbnails for images",
|
||||||
action="store_true"
|
action="store_true",
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'-n',
|
'-n',
|
||||||
'--no-template',
|
'--no-template',
|
||||||
help="Don't use the template to output html",
|
help="Don't use the template to output html",
|
||||||
action="store_true"
|
action="store_true",
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'-nf',
|
'-nf',
|
||||||
'--no-filenames',
|
'--no-filenames',
|
||||||
help="Don't include image filenames",
|
help="Don't include image filenames",
|
||||||
action="store_true"
|
action="store_true",
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'-c',
|
'-c',
|
||||||
'--captions',
|
'--captions',
|
||||||
help="Print captions stored in exif metadata",
|
help="Print captions stored in exif metadata",
|
||||||
action="store_true"
|
action="store_true",
|
||||||
)
|
)
|
||||||
|
|
||||||
return parser
|
return parser
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
import base64
|
import base64
|
||||||
import os
|
import os
|
||||||
|
import subprocess
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
|
||||||
import magic
|
import magic
|
||||||
from distribusi.page_template import html_footer, html_head
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
import subprocess
|
|
||||||
|
|
||||||
CODE_TYPES = [
|
from distribusi.page_template import html_footer, html_head
|
||||||
'x-c',
|
|
||||||
'html'
|
CODE_TYPES = ['x-c', 'html']
|
||||||
]
|
|
||||||
|
|
||||||
FILE_TYPES = {
|
FILE_TYPES = {
|
||||||
'image': '<figure><img class="image" src="{}">{}</figure>',
|
'image': '<figure><img class="image" src="{}">{}</figure>',
|
||||||
@ -19,19 +17,14 @@ FILE_TYPES = {
|
|||||||
'<embed src="{}" type="application/pdf" /></object>'
|
'<embed src="{}" type="application/pdf" /></object>'
|
||||||
),
|
),
|
||||||
'text': '<a href="{}" class="text">{}</a>',
|
'text': '<a href="{}" class="text">{}</a>',
|
||||||
'video': (
|
'video': ('<video class="video" controls>' '<source src="{}"></source></video>'),
|
||||||
'<video class="video" controls>'
|
'audio': ('<audio controls class="audio">' '<source src="{}"></source></audio>'),
|
||||||
'<source src="{}"></source></video>'
|
|
||||||
),
|
|
||||||
'audio': (
|
|
||||||
'<audio controls class="audio">'
|
|
||||||
'<source src="{}"></source></audio>'
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
MIME_TYPE = magic.Magic(mime=True)
|
MIME_TYPE = magic.Magic(mime=True)
|
||||||
|
|
||||||
|
|
||||||
def caption(image):
|
def caption(image):
|
||||||
process = subprocess.Popen(['exiftool', '-Comment', image], stdout=subprocess.PIPE)
|
process = subprocess.Popen(['exiftool', '-Comment', image], stdout=subprocess.PIPE)
|
||||||
out, err = process.communicate()
|
out, err = process.communicate()
|
||||||
@ -41,6 +34,7 @@ def caption(image):
|
|||||||
caption = ''
|
caption = ''
|
||||||
return caption
|
return caption
|
||||||
|
|
||||||
|
|
||||||
def thumbnail(image, name, args):
|
def thumbnail(image, name, args):
|
||||||
size = (450, 450)
|
size = (450, 450)
|
||||||
im = Image.open(image)
|
im = Image.open(image)
|
||||||
@ -58,6 +52,7 @@ def thumbnail(image, name, args):
|
|||||||
"<figure><a href='{}'><img class='thumbnail' src='data:image/jpg;base64,{}'></a>{}</figure>"
|
"<figure><a href='{}'><img class='thumbnail' src='data:image/jpg;base64,{}'></a>{}</figure>"
|
||||||
).format(name, data_url, cap)
|
).format(name, data_url, cap)
|
||||||
|
|
||||||
|
|
||||||
def div(args, mime, tag, *values):
|
def div(args, mime, tag, *values):
|
||||||
id_name = values[0].split('.')[0].replace(' ', '_')
|
id_name = values[0].split('.')[0].replace(' ', '_')
|
||||||
if not args.no_filenames:
|
if not args.no_filenames:
|
||||||
@ -101,7 +96,7 @@ def distribusify(args, directory): # noqa
|
|||||||
elif format in CODE_TYPES:
|
elif format in CODE_TYPES:
|
||||||
# if the plain text is code,
|
# if the plain text is code,
|
||||||
# which types do we wrap in pre-tags?
|
# which types do we wrap in pre-tags?
|
||||||
a = "<pre>"+open(full_path).read()+"</pre>"
|
a = "<pre>" + open(full_path).read() + "</pre>"
|
||||||
else:
|
else:
|
||||||
a = FILE_TYPES[mime]
|
a = FILE_TYPES[mime]
|
||||||
|
|
||||||
@ -146,7 +141,7 @@ def distribusify(args, directory): # noqa
|
|||||||
f.write(styled_html_head)
|
f.write(styled_html_head)
|
||||||
|
|
||||||
for line in html:
|
for line in html:
|
||||||
f.write(line+'\n')
|
f.write(line + '\n')
|
||||||
|
|
||||||
if not args.no_template:
|
if not args.no_template:
|
||||||
f.write(html_footer)
|
f.write(html_footer)
|
||||||
|
Loading…
Reference in New Issue
Block a user