Compare commits
2 Commits
ad17d5a4a5
...
0c8e4d7466
Author | SHA1 | Date |
---|---|---|
|
0c8e4d7466 | |
|
fb1b228d5b |
File diff suppressed because it is too large
Load Diff
|
@ -19,6 +19,7 @@ from bs4 import BeautifulSoup
|
||||||
from telethon import TelegramClient, events
|
from telethon import TelegramClient, events
|
||||||
from telethon.utils import chunks, is_list_like
|
from telethon.utils import chunks, is_list_like
|
||||||
|
|
||||||
|
mimetypes.init(['mime.types'])
|
||||||
with open('config.yaml') as file:
|
with open('config.yaml') as file:
|
||||||
config_data = yaml.safe_load(file)
|
config_data = yaml.safe_load(file)
|
||||||
|
|
||||||
|
@ -219,7 +220,7 @@ async def main():
|
||||||
file.write(chunk)
|
file.write(chunk)
|
||||||
|
|
||||||
async def _get_file_mimetype(filename):
|
async def _get_file_mimetype(filename):
|
||||||
mimetype = mimetypes.guess_type(filename)[0]
|
mimetype = mimetypes.guess_type(filename, strict=False)[0]
|
||||||
if not mimetype:
|
if not mimetype:
|
||||||
proc = await asyncio.create_subprocess_exec('file', '--brief', '--mime-type', filename, stdout=asyncio.subprocess.PIPE)
|
proc = await asyncio.create_subprocess_exec('file', '--brief', '--mime-type', filename, stdout=asyncio.subprocess.PIPE)
|
||||||
stdout, _ = await proc.communicate()
|
stdout, _ = await proc.communicate()
|
||||||
|
@ -232,7 +233,7 @@ async def main():
|
||||||
ext = stdout.decode().strip().split('/', maxsplit=1)[0]
|
ext = stdout.decode().strip().split('/', maxsplit=1)[0]
|
||||||
if not ext or ext == '???':
|
if not ext or ext == '???':
|
||||||
mimetype = await _get_file_mimetype(filename)
|
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('.'):
|
if not ext.startswith('.'):
|
||||||
ext = '.' + ext
|
ext = '.' + ext
|
||||||
return ext
|
return ext
|
||||||
|
|
Loading…
Reference in New Issue