mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-07 18:03:48 +00:00
Modify previewed file check
This commit is contained in:
36
utils.py
36
utils.py
@@ -26,12 +26,24 @@ EMPTY_SHA1 = '0000000000000000000000000000000000000000'
|
|||||||
PREVIEW_FILEEXT = {
|
PREVIEW_FILEEXT = {
|
||||||
'Text': ('ac', 'am', 'bat', 'c', 'cc', 'cmake', 'cpp', 'css', 'diff', 'h', 'html', 'htm', 'java', 'js', 'json', 'less', 'make', 'org', 'php', 'pl', 'properties', 'py', 'rb', 'scala', 'script', 'sh', 'sql', 'txt','text', 'tex', 'vi', 'vim', 'xhtml', 'xml'),
|
'Text': ('ac', 'am', 'bat', 'c', 'cc', 'cmake', 'cpp', 'css', 'diff', 'h', 'html', 'htm', 'java', 'js', 'json', 'less', 'make', 'org', 'php', 'pl', 'properties', 'py', 'rb', 'scala', 'script', 'sh', 'sql', 'txt','text', 'tex', 'vi', 'vim', 'xhtml', 'xml'),
|
||||||
'Image': ('gif', 'jpeg', 'jpg', 'png'),
|
'Image': ('gif', 'jpeg', 'jpg', 'png'),
|
||||||
|
'Document': ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx'),
|
||||||
'SVG': ('svg',),
|
'SVG': ('svg',),
|
||||||
'PDF': ('pdf',),
|
'PDF': ('pdf',),
|
||||||
'Markdown': ('markdown', 'md'),
|
'Markdown': ('markdown', 'md'),
|
||||||
}
|
}
|
||||||
if CROCODOC_API_TOKEN:
|
|
||||||
PREVIEW_FILEEXT['Document'] = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx')
|
def gen_fileext_type_map():
|
||||||
|
"""
|
||||||
|
Generate previewed file extension and file type relation map.
|
||||||
|
|
||||||
|
"""
|
||||||
|
d = {}
|
||||||
|
for filetype in PREVIEW_FILEEXT.keys():
|
||||||
|
for fileext in PREVIEW_FILEEXT.get(filetype):
|
||||||
|
d[fileext] = filetype
|
||||||
|
|
||||||
|
return d
|
||||||
|
FILEEXT_TYPE_MAP = gen_fileext_type_map()
|
||||||
|
|
||||||
def render_permission_error(request, msg=None):
|
def render_permission_error(request, msg=None):
|
||||||
"""
|
"""
|
||||||
@@ -249,7 +261,12 @@ def valid_previewed_file(filename):
|
|||||||
fileExt = os.path.splitext(filename)[1][1:]
|
fileExt = os.path.splitext(filename)[1][1:]
|
||||||
filetype = FILEEXT_TYPE_MAP.get(fileExt)
|
filetype = FILEEXT_TYPE_MAP.get(fileExt)
|
||||||
if filetype:
|
if filetype:
|
||||||
return (filetype, fileExt)
|
# Check whether this kind of file can be previewd.
|
||||||
|
if filetype == 'Document':
|
||||||
|
return (filetype, fileExt) if CROCODOC_API_TOKEN \
|
||||||
|
else ('Unknown', fileExt)
|
||||||
|
else:
|
||||||
|
return (filetype, fileExt)
|
||||||
else:
|
else:
|
||||||
return ('Unknown', fileExt)
|
return ('Unknown', fileExt)
|
||||||
|
|
||||||
@@ -268,19 +285,6 @@ def get_file_revision_id_size (commit_id, path):
|
|||||||
|
|
||||||
return None, None
|
return None, None
|
||||||
|
|
||||||
def gen_fileext_type_map():
|
|
||||||
"""
|
|
||||||
Generate previewed file extension and file type relation map.
|
|
||||||
|
|
||||||
"""
|
|
||||||
d = {}
|
|
||||||
for filetype in PREVIEW_FILEEXT.keys():
|
|
||||||
for fileext in PREVIEW_FILEEXT.get(filetype):
|
|
||||||
d[fileext] = filetype
|
|
||||||
|
|
||||||
return d
|
|
||||||
FILEEXT_TYPE_MAP = gen_fileext_type_map()
|
|
||||||
|
|
||||||
def gen_file_get_url(token, filename):
|
def gen_file_get_url(token, filename):
|
||||||
"""
|
"""
|
||||||
Generate httpserver file url.
|
Generate httpserver file url.
|
||||||
|
Reference in New Issue
Block a user