diff --git a/active_bots/__init__.py b/active_bots/__init__.py index eedb95f..fb28c7f 100644 --- a/active_bots/__init__.py +++ b/active_bots/__init__.py @@ -12,4 +12,3 @@ for loader, name, is_pkg in pkgutil.walk_packages(__path__): globals()[name] = value __all__.append(name) - diff --git a/active_bots/mailbot.py b/active_bots/mailbot.py index f51fb26..12945b8 100644 --- a/active_bots/mailbot.py +++ b/active_bots/mailbot.py @@ -18,7 +18,8 @@ class Mailbot(Bot): # returns a list of Report objects def crawl(self, user): reports = [] - mails = mailbox.mbox('/var/mail/test') # todo: adjust to actual mailbox + # todo: adjust to actual mailbox + mails = mailbox.mbox('/var/mail/test') for msg in mails: if get_date_from_header(msg['Date']) > user.get_seen_mail(): reports.append(make_report(msg, user)) @@ -31,7 +32,7 @@ class Mailbot(Bot): rec = rec[0] unsubscribe_text = "\n_______\nYou don't want to receive those messages? Unsubscribe with this link: " body = report.text + unsubscribe_text + config['web']['host'] + "/city/mail/unsubscribe/" \ - + db.mail_subscription_token(rec, user.get_city()) + + db.mail_subscription_token(rec, user.get_city()) if report.author != rec: try: sendmail.sendmail(rec, "Ticketfrei " + user.get_city() + diff --git a/active_bots/mastodonbot.py b/active_bots/mastodonbot.py index 5cf9cbc..6e74f3e 100755 --- a/active_bots/mastodonbot.py +++ b/active_bots/mastodonbot.py @@ -38,8 +38,8 @@ class MastodonBot(Bot): # add mention to mentions text = re.sub(r'<[^>]*>', '', status['status']['content']) text = re.sub( - "(?<=^|(?<=[^a-zA-Z0-9-_.]))@([A-Za-z]+[A-Za-z0-9-_]+)", - "", text) + "(?<=^|(?<=[^a-zA-Z0-9-_.]))@([A-Za-z]+[A-Za-z0-9-_]+)", + "", text) if status['status']['visibility'] == 'public': mentions.append(Report(status['account']['acct'], self, diff --git a/active_bots/telegrambot.py b/active_bots/telegrambot.py index dc8d921..fe3beed 100644 --- a/active_bots/telegrambot.py +++ b/active_bots/telegrambot.py @@ -23,14 +23,20 @@ class TelegramBot(Bot): user.save_seen_tg(update.update_id) if update.message.text.lower() == "/start": user.add_telegram_subscribers(update.message.sender.id) - tb.send_message(update.message.sender.id, "You are now subscribed to report notifications.") + tb.send_message( + update.message.sender.id, + "You are now subscribed to report notifications.") # TODO: /start message should be set in frontend elif update.message.text.lower() == "/stop": user.remove_telegram_subscribers(update.message.sender.id) - tb.send_message(update.message.sender.id, "You are now unsubscribed from report notifications.") + tb.send_message( + update.message.sender.id, + "You are now unsubscribed from report notifications.") # TODO: /stop message should be set in frontend elif update.message.text.lower() == "/help": - tb.send_message(update.message.sender.id, "Send reports here to share them with other users. Use /start and /stop to get reports or not.") + tb.send_message( + update.message.sender.id, + "Send reports here to share them with other users. Use /start and /stop to get reports or not.") # TODO: /help message should be set in frontend else: reports.append(Report(update.message.sender.username, self, diff --git a/active_bots/twitterDMs.py b/active_bots/twitterDMs.py index 50d2810..237d7a1 100644 --- a/active_bots/twitterDMs.py +++ b/active_bots/twitterDMs.py @@ -33,14 +33,14 @@ class TwitterBot(Bot): return reports # no twitter account for this user. last_dm = user.get_seen_dm() try: - if last_dm == None: + if last_dm is None: mentions = api.direct_messages() else: mentions = api.mentions_timeline(since_id=last_dm[0]) for status in mentions: text = re.sub( - "(?<=^|(?<=[^a-zA-Z0-9-_\.]))@([A-Za-z]+[A-Za-z0-9-_]+)", - "", status.text) + "(?<=^|(?<=[^a-zA-Z0-9-_\.]))@([A-Za-z]+[A-Za-z0-9-_]+)", + "", status.text) reports.append(report.Report(status.author.screen_name, "twitterDM", text, diff --git a/active_bots/twitterbot.py b/active_bots/twitterbot.py index bf127a2..336737b 100755 --- a/active_bots/twitterbot.py +++ b/active_bots/twitterbot.py @@ -48,8 +48,8 @@ class TwitterBot(Bot): user.set_last_twitter_request(time()) for status in mentions: text = re.sub( - "(?<=^|(?<=[^a-zA-Z0-9-_\.]))@([A-Za-z]+[A-Za-z0-9-_]+)", - "", status.text) + "(?<=^|(?<=[^a-zA-Z0-9-_\.]))@([A-Za-z]+[A-Za-z0-9-_]+)", + "", status.text) reports.append(report.Report(status.author.screen_name, self, text, diff --git a/db.py b/db.py index 7eb938b..8528938 100644 --- a/db.py +++ b/db.py @@ -162,7 +162,7 @@ class DB(object): masto_link TEXT, twit_link TEXT, FOREIGN KEY(user_id) REFERENCES user(id), - UNIQUE(user_id, city) ON CONFLICT IGNORE + UNIQUE(user_id, city) ON CONFLICT IGNORE ); CREATE TABLE IF NOT EXISTS secret ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE, @@ -198,11 +198,11 @@ class DB(object): :return: """ return jwt.encode({ - 'email': email, - 'passhash': scrypt_mcf( - password.encode('utf-8') - ).decode('ascii') - }, self.secret).decode('ascii') + 'email': email, + 'passhash': scrypt_mcf( + password.encode('utf-8') + ).decode('ascii') + }, self.secret).decode('ascii') def mail_subscription_token(self, email, city): """ @@ -223,7 +223,6 @@ class DB(object): json = jwt.decode(token, self.secret) return json['email'], json['city'] - def confirm(self, token, city): from user import User try: @@ -262,10 +261,10 @@ u\d\d?""" (uid, json['email'])) self.execute("""INSERT INTO telegram_accounts (user_id, apikey, active) VALUES(?, ?, ?);""", (uid, "", 1)) - self.execute("INSERT INTO seen_telegrams (user_id, tg_id) VALUES (?,?);", - (uid, 0)) - self.execute("INSERT INTO seen_mail (user_id, mail_date) VALUES (?,?);", - (uid, 0)) + self.execute( + "INSERT INTO seen_telegrams (user_id, tg_id) VALUES (?,?);", (uid, 0)) + self.execute( + "INSERT INTO seen_mail (user_id, mail_date) VALUES (?,?);", (uid, 0)) self.commit() user = User(uid) user.set_city(city) @@ -290,7 +289,7 @@ u\d\d?""" return User(uid) def user_facing_properties(self, city): - self.execute("""SELECT city, markdown, mail_md, masto_link, twit_link + self.execute("""SELECT city, markdown, mail_md, masto_link, twit_link FROM cities WHERE city=?;""", (city, )) try: diff --git a/sendmail.py b/sendmail.py index e7e1f67..d739d78 100755 --- a/sendmail.py +++ b/sendmail.py @@ -34,7 +34,7 @@ class Mailer(object): try: context = ssl.create_default_context() self.s.starttls(context=context) - except: + except BaseException: # TODO: Amend specific exception logger.error('StartTLS failed.', exc_info=True) self.s.login(config["mail"]["user"], config["mail"]["passphrase"]) diff --git a/user.py b/user.py index 4487f4e..9064ec9 100644 --- a/user.py +++ b/user.py @@ -80,7 +80,7 @@ fag faggot nigger neger -schlitz +schlitz """ db.execute("SELECT words FROM badwords WHERE user_id=?;", (self.uid, )) @@ -345,8 +345,8 @@ schlitz return db.cur.fetchone()[0] def set_city(self, city): - masto_link = "https://example.mastodon.social/@" + city # get masto_link - twit_link = "https://example.twitter.com/" + city # get twit_link + masto_link = "https://example.mastodon.social/@" + city # get masto_link + twit_link = "https://example.twitter.com/" + city # get twit_link mailinglist = city + "@" + config['web']['host'] markdown = """# Wie funktioniert Ticketfrei? @@ -461,4 +461,3 @@ unsubscribe-link mitgeschickt. masto_link, twit_link) VALUES(?,?,?,?,?,?)""", (self.uid, city, markdown, mail_md, masto_link, twit_link)) db.commit() -