logging
This commit is contained in:
parent
ab8ed0b933
commit
c7bb2829f7
@ -3,10 +3,17 @@ import os
|
||||
import telebot
|
||||
from telebot.types import Message
|
||||
|
||||
from helpers.mongo import mongo
|
||||
|
||||
bot = telebot.TeleBot(os.getenv("TELEGRAM_TOKEN"))
|
||||
|
||||
|
||||
@bot.message_handler(commands=['start'])
|
||||
def on_start(message: Message):
|
||||
mongo.users_collection.delete_many({"chat_id": message.chat.id})
|
||||
do_action(message)
|
||||
|
||||
|
||||
@bot.message_handler()
|
||||
def do_action(message: Message):
|
||||
from helpers.answer import answer
|
||||
|
@ -1,11 +1,11 @@
|
||||
import datetime
|
||||
import logging
|
||||
from time import sleep
|
||||
|
||||
from helpers import now, User
|
||||
from helpers.models import UserSchema
|
||||
from helpers.mongo import mongo
|
||||
from helpers.ruz import ruz
|
||||
from settings import MOSCOW_TIMEZONE
|
||||
|
||||
|
||||
def fetch_schedule_for_user(user: User):
|
||||
@ -72,11 +72,11 @@ def delete_old():
|
||||
|
||||
def fetch():
|
||||
while True:
|
||||
print("fetch start")
|
||||
logging.info("fetch start")
|
||||
begin = datetime.datetime.now()
|
||||
process()
|
||||
end = datetime.datetime.now()
|
||||
print('fetch finished')
|
||||
print("time elapsed", (end - begin).total_seconds())
|
||||
logging.info('fetch finished')
|
||||
logging.info("time elapsed", (end - begin).total_seconds())
|
||||
delete_old()
|
||||
sleep(60 * 5)
|
||||
|
@ -1,10 +1,11 @@
|
||||
import datetime
|
||||
import logging
|
||||
from time import sleep
|
||||
|
||||
from telebot.apihelper import ApiTelegramException
|
||||
|
||||
from daemons.bot import bot
|
||||
from helpers import now, get_next_daily_notify_time
|
||||
from helpers import now
|
||||
from helpers.models import UserSchema
|
||||
from helpers.mongo import mongo
|
||||
from helpers.ruz import ruz
|
||||
@ -55,10 +56,10 @@ def process():
|
||||
|
||||
def notify():
|
||||
while True:
|
||||
print("notify start")
|
||||
logging.info("notify start")
|
||||
begin = datetime.datetime.now()
|
||||
process()
|
||||
end = datetime.datetime.now()
|
||||
print('notify finished')
|
||||
print("time elapsed", (end - begin).total_seconds())
|
||||
logging.info('notify finished')
|
||||
logging.info("time elapsed", (end - begin).total_seconds())
|
||||
sleep(60)
|
||||
|
@ -1,23 +1,27 @@
|
||||
import logging.config
|
||||
import sys
|
||||
|
||||
import settings
|
||||
from daemons.api import api
|
||||
from daemons.bot import bot
|
||||
from daemons.fetch import fetch
|
||||
from daemons.notify import notify
|
||||
|
||||
|
||||
logging.config.dictConfig(settings.logging_config)
|
||||
arg = sys.argv[-1]
|
||||
|
||||
if arg == "bot":
|
||||
print("bot is starting")
|
||||
logging.info("bot is starting")
|
||||
bot.polling()
|
||||
elif arg == "fetch":
|
||||
print("fetch is starting")
|
||||
logging.info("fetch is starting")
|
||||
fetch()
|
||||
elif arg == "notify":
|
||||
print("notify is starting")
|
||||
logging.info("notify is starting")
|
||||
notify()
|
||||
elif arg == "api":
|
||||
print("api is starting")
|
||||
logging.info("api is starting")
|
||||
api()
|
||||
else:
|
||||
raise ValueError(f"Unknown param {arg}")
|
||||
|
@ -1,11 +1,8 @@
|
||||
import datetime
|
||||
|
||||
import pytz
|
||||
from telebot.types import Message
|
||||
|
||||
from daemons.bot import bot
|
||||
from daemons.fetch import fetch_schedule_for_user
|
||||
from helpers import now, get_next_daily_notify_time
|
||||
from helpers import get_next_daily_notify_time
|
||||
from helpers.keyboards import main_keyboard, notify_keyboard, yes_no_keyboard, again_keyboard, groups_keyboard, \
|
||||
no_daily_notify, student_or_teacher_keyboard, campus_keyboard
|
||||
from helpers.models import UserSchema, User
|
||||
|
@ -3,7 +3,7 @@ from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
import marshmallow_dataclass
|
||||
from marshmallow import EXCLUDE, pre_load
|
||||
from marshmallow import EXCLUDE
|
||||
|
||||
|
||||
@dataclass
|
||||
|
@ -1,5 +1,4 @@
|
||||
import datetime
|
||||
import zoneinfo
|
||||
from functools import cached_property
|
||||
|
||||
import pymongo
|
||||
|
@ -1,4 +1,5 @@
|
||||
import datetime
|
||||
import logging
|
||||
|
||||
from requests import get
|
||||
|
||||
@ -52,7 +53,8 @@ class RUZ:
|
||||
try:
|
||||
data = data.json()
|
||||
except:
|
||||
print(data.content)
|
||||
logging.info("Json ignored, data content is")
|
||||
logging.info(data.content)
|
||||
return None
|
||||
formatted_data = [
|
||||
{
|
||||
|
17
settings.py
17
settings.py
@ -1,4 +1,5 @@
|
||||
import os
|
||||
import sys
|
||||
import zoneinfo
|
||||
|
||||
MONGO_USER = os.getenv("MONGO_USER", "mongo")
|
||||
@ -8,3 +9,19 @@ DEBUG = os.getenv("DEBUG", "true") == "true"
|
||||
|
||||
RUZ_API = "https://ruz.hse.ru/api/"
|
||||
MOSCOW_TIMEZONE = zoneinfo.ZoneInfo("Europe/Moscow")
|
||||
|
||||
logging_config = {
|
||||
'version': 1,
|
||||
'disable_existing_loggers': False,
|
||||
'handlers': {
|
||||
'console': {
|
||||
'level': 'INFO',
|
||||
'class': 'logging.StreamHandler',
|
||||
'stream': sys.stdout
|
||||
}
|
||||
},
|
||||
'root': {
|
||||
'handlers': ['console'],
|
||||
'level': 'INFO'
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user