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