✨ reworking a bunch of stuff 2.0
This commit is contained in:
@ -23,109 +23,6 @@ handler.setFormatter(logging.Formatter(fmt=PRINTFORMAT, datefmt=DATEFORMAT))
|
||||
printer.addHandler(handler)
|
||||
printer.propagate = False
|
||||
|
||||
def sanitize(data: str, lower_case_value: bool = False):
|
||||
"""
|
||||
Sanitize and create a dictionary from a string.
|
||||
|
||||
Each element is created from a line with a : in it. The key is left
|
||||
of the :, the value is right of it.
|
||||
|
||||
*Parameters*
|
||||
------------
|
||||
data: str
|
||||
The string to create a dict from.
|
||||
lower_case_value: bool = False
|
||||
Whether the value of each element should be lowercase.
|
||||
|
||||
*Returns*
|
||||
---------
|
||||
dct: dict
|
||||
The sanitized dictionary of elements.
|
||||
|
||||
"""
|
||||
data = data.splitlines()
|
||||
dct = {}
|
||||
for line in data:
|
||||
if line[0] != "#" and ":" in line:
|
||||
line_values = line.split(":")
|
||||
line_values[0] = line_values[0].lower()
|
||||
line_values[1] = line_values[1].replace(" ", "")
|
||||
if lower_case_value:
|
||||
line_values[1] = line_values[1].lower()
|
||||
|
||||
if line_values[0] in ["testing guild ids", "admins"]:
|
||||
line_values[1] = line_values[1].split(",")
|
||||
if all(i.isnumeric() for i in line_values[1]):
|
||||
line_values[1] = [int(i) for i in line_values[1]]
|
||||
|
||||
if any(i == line_values[1] for i in ["true", "false"]):
|
||||
line_values[1] = (line_values[1] == "true")
|
||||
|
||||
dct[line_values[0]] = line_values[1]
|
||||
|
||||
return dct
|
||||
|
||||
|
||||
def get_options():
|
||||
"""
|
||||
Get the bot options as dict.
|
||||
|
||||
*Returns*
|
||||
---------
|
||||
options: dict
|
||||
The options of the bot.
|
||||
"""
|
||||
with open("options.txt", "r", encoding="utf-8") as file_pointer:
|
||||
data = sanitize(file_pointer.read(), True)
|
||||
|
||||
options = {}
|
||||
|
||||
options["testing"] = data["testing"]
|
||||
options["guild_ids"] = data["testing guild ids"]
|
||||
options["admins"] = data["admins"]
|
||||
return options
|
||||
|
||||
def get_credentials():
|
||||
"""
|
||||
Returns the credentials used by the bot as a dict.
|
||||
|
||||
*Returns*
|
||||
---------
|
||||
credentials: dict
|
||||
The credentials used by the bot.
|
||||
"""
|
||||
with open("credentials.txt", "r", encoding="utf-8") as file_pointer:
|
||||
data = sanitize(file_pointer.read())
|
||||
|
||||
credentials = {}
|
||||
|
||||
credentials["token"] = data["bot token"]
|
||||
credentials["wordnik_key"] = data["wordnik api key"]
|
||||
credentials["mongo_db_user"] = data["mongodb user"]
|
||||
credentials["mongo_db_password"] = data["mongodb password"]
|
||||
credentials["wolfram_alpha_key"] = data["wolframalpha appid"]
|
||||
credentials["radarr_key"] = data["radarr api key"]
|
||||
credentials["sonarr_key"] = data["sonarr api key"]
|
||||
credentials["qbittorrent_username"] = data["qbittorrent username"]
|
||||
credentials["qbittorrent_password"] = data["qbittorrent password"]
|
||||
|
||||
return credentials
|
||||
|
||||
def long_strings():
|
||||
"""
|
||||
Get the data from gwendolyn/resources/long_strings.json.
|
||||
|
||||
*Returns*
|
||||
---------
|
||||
data: dict
|
||||
The long strings and their keys.
|
||||
"""
|
||||
long_strings_path = "gwendolyn/resources/long_strings.json"
|
||||
with open(long_strings_path, "r", encoding="utf-8") as file_pointer:
|
||||
data = json.load(file_pointer)
|
||||
|
||||
return data
|
||||
|
||||
def log(messages, channel: str = "", level: int = 20):
|
||||
"""
|
||||
Log something in Gwendolyn's logs.
|
||||
|
Reference in New Issue
Block a user