| 
					
				 | 
			
			
				@@ -0,0 +1,74 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+"""Setup.""" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import codecs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import os 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import re 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import setuptools 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import sys 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if sys.version_info < (3, 5): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    raise RuntimeError("Python3.5+ is needed to run async code") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+here = os.path.abspath(os.path.dirname(__file__)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def read(*parts): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    """Read file in `part.part.part.part.ext`. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Start from `here` and follow the path given by `*parts` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    with codecs.open(os.path.join(here, *parts), 'r') as fp: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return fp.read() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def find_information(info, *file_path_parts): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    """Read information in file.""" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    version_file = read(*file_path_parts) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    version_match = re.search( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        r"^__{info}__ = ['\"]([^'\"]*)['\"]".format( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            info=info 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        version_file, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        re.M 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if version_match: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return version_match.group(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    raise RuntimeError("Unable to find version string.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+with open("README.md", "r") as readme_file: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    long_description = readme_file.read() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+setuptools.setup( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name='ciclopibot', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    version=find_information("version", "ciclopibot", "__init__.py"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    author=find_information("author", "ciclopibot", "__init__.py"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    author_email=find_information("email", "ciclopibot", "__init__.py"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    description=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "Telegram bot based on `davtelepot` providing information about " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "CicloPi, the public bike-sharing service in Pisa." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    license=find_information("license", "ciclopibot", "__init__.py"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    long_description=long_description, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    long_description_content_type="text/markdown", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    url="https://gogs.davte.it/davte/ciclopibot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    packages=setuptools.find_packages(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    platforms=['any'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    install_requires=[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'davtelepot', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    classifiers=[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "Development Status :: 5 - Production/Stable", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "Environment :: Console", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "Framework :: AsyncIO", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "Intended Audience :: Developers", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "Natural Language :: English", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "Operating System :: OS Independent", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "Programming Language :: Python :: 3 :: Only", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "Topic :: Communications :: Chat", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    keywords='telegram bot python asyncio async aiohttp davtelepot ' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             'ciclopi bikesharing bicincitta bicincittà pisa bike', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    include_package_data=True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 |