mail2telegram/glover.py

48 lines
1.4 KiB
Python
Raw Normal View History

2024-02-22 14:26:21 +00:00
from typing import Union
from configparser import RawConfigParser
def strtobool(val, default=False):
"""Convert a string representation of truth to true (1) or false (0).
True values are 'y', 'yes', 't', 'true', 'on', and '1'; false values
are 'n', 'no', 'f', 'false', 'off', and '0'. Raises ValueError if
'val' is anything else.
"""
if val is None:
return default
val = val.lower()
if val in ("y", "yes", "t", "true", "on", "1"):
return 1
elif val in ("n", "no", "f", "false", "off", "0"):
return 0
else:
print("[Degrade] invalid truth value %r" % (val,))
return default
# [pyrogram]
api_id: int = 0
api_hash: str = ""
# [Basic]
ipv6: Union[bool, str] = "False"
cache_uri: str = "mem://"
# [Imap]
host: str = ""
username: str = ""
password: str = ""
days: int = 3
chat_id: int = 0
config = RawConfigParser()
config.read("config.ini")
api_id = config.getint("pyrogram", "api_id", fallback=api_id)
api_hash = config.get("pyrogram", "api_hash", fallback=api_hash)
ipv6 = strtobool(config.get("basic", "ipv6", fallback=ipv6))
cache_uri = config.get("basic", "cache_uri", fallback=cache_uri)
host = config.get("imap", "host", fallback=host)
username = config.get("imap", "username", fallback=username)
password = config.get("imap", "password", fallback=password)
days = config.getint("imap", "days", fallback=days)
chat_id = config.getint("imap", "chat_id", fallback=chat_id)