From 90122b86b4de34cfa654ae5f0c1034096f77a87f Mon Sep 17 00:00:00 2001 From: missytake Date: Wed, 13 Mar 2024 16:58:10 +0100 Subject: [PATCH] check URL for specific string --- MANIFEST.in | 1 + src/adhd_reminder/__init__.py | 0 src/adhd_reminder/__main__.py | 110 ++++++++++++++++++++++++++++++++++ src/adhd_reminder/avatar.jpg | Bin 0 -> 35785 bytes 4 files changed, 111 insertions(+) create mode 100644 MANIFEST.in create mode 100644 src/adhd_reminder/__init__.py create mode 100644 src/adhd_reminder/__main__.py create mode 100644 src/adhd_reminder/avatar.jpg diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..47338f1 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +include src/greeterbot/avatar.jpg diff --git a/src/adhd_reminder/__init__.py b/src/adhd_reminder/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/adhd_reminder/__main__.py b/src/adhd_reminder/__main__.py new file mode 100644 index 0000000..0a68646 --- /dev/null +++ b/src/adhd_reminder/__main__.py @@ -0,0 +1,110 @@ +import time +import requests as r + +import deltachat +from deltachat.tracker import ConfigureFailed +from time import sleep +import tempfile +import os +import configargparse +import pkg_resources + + +def setup_account(addr: str, app_pw: str, data_dir: str, debug: bool) -> deltachat.Account: + """Create an deltachat account with a given addr/password combination. + + :param addr: the email address of the account. + :param app_pw: the SMTP/IMAP password of the accont. + :param data_dir: the directory where the data(base) is stored. + :param debug: whether to show log messages for the account. + :return: the deltachat account object. + """ + try: + os.mkdir(os.path.join(data_dir, addr)) + except FileExistsError: + pass + db_path = os.path.join(data_dir, addr, "db.sqlite") + + ac = deltachat.Account(db_path) + if debug: + ac.add_account_plugin(deltachat.events.FFIEventLogger(ac)) + if not ac.is_configured(): + ac.set_config("addr", addr) + + ac.set_config("mvbox_move", "0") + ac.set_config("sentbox_watch", "0") + ac.set_config("bot", "1") + ac.set_config("mdns_enabled", "0") + + if app_pw != ac.get_config("mail_pw") or not ac.is_configured(): + ac.set_config("mail_pw", app_pw) + configtracker = ac.configure() + try: + configtracker.wait_finish() + except ConfigureFailed as e: + print( + "configuration setup failed for %s with password:\n%s" + % (ac.get_config("addr"), ac.get_config("mail_pw")) + ) + raise + ac.start_io() + avatar = pkg_resources.resource_filename(__name__, "avatar.jpg") + ac.set_avatar(avatar) + ac.set_config("displayname", "Hello at try.webxdc.org!") + return ac + + +class GreetBot: + def __init__(self, account: deltachat.Account, contacts: [str]): + self.account = account + self.domain = account.get_config("addr").split("@")[1] + self.curl = { + "url": "https://www.terminland.de/noris-psychotherapie/default.aspx?m=39059&ll=DAl3u&dpp=DAl3u&dlgid=8&step=3&dlg=1&a2291013099=2291025408&mode=frame&css=1'", + "expect": b"F\xc3\xbcr die ADHS-Abkl\xc3\xa4rung stehen derzeit keine freien Termine zur Verf\xc3\xbcgung.
Bitte versuchen Sie es zu einem sp\xc3\xa4teren Zeitpunkt noch einmal.", + "headers": { + 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:122.0) Gecko/20100101 Firefox/122.0', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://www.terminland.de/noris-psychotherapie/default.aspx?m=39059&ll=DAl3u&dpp=DAl3u&step=1&a2291013099=2291025408&mode=frame&css=1&ldlg=1', + 'DNT': '1', + 'Connection': 'keep-alive', + } +#-H 'Cookie: ASP.NET_SessionId=huwhhoompma2505dsiq31xd0' -H 'Upgrade-Insecure-Requests: 1' -H 'Sec-Fetch-Dest: iframe' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-Site: same-origin' -H 'Sec-Fetch-User: ?1'" + } + self.contacts = contacts + + def crawl(self): + response = r.get(self.curl['url'], headers=self.curl['headers']) + if self.curl['expect'] not in response.content: + print(str(response.content)) + for addr in self.contacts: + print(addr) + + + +def main(): + args = configargparse.ArgumentParser() + args.add_argument("--email", help="the bot's email address", env_var="DELTACHAT_ADDR") + args.add_argument("--password", help="the bot's password", env_var="DELTACHAT_PASSWORD") + args.add_argument("--db_path", help="location of the Delta Chat database") + args.add_argument("--show-ffi", action="store_true", help="print Delta Chat log") + ops = args.parse_args() + + # ensuring account data directory + if ops.db_path is None: + tempdir = tempfile.TemporaryDirectory(prefix="adhdbot") + ops.db_path = tempdir.name + elif not os.path.exists(ops.db_path): + os.mkdir(ops.db_path) + + ac = setup_account(ops.email, ops.password, ops.db_path, ops.show_ffi) + greeter = GreetBot(ac, ["nami@nine.testrun.org"]) + print("waiting for ADHD appointment... (and I hate waiting)") + while 1: + greeter.crawl() + sleep(5) + + +if __name__ == "__main__": + main() diff --git a/src/adhd_reminder/avatar.jpg b/src/adhd_reminder/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..00f1abf532f39b8a252a39e92b6c3055d09dd2a0 GIT binary patch literal 35785 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 mVs}}1M%Do2`>$RWkXX`ZIl+ literal 0 HcmV?d00001