| 1234567891011121314151617181920212223242526272829303132 |
- from .tool.func import *
- async def main_view(name = ''):
- with get_db_connect() as conn:
- file_name = re.search(r'([^/]+)$', name)
- if not file_name:
- return ''
- else:
- file_name = file_name.group(1)
- dir_name = './views/' + re.sub(r'\.{2,}', '', name[:-len(file_name)])
- file_name = re.sub(r'\.cache_v(?:[0-9]+)$', '', file_name)
- mime_type = file_name.split('.')
- if len(mime_type) < 2:
- mime_type = 'text/plain'
- else:
- mime_type = mime_type[len(mime_type) - 1].lower()
- image_type = ['jpeg', 'jpg', 'gif', 'png', 'webp', 'ico', 'svg']
- if mime_type in image_type:
- if not mime_type == 'svg':
- mime_type = 'image/' + mime_type
- else:
- mime_type = 'image/svg+xml'
- elif mime_type == 'js':
- mime_type = 'text/javascript'
- elif mime_type == 'txt':
- mime_type = 'text/plain'
- else:
- mime_type = 'text/' + mime_type
- return flask.send_from_directory(dir_name, file_name, mimetype = mime_type)
|