Skip to content

Commit

Permalink
Fix file name could be lost when uploading files
Browse files Browse the repository at this point in the history
Leading to invalid extension when sending photos.
  • Loading branch information
Lonami committed Oct 17, 2023
1 parent eb67ef1 commit fda6840
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
1 change: 1 addition & 0 deletions telethon/client/uploads.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ def _resize_photo_if_needed(
buffer = io.BytesIO()
result.save(buffer, 'JPEG', progressive=True, **kwargs)
buffer.seek(0)
buffer.name = getattr(file, 'name', None)
return buffer
except IOError:
return file
Expand Down
17 changes: 8 additions & 9 deletions telethon/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -348,21 +348,22 @@ async def __aenter__(self):
self._size = os.path.getsize(self._file)
self._stream = open(self._file, 'rb')
self._close_stream = True
return self

elif isinstance(self._file, bytes):
if isinstance(self._file, bytes):
self._size = len(self._file)
self._stream = io.BytesIO(self._file)
self._close_stream = True
return self

elif not callable(getattr(self._file, 'read', None)):
if not callable(getattr(self._file, 'read', None)):
raise TypeError('file description should have a `read` method')

elif self._size is not None:
self._name = getattr(self._file, 'name', None)
self._stream = self._file
self._close_stream = False
self._name = getattr(self._file, 'name', None)
self._stream = self._file
self._close_stream = False

else:
if self._size is None:
if callable(getattr(self._file, 'seekable', None)):
seekable = await _maybe_await(self._file.seekable())
else:
Expand All @@ -373,8 +374,6 @@ async def __aenter__(self):
await _maybe_await(self._file.seek(0, os.SEEK_END))
self._size = await _maybe_await(self._file.tell())
await _maybe_await(self._file.seek(pos, os.SEEK_SET))
self._stream = self._file
self._close_stream = False
else:
_log.warning(
'Could not determine file size beforehand so the entire '
Expand Down
2 changes: 1 addition & 1 deletion telethon/version.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Versions should comply with PEP440.
# This line is parsed in setup.py:
__version__ = '1.31.0'
__version__ = '1.31.1'

0 comments on commit fda6840

Please sign in to comment.