From 6f584d1187e12b6e224d1bfc254457c38b23d2ba Mon Sep 17 00:00:00 2001 From: Lucy Joshua Date: Mon, 30 Jan 2023 23:57:46 +0200 Subject: [PATCH] Solving circular dependency problem --- src/BotYamPoster.py | 2 +- src/connector.py | 38 ++++++++++++++++++++++++++++++++++++++ src/main.py | 37 +------------------------------------ 3 files changed, 40 insertions(+), 37 deletions(-) create mode 100644 src/connector.py diff --git a/src/BotYamPoster.py b/src/BotYamPoster.py index 7e1b1f4..ad37b27 100644 --- a/src/BotYamPoster.py +++ b/src/BotYamPoster.py @@ -3,7 +3,7 @@ import os import syslog import random import json -from main import Connector +from connector import Connector def init_streamobject(conn): syslog.syslog(syslog.LOG_INFO, "Loading Stream object...") diff --git a/src/connector.py b/src/connector.py new file mode 100644 index 0000000..7d34e85 --- /dev/null +++ b/src/connector.py @@ -0,0 +1,38 @@ +import os +import syslog +import json +import redis +import tweepy + +class Connector(): + def __init__(self): + syslog.syslog(syslog.LOG_INFO, "Loading Consul connector...") + # TODO: Add token + self.dbconn = redis.Redis( + host=os.getenv("REDIS_HOST"), + port=os.getenv("REDIS_PORT"), + password=os.getenv("REDIS_CREDENTIALS") + ) + + self.api = Connector.init_api(self.dbconn) + + def init_api(dbconn): + # Syslog report + syslog.syslog(syslog.LOG_INFO, "Loading Twitter API connector...") + + return tweepy.Client( + bearer_token=dbconn.hget("api", "bearer").decode("utf-8"), + consumer_key=dbconn.hget("api", "consumer_key").decode("utf-8"), + consumer_secret=dbconn.hget("api", "consumer_secret").decode("utf-8"), + access_token=dbconn.hget("api", "access_token").decode("utf-8"), + access_token_secret=dbconn.hget("api","access_token_secret").decode("utf-8") + ) + + def get_reply_bank(self): + return json.loads(self.dbconn.get('reply_bank').decode("utf-8")) + + def get_victims(self): + return json.loads(self.dbconn.get('reply_bank').decode("utf-8")).victims + + def get_bearer(self): + return self.dbconn.hget("api", "bearer").decode("utf-8") diff --git a/src/main.py b/src/main.py index 806bdb7..2c0b899 100644 --- a/src/main.py +++ b/src/main.py @@ -1,44 +1,9 @@ import tweepy import os import syslog -import json -import redis from BotYamPoster import BotYamPoster from BotYamPoster import init_streamobject - - -class Connector(): - def __init__(self): - syslog.syslog(syslog.LOG_INFO, "Loading Consul connector...") - # TODO: Add token - self.dbconn = redis.Redis( - host=os.getenv("REDIS_HOST"), - port=os.getenv("REDIS_PORT"), - password=os.getenv("REDIS_CREDENTIALS") - ) - - self.api = Connector.init_api(self.dbconn) - - def init_api(dbconn): - # Syslog report - syslog.syslog(syslog.LOG_INFO, "Loading Twitter API connector...") - - return tweepy.Client( - bearer_token=dbconn.hget("api", "bearer").decode("utf-8"), - consumer_key=dbconn.hget("api", "consumer_key").decode("utf-8"), - consumer_secret=dbconn.hget("api", "consumer_secret").decode("utf-8"), - access_token=dbconn.hget("api", "access_token").decode("utf-8"), - access_token_secret=dbconn.hget("api","access_token_secret").decode("utf-8") - ) - - def get_reply_bank(self): - return json.loads(self.dbconn.get('reply_bank').decode("utf-8")) - - def get_victims(self): - return json.loads(self.dbconn.get('reply_bank').decode("utf-8")).victims - - def get_bearer(self): - return self.dbconn.hget("api", "bearer").decode("utf-8") +from connector import Connector def main(): syslog.syslog(syslog.LOG_INFO, "BOT-YAM - VERSION 2.1.2 >>>>")