diff --git a/src/commands.py b/src/commands.py index 768b50a..277ac04 100644 --- a/src/commands.py +++ b/src/commands.py @@ -9,7 +9,7 @@ from telegram.ext import Updater, CallbackContext, Job from src.database import Database from src.scheduler import Scheduler -from src.utils import toJson, create, dictToString, render, wrap +from src.utils import toJson, create, dictToString, render, wrap, sendRequest helpMsg = """ Welcome! This bot monitors http changes! @@ -44,15 +44,6 @@ scheduler: Scheduler updater: Updater -def sendRequest(req: str): - r = create(req) - text = r.text - if r.headers['Content-Type'] == 'application/json': - text = dictToString(json.loads(text)) - r.close() - return text - - # Initialize bot def init(bot: Bot, u: Updater): global updater @@ -63,7 +54,7 @@ def init(bot: Bot, u: Updater): for user in database.users: for request in database.reqs[user]: if request['enabled']: - scheduler.startTask(user, request) + scheduler.start(user, request) def start(update: Update, context: CallbackContext): diff --git a/src/scheduler.py b/src/scheduler.py index ea77fb1..0da96ac 100644 --- a/src/scheduler.py +++ b/src/scheduler.py @@ -4,9 +4,8 @@ from io import BytesIO from telegram.ext import Job, CallbackContext, Updater -from src.commands import sendRequest from src.database import Database -from src.utils import wrap, render +from src.utils import wrap, render, sendRequest class Scheduler: diff --git a/src/utils.py b/src/utils.py index 732ecba..e2bfcf5 100644 --- a/src/utils.py +++ b/src/utils.py @@ -1,3 +1,4 @@ +import difflib import json import textwrap from urllib.parse import unquote @@ -96,3 +97,12 @@ def render(message): def wrap(string: str): return '\n'.join([' ⏎\n '.join(textwrap.wrap(line, 120)) for line in string.splitlines()]) + + +def sendRequest(req): + response = create(req) + text = response.text + if response.headers['Content-Type'] == 'application/json': + text = dictToString(json.loads(text)) + response.close() + return text