diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0ef602a73624f84decdea57dcf69b24f7895e5e4 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,31 @@ +repos: + - repo: https://github.com/timothycrosley/isort + rev: develop + hooks: + - id: isort + language_version: python3.8 + exclude: > + (?x)^( + alembic/.+| + systemd/.+ + )$ + - repo: https://github.com/ambv/black + rev: 19.10b0 + hooks: + - id: black + language_version: python3.8 + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v3.1.0 + hooks: + - id: check-ast + - id: requirements-txt-fixer + - id: trailing-whitespace + - id: flake8 + language_version: python3.8 + name: flake8 + entry: flake8 + exclude: > + (?x)^( + alembic/.+| + systemd/.+ + )$ diff --git a/requirements.txt b/requirements.txt index fe294259dad0b4b6cd41539a4e728ca7b4499902..c78eb40ea8b83db8ac699007ed81eb2c8ecf56a0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,7 @@ Telethon==1.14.0 requests-async==0.6.2 pytz==2020.1 Flask==1.1.2 +pre-commit==2.5.1 +black==19.10b0 +isort==4.3.21 +flake8==3.8.3 diff --git a/src/actions/fun.py b/src/actions/fun.py index da9af46cd49820cd8bb9c2e76578d304535d3a1a..c7298e62008bd4326f0a20821052b9ef1be16149 100644 --- a/src/actions/fun.py +++ b/src/actions/fun.py @@ -45,7 +45,9 @@ async def blyaficate(event: events.NewMessage.Event): await event.reply(response) -@config.telegram_client.on(events.NewMessage(pattern=rf"^({'|'.join(swearing)})\.?$", forwards=False)) +@config.telegram_client.on( + events.NewMessage(pattern=rf"^({'|'.join(swearing)})\.?$", forwards=False) +) async def swearing_reply(event): await event.reply( random.choice( @@ -68,7 +70,9 @@ async def swearing_reply(event): ) -@config.telegram_client.on(events.NewMessage(from_users=["clockblocker_tests_bot"], forwards=False)) +@config.telegram_client.on( + events.NewMessage(from_users=["clockblocker_tests_bot"], forwards=False) +) async def lenochka_reply(event: events.NewMessage.Event): await event.reply( random.choice( diff --git a/src/actions/replies.py b/src/actions/replies.py index aa16ac8d895ba95cafb4bac4c60af9df20ae10bd..e1f83c38df9d72cd36881eab7bd1f70c42fddcf7 100644 --- a/src/actions/replies.py +++ b/src/actions/replies.py @@ -14,25 +14,12 @@ async def welcome(event: events.ChatAction.Event): await event.respond(random.choice(["Привет!", "Добро пожаловать!"])) if event.user_left or event.user_kicked: await event.respond( - random.choice( - [ - "До Ñкорых вÑтреч!", - "Прощайте!", - "До ÑвиданиÑ!", - "Пока!", - ] - ) + random.choice(["До Ñкорых вÑтреч!", "Прощайте!", "До ÑвиданиÑ!", "Пока!"]) ) @config.telegram_client.on(events.NewMessage(pattern=r"^(П|п)ривет\.?", forwards=False)) async def hello(event): await event.respond( - random.choice( - [ - "Привет!", - "Добрый день!", - "Добрейший вечерочек!", - ] - ) + random.choice(["Привет!", "Добрый день!", "Добрейший вечерочек!"]) ) diff --git a/src/initializator.py b/src/initializator.py index f0448a2db9d3e323f847df47db651035a6c2bd23..85d71c7a9f22ea2dcab21b30f30e8d2df335f2a4 100644 --- a/src/initializator.py +++ b/src/initializator.py @@ -1,6 +1,6 @@ import asyncio import logging -from multiprocessing import Process, Manager +from multiprocessing import Manager, Process from telethon import TelegramClient @@ -35,12 +35,15 @@ def init(): "bot_session", config.telegram_app_id, config.telegram_api_hash ) manager = Manager() - token = manager.Value('s', None) + token = manager.Value("s", None) web_app = Process(target=create_web_app, args=(token,)) web_app.start() - client.start(phone=config.telegram_account_phone, code_callback=get_code_from_web(token)) + client.start( + phone=config.telegram_account_phone, code_callback=get_code_from_web(token) + ) config.telegram_client = client from src.actions import finish + finish() return client diff --git a/src/server_app.py b/src/server_app.py index 050011b7d53f7a93076dcdba0a1b441c23f3cabb..05296dd1405999507dca0deb17ba7fd12725b4a4 100644 --- a/src/server_app.py +++ b/src/server_app.py @@ -2,7 +2,7 @@ import logging import random import uuid -from flask import Flask, render_template, request, send_file, current_app +from flask import Flask, current_app, render_template, request, send_file from src.config import config @@ -10,10 +10,7 @@ logger = logging.getLogger(__name__) def form_template(): - context = { - 'activated': current_app.activated, - 'cash_dropper': str(uuid.uuid4()) - } + context = {"activated": current_app.activated, "cash_dropper": str(uuid.uuid4())} return render_template("index.html", **context) @@ -31,7 +28,6 @@ def get_code(): class MyServer(Flask): - def __init__(self, token_value, *args, **kwargs): super(MyServer, self).__init__(*args, **kwargs) self.token_value = token_value