mirror of
https://github.com/tcsenpai/Zundler.git
synced 2025-06-06 11:35:40 +00:00
Add mime type to file tree
This commit is contained in:
parent
c723a8bc52
commit
511ec5c0bb
@ -35,7 +35,7 @@ var createIframe = function() {
|
||||
}
|
||||
|
||||
var load_virtual_page = (function (path, get_params, anchor) {
|
||||
const data = window.global_context.file_tree[path];
|
||||
const data = window.global_context.file_tree[path].data;
|
||||
var iframe = createIframe();
|
||||
window.global_context.get_parameters = get_params;
|
||||
iframe.contentDocument.write(data);
|
||||
|
@ -142,7 +142,7 @@ var is_virtual = function(url) {
|
||||
var retrieve_file = function(path) {
|
||||
// console.log("Retrieving file: " + path);
|
||||
var file_tree = window.global_context.file_tree;
|
||||
var file = file_tree[path];
|
||||
var file = file_tree[path].data;
|
||||
return file;
|
||||
};
|
||||
|
||||
|
19
src/embed.py
19
src/embed.py
@ -107,6 +107,7 @@ def prepare_file(filename, before, after):
|
||||
_, ext = os.path.splitext(filename)
|
||||
ext = ext.lower()[1:]
|
||||
data = open(filename, 'rb').read()
|
||||
mime_type = mime_type_from_bytes(data)
|
||||
|
||||
if ext == 'css':
|
||||
# assuming all CSS files have names ending in '.css'
|
||||
@ -134,7 +135,12 @@ def prepare_file(filename, before, after):
|
||||
|
||||
logger.debug('loaded file: %s [%d]' % (filename, len(data)))
|
||||
|
||||
return data
|
||||
result = {
|
||||
'data': data,
|
||||
'mime_type': mime_type,
|
||||
}
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def deflate(data):
|
||||
@ -217,9 +223,7 @@ def embed_css_resources(css, filename):
|
||||
mime_type = 'text/css'
|
||||
content = embed_css_resources(content, filename)
|
||||
else:
|
||||
from io import BytesIO
|
||||
from sphinx.util.images import guess_mimetype_for_stream
|
||||
mime_type = guess_mimetype_for_stream(BytesIO(content))
|
||||
mime_type = mime_type_from_bytes(content)
|
||||
if not mime_type:
|
||||
logger.error('Unable to determine mime type: %s' % path)
|
||||
mime_type = 'application/octet-stream'
|
||||
@ -237,6 +241,13 @@ def embed_css_resources(css, filename):
|
||||
return css
|
||||
|
||||
|
||||
def mime_type_from_bytes(buffer):
|
||||
from io import BytesIO
|
||||
from sphinx.util.images import guess_mimetype_for_stream
|
||||
mime_type = guess_mimetype_for_stream(BytesIO(buffer))
|
||||
return mime_type
|
||||
|
||||
|
||||
def load_filetree(base_dir, before=None, after=None, exclude_pattern=None):
|
||||
"""Load entire directory in a dict"""
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user