mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-03 07:55:36 +00:00
Modify previewed file check
This commit is contained in:
36
utils.py
36
utils.py
@@ -26,13 +26,25 @@ EMPTY_SHA1 = '0000000000000000000000000000000000000000'
|
||||
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'),
|
||||
'Image': ('gif', 'jpeg', 'jpg', 'png'),
|
||||
'Document': ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx'),
|
||||
'SVG': ('svg',),
|
||||
'PDF': ('pdf',),
|
||||
'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):
|
||||
"""
|
||||
Return permisson error page.
|
||||
@@ -249,7 +261,12 @@ def valid_previewed_file(filename):
|
||||
fileExt = os.path.splitext(filename)[1][1:]
|
||||
filetype = FILEEXT_TYPE_MAP.get(fileExt)
|
||||
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:
|
||||
return ('Unknown', fileExt)
|
||||
|
||||
@@ -268,19 +285,6 @@ def get_file_revision_id_size (commit_id, path):
|
||||
|
||||
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):
|
||||
"""
|
||||
Generate httpserver file url.
|
||||
|
Reference in New Issue
Block a user