mirror of
https://github.com/rehe0x/bthello.git
synced 2026-10-18 14:35:05 +08:00
266 lines
3.9 KiB
Python
266 lines
3.9 KiB
Python
#!/usr/bin/env python
|
|
# encoding: utf-8
|
|
|
|
import os
|
|
|
|
|
|
FILE_TYPE_KEYS = {
|
|
'ogv': 0,
|
|
'mp4': 0,
|
|
'mpg': 0,
|
|
'mpeg': 0,
|
|
'avi': 0,
|
|
'rm': 0,
|
|
'rmvb': 0,
|
|
'mov': 0,
|
|
'wmv': 0,
|
|
'asf': 0,
|
|
'dat': 0,
|
|
'mkv': 0,
|
|
'asx': 0,
|
|
'wvx': 0,
|
|
'm2v': 0,
|
|
'lza': 0,
|
|
'mlv': 0,
|
|
'ivf': 0,
|
|
'flc': 0,
|
|
'fla': 0,
|
|
'fsp': 0,
|
|
'dvm': 0,
|
|
'dvd': 0,
|
|
'dv': 0,
|
|
'dir': 0,
|
|
'dif': 0,
|
|
'dff': 0,
|
|
'cmf': 0,
|
|
'cel': 0,
|
|
'byu': 0,
|
|
'at': 0,
|
|
'anim': 0,
|
|
'anm': 0,
|
|
'fli': 0,
|
|
'flt': 0,
|
|
'gl': 0,
|
|
'mng': 0,
|
|
'mpv': 0,
|
|
'msl': 0,
|
|
'qt': 0,
|
|
'qtx': 0,
|
|
'rgb': 0,
|
|
'spl': 0,
|
|
'spa': 0,
|
|
'str': 0,
|
|
'viv': 0,
|
|
'vivo': 0,
|
|
'yuv': 0,
|
|
'xas': 0,
|
|
'mpe': 0,
|
|
'vob': 0,
|
|
'flv': 0,
|
|
'divx': 0,
|
|
'3gp': 0,
|
|
'swf': 0,
|
|
'f4v': 0,
|
|
'ts': 0,
|
|
'm2ts': 0,
|
|
'm4v': 0,
|
|
'srt': 0,
|
|
'ac3': 0,
|
|
'mmm': 0,
|
|
'm1v': 0,
|
|
'tp': 0,
|
|
'3g2': 0,
|
|
'oga': 1,
|
|
'mp3': 1,
|
|
'wma': 1,
|
|
'flac': 1,
|
|
'ape': 1,
|
|
'wav': 1,
|
|
'midi': 1,
|
|
'ogg': 1,
|
|
'aac': 1,
|
|
'amr': 1,
|
|
'aif': 1,
|
|
'au': 1,
|
|
'm4p': 1,
|
|
'm4r': 1,
|
|
'm4a': 1,
|
|
'm4b': 1,
|
|
'mp1': 1,
|
|
'mp2': 1,
|
|
'm3u': 1,
|
|
'pls': 1,
|
|
'ra': 1,
|
|
'mpa': 1,
|
|
'snd': 1,
|
|
'voc': 1,
|
|
'ins': 1,
|
|
'cda': 1,
|
|
'mid': 1,
|
|
'vqf': 1,
|
|
'ram': 1,
|
|
'wax': 1,
|
|
'png': 2,
|
|
'jpg': 2,
|
|
'jpeg': 2,
|
|
'gif': 2,
|
|
'ico': 2,
|
|
'ilbm': 2,
|
|
'lbm': 2,
|
|
'iff': 2,
|
|
'ppm': 2,
|
|
'tif': 2,
|
|
'webp': 2,
|
|
'gifv': 2,
|
|
'bmp': 2,
|
|
'tiff': 2,
|
|
'psd': 2,
|
|
'svg': 2,
|
|
'pcx': 2,
|
|
'dxf': 2,
|
|
'emf': 2,
|
|
'raw': 2,
|
|
'wmf': 2,
|
|
'pcd': 2,
|
|
'azw3': 3,
|
|
'mobi': 3,
|
|
'azw': 3,
|
|
'pdf': 3,
|
|
'chm': 3,
|
|
'txt': 3,
|
|
'epub': 3,
|
|
'prc': 3,
|
|
'azw1': 3,
|
|
'azk': 3,
|
|
'doc': 3,
|
|
'docx': 3,
|
|
'ppt': 3,
|
|
'pptx': 3,
|
|
'rtf': 3,
|
|
'tex': 3,
|
|
'ltx': 3,
|
|
'wps': 3,
|
|
'odf': 3,
|
|
'mht': 3,
|
|
'mhtml': 3,
|
|
'html': 3,
|
|
'htm': 3,
|
|
'shtml': 3,
|
|
'xhtml': 3,
|
|
'hlp': 3,
|
|
'xls': 3,
|
|
'xlsx': 3,
|
|
'cbz': 3,
|
|
'cbr': 3,
|
|
'cb7': 3,
|
|
'cba': 3,
|
|
'cbt': 3,
|
|
'djvu': 3,
|
|
'fb2': 3,
|
|
'py': 3,
|
|
'js': 3,
|
|
'pl': 3,
|
|
'xml': 3,
|
|
'csv': 3,
|
|
'asp': 3,
|
|
'exe': 4,
|
|
'com': 4,
|
|
'bin': 4,
|
|
'dll': 4,
|
|
'a': 4,
|
|
'so': 4,
|
|
'msi': 4,
|
|
'cmd': 4,
|
|
'apk': 4,
|
|
'jar': 4,
|
|
'crx': 4,
|
|
'lnk': 4,
|
|
'cer': 4,
|
|
'crt': 4,
|
|
'der': 4,
|
|
'vbs': 4,
|
|
'bat': 4,
|
|
'reg': 4,
|
|
'rgss3a': 4,
|
|
'nsa': 4,
|
|
'obb': 4,
|
|
'inf': 4,
|
|
'sav': 4,
|
|
'srm': 4,
|
|
'ress': 4,
|
|
'nes': 4,
|
|
'tga': 4,
|
|
'pak': 4,
|
|
'wolf': 4,
|
|
'ttf': 4,
|
|
'otf': 4,
|
|
'fon': 4,
|
|
'rpgsave': 4,
|
|
'rvdata2': 4,
|
|
'rvdata': 4,
|
|
'rpgmvp': 4,
|
|
'gmk': 4,
|
|
'gm6': 4,
|
|
'rar': 5,
|
|
'zip': 5,
|
|
'7z': 5,
|
|
'arj': 5,
|
|
'gz': 5,
|
|
'z': 5,
|
|
'iso': 5,
|
|
'tar': 5,
|
|
'01': 5,
|
|
'001': 5,
|
|
'r01': 5,
|
|
'r001': 5,
|
|
'z01': 5,
|
|
'z001': 5,
|
|
'isz': 5,
|
|
'r02': 5,
|
|
'r03': 5,
|
|
'dmg': 5,
|
|
'tgz': 5,
|
|
'chd': 5,
|
|
'cab': 5,
|
|
'cdr': 5,
|
|
'wbs': 5,
|
|
'lzma': 5,
|
|
'mds': 5,
|
|
'gho': 5,
|
|
'ima': 5,
|
|
'nrg': 5,
|
|
'pkg': 5,
|
|
'b5i': 5,
|
|
'mdx': 5,
|
|
'vmdk': 5,
|
|
'sql': 5,
|
|
'ace': 5,
|
|
'bzip2': 5,
|
|
'gzip': 5,
|
|
'hqx': 5,
|
|
}
|
|
|
|
|
|
def get_file_type(l):
|
|
"""
|
|
获取资源类型,根据后缀名粗略的将资源分为以下7种:
|
|
0: 视频
|
|
1: 音频
|
|
2: 图片
|
|
3: 文档
|
|
4: 二进制文件
|
|
5: 存档文件
|
|
6: 未知
|
|
:param l: MetadataModel中的l
|
|
:return:
|
|
"""
|
|
t = [0 for _ in range(7)]
|
|
for x in l:
|
|
n = os.path.splitext(x.get('n').lower())[1][1:]
|
|
try:
|
|
p = FILE_TYPE_KEYS[n]
|
|
except KeyError:
|
|
p = 6
|
|
t[p] += x.get('l') * (10 if p == 4 else 1)
|
|
return sorted(range(len(t)), key=lambda k: t[k], reverse=True)[0]
|