diff --git a/README.rst b/README.rst index df549955..6475b81d 100644 --- a/README.rst +++ b/README.rst @@ -49,7 +49,7 @@ Features `MTProto Mobile Protocol v2.0`_ and the mechanisms needed for establishing a reliable connection. -- **Updated**: Pyrogram makes use of the latest Telegram API version, currently `Layer 74`_. +- **Updated**: Pyrogram makes use of the latest Telegram API version, currently `Layer 75`_. - **Documented**: Pyrogram API public methods are documented and resemble the well established Telegram Bot API, thus offering a familiar look to Bot developers. @@ -148,7 +148,7 @@ License .. _`MTProto Mobile Protocol v2.0`: https://core.telegram.org/mtproto -.. _`Layer 74`: compiler/api/source/main_api.tl +.. _`Layer 75`: compiler/api/source/main_api.tl .. _`your own`: https://github.com/pyrogram/pyrogram/wiki/Getting-Started#api-keys @@ -191,7 +191,7 @@ License


Scheme Layer 74 + alt="Scheme Layer 75"> . -__copyright__ = "Copyright (C) 2017-2018 Dan Tès " +__copyright__ = "Copyright (C) 2017-2018 Dan Tès ".encode(errors="replace").decode() __license__ = "GNU Lesser General Public License v3 or later (LGPLv3+)" -__version__ = "0.4.0" +__version__ = "0.4.2" from .api.errors import Error from .client import ChatAction diff --git a/pyrogram/api/errors/error.py b/pyrogram/api/errors/error.py index a861333d..aefbbca9 100644 --- a/pyrogram/api/errors/error.py +++ b/pyrogram/api/errors/error.py @@ -42,7 +42,7 @@ class Error(Exception): # TODO: Proper log unknown errors if self.CODE == 520: - with open("unknown_errors.txt", "a") as f: + with open("unknown_errors.txt", "a", encoding="utf-8") as f: f.write("{}\t{}\t{}\n".format(x.error_code, x.error_message, query_type)) @staticmethod diff --git a/pyrogram/client/client.py b/pyrogram/client/client.py index 49d45be0..131ce037 100644 --- a/pyrogram/client/client.py +++ b/pyrogram/client/client.py @@ -311,7 +311,7 @@ class Client: def load_session(self, session_name): try: - with open("{}.session".format(session_name)) as f: + with open("{}.session".format(session_name), encoding="utf-8") as f: s = json.load(f) except FileNotFoundError: self.dc_id = 1 @@ -326,7 +326,7 @@ class Client: auth_key = base64.b64encode(self.auth_key).decode() auth_key = [auth_key[i: i + 43] for i in range(0, len(auth_key), 43)] - with open("{}.session".format(self.session_name), "w") as f: + with open("{}.session".format(self.session_name), "w", encoding="utf-8") as f: json.dump( dict( dc_id=self.dc_id, @@ -604,10 +604,10 @@ class Client: file=file, ttl_seconds=ttl_seconds ), - **self.markdown.parse(caption), silent=disable_notification or None, reply_to_msg_id=reply_to_message_id, - random_id=self.rnd_id() + random_id=self.rnd_id(), + **self.markdown.parse(caption) ) ) except FilePartMissing as e: @@ -682,10 +682,10 @@ class Client: types.DocumentAttributeFilename(os.path.basename(audio)) ] ), - **self.markdown.parse(caption), silent=disable_notification or None, reply_to_msg_id=reply_to_message_id, - random_id=self.rnd_id() + random_id=self.rnd_id(), + **self.markdown.parse(caption) ) ) except FilePartMissing as e: @@ -741,10 +741,10 @@ class Client: types.DocumentAttributeFilename(os.path.basename(document)) ] ), - **self.markdown.parse(caption), silent=disable_notification or None, reply_to_msg_id=reply_to_message_id, - random_id=self.rnd_id() + random_id=self.rnd_id(), + **self.markdown.parse(caption) ) ) except FilePartMissing as e: @@ -816,10 +816,10 @@ class Client: ) ] ), - **self.markdown.parse(caption), silent=disable_notification or None, reply_to_msg_id=reply_to_message_id, - random_id=self.rnd_id() + random_id=self.rnd_id(), + **self.markdown.parse(caption) ) ) except FilePartMissing as e: @@ -882,10 +882,10 @@ class Client: ) ] ), - **self.markdown.parse(caption), silent=disable_notification or None, reply_to_msg_id=reply_to_message_id, - random_id=self.rnd_id() + random_id=self.rnd_id(), + **self.markdown.parse(caption) ) ) except FilePartMissing as e: diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index bc330f79..00000000 --- a/setup.cfg +++ /dev/null @@ -1,31 +0,0 @@ -[metadata] -name = Pyrogram -version = attr: pyrogram.__version__ -description = Telegram MTProto API Client Library for Python -url = https://github.com/pyrogram/pyrogram -author = Dan Tès -author_email = admin@pyrogram.ml -license = LGPLv3+ -keywords = telegram mtproto api client library python -classifiers = - Development Status :: 3 - Alpha - Intended Audience :: Developers - License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+) - Operating System :: OS Independent - Programming Language :: Python - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.3 - Programming Language :: Python :: 3.4 - Programming Language :: Python :: 3.5 - Programming Language :: Python :: 3.6 - Topic :: Internet - Topic :: Communications :: Chat - Topic :: Software Development :: Libraries - Topic :: Software Development :: Libraries :: Python Modules - -[options] -packages = find: -zip_safe = False -setup_requires = pyaes; pysocks -install_requires = pyaes; pysocks -include_package_data = True \ No newline at end of file diff --git a/setup.py b/setup.py index 4aeea35e..9fd9e082 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ import re from sys import argv -from setuptools import setup +from setuptools import setup, find_packages from compiler.api import compiler as api_compiler from compiler.error import compiler as error_compiler @@ -31,9 +31,42 @@ if len(argv) > 1 and argv[1] != "sdist": error_compiler.start() # docs_compiler.start() +with open("pyrogram/__init__.py", encoding="utf-8") as f: + version = re.findall(r"__version__ = \"(.+)\"", f.read())[0] + # PyPI doesn't like raw html -with open("README.rst", encoding="UTF-8") as f: +with open("README.rst", encoding="utf-8") as f: readme = re.sub(r"\.\. \|.+\| raw:: html(?:\s{4}.+)+\n\n", "", f.read()) readme = re.sub(r"\|header\|", "|logo|\n\n|description|\n\n|scheme| |mtproto|", readme) -setup(long_description=readme) +setup( + name="Pyrogram", + version=version, + description="Telegram MTProto API Client Library for Python", + url="https://github.com/pyrogram/pyrogram", + author="Dan Tès", + author_email="admin@pyrogram.ml", + license="LGPLv3+", + keywords="telegram mtproto api client library python", + long_description=readme, + classifiers=[ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Topic :: Internet", + "Topic :: Communications :: Chat", + "Topic :: Software Development :: Libraries", + "Topic :: Software Development :: Libraries :: Python Modules" + ], + packages=find_packages(), + zip_safe=False, + install_requires=["pyaes", "pysocks"], + include_package_data=True, +)