mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-05 03:22:29 +00:00
Use setup.py
to run tl_generator.py
instead (plus some cleanup)
This commit is contained in:
125
setup.py
125
setup.py
@@ -3,85 +3,94 @@
|
||||
See:
|
||||
https://packaging.python.org/en/latest/distributing.html
|
||||
https://github.com/pypa/sampleproject
|
||||
|
||||
Extra supported commands are:
|
||||
* gen_tl, to generate the classes required for Telethon to run
|
||||
* clean_tl, to clean these generated classes
|
||||
"""
|
||||
|
||||
# To use a consistent encoding
|
||||
from codecs import open
|
||||
from sys import argv
|
||||
from os import path
|
||||
|
||||
# Always prefer setuptools over distutils
|
||||
from setuptools import find_packages, setup
|
||||
|
||||
from telethon import TelegramClient
|
||||
from telethon_generator.tl_generator import TLGenerator
|
||||
try:
|
||||
from telethon import TelegramClient
|
||||
except ModuleNotFoundError:
|
||||
TelegramClient = None
|
||||
|
||||
here = path.abspath(path.dirname(__file__))
|
||||
|
||||
# Get the long description from the README file
|
||||
with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
|
||||
long_description = f.read()
|
||||
if __name__ == '__main__':
|
||||
if len(argv) >= 2 and argv[1] == 'gen_tl':
|
||||
generator = TLGenerator('telethon/tl')
|
||||
if generator.tlobjects_exist():
|
||||
print('Detected previous TLObjects. Cleaning...')
|
||||
generator.clean_tlobjects()
|
||||
|
||||
setup(
|
||||
name='Telethon',
|
||||
print('Generating TLObjects...')
|
||||
generator.generate_tlobjects(
|
||||
'telethon_generator/scheme.tl', import_depth=2
|
||||
)
|
||||
print('Done.')
|
||||
|
||||
# Versions should comply with PEP440.
|
||||
version=TelegramClient.__version__,
|
||||
description="Python3 Telegram's client implementation with full access to its API",
|
||||
long_description=long_description,
|
||||
elif len(argv) >= 2 and argv[1] == 'clean_tl':
|
||||
print('Cleaning...')
|
||||
TLGenerator('telethon/tl').clean_tlobjects()
|
||||
print('Done.')
|
||||
|
||||
# The project's main homepage.
|
||||
url='https://github.com/LonamiWebs/Telethon',
|
||||
download_url='https://github.com/LonamiWebs/Telethon/releases',
|
||||
else:
|
||||
if not TelegramClient:
|
||||
print('Run `python3', argv[0], 'gen_tl` first.')
|
||||
quit()
|
||||
|
||||
# Author details
|
||||
author='Lonami Exo',
|
||||
author_email='totufals@hotmail.com',
|
||||
here = path.abspath(path.dirname(__file__))
|
||||
|
||||
# Choose your license
|
||||
license='MIT',
|
||||
# Get the long description from the README file
|
||||
with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
|
||||
long_description = f.read()
|
||||
|
||||
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
|
||||
classifiers=[
|
||||
# How mature is this project? Common values are
|
||||
# 3 - Alpha
|
||||
# 4 - Beta
|
||||
# 5 - Production/Stable
|
||||
'Development Status :: 3 - Alpha',
|
||||
setup(
|
||||
name='Telethon',
|
||||
|
||||
# Indicate who your project is intended for
|
||||
'Intended Audience :: Developers',
|
||||
'Topic :: Communications :: Chat',
|
||||
# Versions should comply with PEP440.
|
||||
version=TelegramClient.__version__,
|
||||
description="Full-featured Telegram client library for Python 3",
|
||||
long_description=long_description,
|
||||
|
||||
# Pick your license as you wish (should match "license" above)
|
||||
'License :: OSI Approved :: MIT License',
|
||||
url='https://github.com/LonamiWebs/Telethon',
|
||||
download_url='https://github.com/LonamiWebs/Telethon/releases',
|
||||
|
||||
# Specify the Python versions you support here. In particular, ensure
|
||||
# that you indicate whether you support Python 2, Python 3 or both.
|
||||
'Programming Language :: Python :: 3',
|
||||
'Programming Language :: Python :: 3.3',
|
||||
'Programming Language :: Python :: 3.4',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6'
|
||||
],
|
||||
author='Lonami Exo',
|
||||
author_email='totufals@hotmail.com',
|
||||
|
||||
# What does your project relate to?
|
||||
keywords='Telegram API chat client MTProto',
|
||||
license='MIT',
|
||||
|
||||
# You can just specify the packages manually here if your project is
|
||||
# simple. Or you can use find_packages().
|
||||
packages=find_packages(exclude=[
|
||||
'telethon_generator', 'telethon_tests', 'run_tests.py',
|
||||
'try_telethon.py'
|
||||
]),
|
||||
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
|
||||
classifiers=[
|
||||
# 3 - Alpha
|
||||
# 4 - Beta
|
||||
# 5 - Production/Stable
|
||||
'Development Status :: 3 - Alpha',
|
||||
|
||||
# List run-time dependencies here. These will be installed by pip when
|
||||
# your project is installed.
|
||||
install_requires=['pyaes'],
|
||||
'Intended Audience :: Developers',
|
||||
'Topic :: Communications :: Chat',
|
||||
|
||||
# To provide executable scripts, use entry points in preference to the
|
||||
# "scripts" keyword. Entry points provide cross-platform support and allow
|
||||
# pip to create the appropriate form of executable for the target platform.
|
||||
entry_points={
|
||||
'console_scripts': [
|
||||
'gen_tl = tl_generator:clean_and_generate',
|
||||
],
|
||||
})
|
||||
'License :: OSI Approved :: MIT License',
|
||||
|
||||
'Programming Language :: Python :: 3',
|
||||
'Programming Language :: Python :: 3.3',
|
||||
'Programming Language :: Python :: 3.4',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6'
|
||||
],
|
||||
keywords='telegram api chat client library messaging mtproto',
|
||||
packages=find_packages(exclude=[
|
||||
'telethon_generator', 'telethon_tests', 'run_tests.py',
|
||||
'try_telethon.py'
|
||||
]),
|
||||
install_requires=['pyaes']
|
||||
)
|
||||
|
Reference in New Issue
Block a user