diff --git a/.env.example b/.env.example index 3af33e6..45df895 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,4 @@ +DB_PATH=data/database.sqlite3 MATRIX_HOMESERVER_URL=https://matrix.org MATRIX_FULL_USER_ID=@fckidiots:matrix.org MATRIX_PASSWORD=... diff --git a/.gitignore b/.gitignore index ee3b495..38cd9a8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ __pycache__/ /.env +/data/ +!/data/.keep diff --git a/Dockerfile b/Dockerfile index 4648dc4..5914a9f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ FROM ubuntu:22.10 -RUN mkdir -p /app/mirrortea/ +RUN mkdir -p /app/data/ /app/mirrortea/ WORKDIR /app RUN apt-get update --yes RUN apt-get install --yes python3 python3-pip diff --git a/docker-compose.yml b/docker-compose.yml index 132238e..cad0765 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,4 +5,5 @@ services: build: . env_file: '.env' volumes: - - './mirrortea:/app/mirrortea/' + - './data/:/app/data/' + - './mirrortea/:/app/mirrortea/' diff --git a/mirrortea/__main__.py b/mirrortea/__main__.py index 81a1885..223a4b0 100644 --- a/mirrortea/__main__.py +++ b/mirrortea/__main__.py @@ -1,5 +1,6 @@ import asyncio import os +import sqlite3 import sys import aiogram as telegram @@ -7,6 +8,7 @@ import nio as matrix def main(): config = Config( + db_path=os.environ['DB_PATH'], matrix_homeserver_url=os.environ['MATRIX_HOMESERVER_URL'], matrix_full_user_id=os.environ['MATRIX_FULL_USER_ID'], matrix_password=os.environ['MATRIX_PASSWORD'], @@ -17,6 +19,7 @@ def main(): class Config: def __init__(self, **kwargs): + self.db_path = kwargs['db_path'] self.matrix_homeserver_url = kwargs['matrix_homeserver_url'] self.matrix_full_user_id = kwargs['matrix_full_user_id'] self.matrix_password = kwargs['matrix_password'] @@ -25,6 +28,7 @@ class Config: class Application: def __init__(self, config): self.config = config + self.sqlite_adapter = SqliteAdapter(config.db_path) self.matrix_loop = MatrixLoop( self, config.matrix_homeserver_url, @@ -79,5 +83,11 @@ class TelegramLoop: async def on_message(self, msg): print(msg, file=sys.stderr) +class SqliteAdapter: + def __init__(self, app, path): + self.app = app + self.path = path + self.conn = sqlite3.connect(path) + if __name__ == '__main__': main()