Compare commits

...

2 Commits

Author SHA1 Message Date
blank X 0c8e4d7466
Use httpd's mime.types file
From <https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types>
2021-04-29 17:39:02 +07:00
blank X fb1b228d5b
Use strict=False 2021-04-29 16:52:08 +07:00
2 changed files with 1859 additions and 2 deletions

1856
mime.types Normal file

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,7 @@ from bs4 import BeautifulSoup
from telethon import TelegramClient, events
from telethon.utils import chunks, is_list_like
mimetypes.init(['mime.types'])
with open('config.yaml') as file:
config_data = yaml.safe_load(file)
@ -219,7 +220,7 @@ async def main():
file.write(chunk)
async def _get_file_mimetype(filename):
mimetype = mimetypes.guess_type(filename)[0]
mimetype = mimetypes.guess_type(filename, strict=False)[0]
if not mimetype:
proc = await asyncio.create_subprocess_exec('file', '--brief', '--mime-type', filename, stdout=asyncio.subprocess.PIPE)
stdout, _ = await proc.communicate()
@ -232,7 +233,7 @@ async def main():
ext = stdout.decode().strip().split('/', maxsplit=1)[0]
if not ext or ext == '???':
mimetype = await _get_file_mimetype(filename)
ext = mimetypes.guess_extension(mimetype) or '.bin'
ext = mimetypes.guess_extension(mimetype, strict=False) or '.bin'
if not ext.startswith('.'):
ext = '.' + ext
return ext