|
@ -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: |
|
|