social media crossposting tool. 3rd time's the charm
mastodon misskey crossposting bluesky

more envvars

zenfyr.dev 1bf4ab28 793b1fd8

verified
Changed files
+19 -20
atproto
+2 -2
atproto/identity.py
···
handle_resolver = HandleResolver()
did_resolver = DidResolver(env.PLC_HOST)
-
did_cache = Path(env.CACHE_DIR).joinpath('did.cache')
-
handle_cache = Path(env.CACHE_DIR).joinpath('handle.cache')
+
did_cache = env.CACHE_DIR.joinpath('did.cache')
+
handle_cache = env.CACHE_DIR.joinpath('handle.cache')
did_resolver.load_cache(did_cache)
handle_resolver.load_cache(handle_cache)
+9 -3
env.py
···
import os
+
from pathlib import Path
DEV = bool(os.environ.get("DEV")) or False
-
DATA_DIR = os.environ.get("DATA_DIR") or "./data"
-
CACHE_DIR = os.environ.get("CACHE_DIR") or "./data/cache"
-
MIGRATIONS_DIR = os.environ.get("MIGRATIONS_DIR") or "./migrations"
+
+
DATA_DIR = Path(os.environ.get("DATA_DIR") or "./data")
+
CACHE_DIR = Path(os.environ.get("CACHE_DIR") or DATA_DIR.joinpath("cache"))
+
SETTINGS_DIR = Path(os.environ.get("SETTINGS_DIR") or DATA_DIR.joinpath("settings.json"))
+
DATABASE_DIR = Path(os.environ.get("DATABASE_DIR") or DATA_DIR.joinpath("data.db"))
+
+
MIGRATIONS_DIR = Path(os.environ.get("MIGRATIONS_DIR") or "./migrations")
+
PLC_HOST = os.environ.get("PLC_HOST") or "https://plc.directory"
+8 -15
main.py
···
def main() -> None:
-
data = Path(env.DATA_DIR)
-
-
if not data.exists():
-
data.mkdir(parents=True)
-
-
settings_path = data.joinpath("settings.json")
-
database_path = data.joinpath("db.sqlite")
+
if not env.DATA_DIR.exists():
+
env.DATA_DIR.mkdir(parents=True)
-
if not settings_path.exists():
-
LOGGER.info("First launch detected! Creating %s and exiting!", settings_path)
+
if not env.SETTINGS_DIR.exists():
+
LOGGER.info("First launch detected! Creating %s and exiting!", env.SETTINGS_DIR)
return
-
migrator = DatabaseMigrator(database_path, Path(env.MIGRATIONS_DIR))
+
migrator = DatabaseMigrator(env.DATABASE_DIR, env.MIGRATIONS_DIR)
try:
migrator.migrate()
except Exception:
···
finally:
migrator.close()
-
db_pool = DatabasePool(database_path)
+
db_pool = DatabasePool(env.DATABASE_DIR)
LOGGER.info("Bootstrapping registries...")
bootstrap()
LOGGER.info("Loading settings...")
-
with open(settings_path) as f:
+
with open(env.SETTINGS_DIR) as f:
settings = json.load(f)
read_env(settings)
···
raise KeyError("No `outputs` spicified in settings!")
input = create_input_service(db_pool, settings["input"])
-
outputs = [
-
create_output_service(db_pool, data) for data in settings["outputs"]
-
]
+
outputs = [create_output_service(db_pool, data) for data in settings["outputs"]]
LOGGER.info("Starting task worker...")