mirror of
https://github.com/tcsenpai/Zundler.git
synced 2025-06-07 03:55:26 +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) {
|
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();
|
var iframe = createIframe();
|
||||||
window.global_context.get_parameters = get_params;
|
window.global_context.get_parameters = get_params;
|
||||||
iframe.contentDocument.write(data);
|
iframe.contentDocument.write(data);
|
||||||
|
@ -142,7 +142,7 @@ var is_virtual = function(url) {
|
|||||||
var retrieve_file = function(path) {
|
var retrieve_file = function(path) {
|
||||||
// console.log("Retrieving file: " + path);
|
// console.log("Retrieving file: " + path);
|
||||||
var file_tree = window.global_context.file_tree;
|
var file_tree = window.global_context.file_tree;
|
||||||
var file = file_tree[path];
|
var file = file_tree[path].data;
|
||||||
return file;
|
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 = os.path.splitext(filename)
|
||||||
ext = ext.lower()[1:]
|
ext = ext.lower()[1:]
|
||||||
data = open(filename, 'rb').read()
|
data = open(filename, 'rb').read()
|
||||||
|
mime_type = mime_type_from_bytes(data)
|
||||||
|
|
||||||
if ext == 'css':
|
if ext == 'css':
|
||||||
# assuming all CSS files have names ending in '.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)))
|
logger.debug('loaded file: %s [%d]' % (filename, len(data)))
|
||||||
|
|
||||||
return data
|
result = {
|
||||||
|
'data': data,
|
||||||
|
'mime_type': mime_type,
|
||||||
|
}
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
def deflate(data):
|
def deflate(data):
|
||||||
@ -217,9 +223,7 @@ def embed_css_resources(css, filename):
|
|||||||
mime_type = 'text/css'
|
mime_type = 'text/css'
|
||||||
content = embed_css_resources(content, filename)
|
content = embed_css_resources(content, filename)
|
||||||
else:
|
else:
|
||||||
from io import BytesIO
|
mime_type = mime_type_from_bytes(content)
|
||||||
from sphinx.util.images import guess_mimetype_for_stream
|
|
||||||
mime_type = guess_mimetype_for_stream(BytesIO(content))
|
|
||||||
if not mime_type:
|
if not mime_type:
|
||||||
logger.error('Unable to determine mime type: %s' % path)
|
logger.error('Unable to determine mime type: %s' % path)
|
||||||
mime_type = 'application/octet-stream'
|
mime_type = 'application/octet-stream'
|
||||||
@ -237,6 +241,13 @@ def embed_css_resources(css, filename):
|
|||||||
return css
|
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):
|
def load_filetree(base_dir, before=None, after=None, exclude_pattern=None):
|
||||||
"""Load entire directory in a dict"""
|
"""Load entire directory in a dict"""
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user