52 lines
1.3 KiB
Python
52 lines
1.3 KiB
Python
from os import environ
|
|
|
|
from loguru import logger
|
|
from pathlib import Path
|
|
|
|
# from sqlalchemy import create_engine
|
|
from .lib.utils import EveryRunRotator
|
|
from .services.wiki_masters import WikiMastersClient
|
|
from dotenv import load_dotenv
|
|
|
|
|
|
class App:
|
|
def __init__(self):
|
|
self.engine = None
|
|
|
|
self.setup()
|
|
|
|
def setup(self):
|
|
logs_folder = Path(__file__).parents[1].joinpath("logs")
|
|
|
|
logs_folder.mkdir(exist_ok=True)
|
|
logger.debug("log file can be found in: {}", logs_folder.as_posix())
|
|
|
|
logger.add(
|
|
logs_folder.joinpath("app.log"), retention=4, rotation=EveryRunRotator()
|
|
)
|
|
logger.add(
|
|
logs_folder.joinpath("app.log.json"),
|
|
serialize=True,
|
|
rotation=EveryRunRotator(),
|
|
retention=1,
|
|
compression="gz",
|
|
)
|
|
|
|
db_folder = Path(__file__).parents[1].joinpath("data")
|
|
db_folder.mkdir(exist_ok=True)
|
|
|
|
# self.engine = create_engine(f"sqlite+pysqlite:///{db_folder}/app.db", echo=True)
|
|
|
|
def start(self):
|
|
logger.info("Starting the bot...")
|
|
|
|
load_dotenv()
|
|
|
|
truc = WikiMastersClient()
|
|
truc.login(environ.get("ACCOUNT_EMAIL"), environ.get("ACCOUNT_PASSWORD"))
|
|
|
|
|
|
async def main():
|
|
app = App()
|
|
app.start()
|