social media crossposting tool. 3rd time's the charm
mastodon
misskey
crossposting
bluesky
1from pathlib import Path
2
3from database.migrations import DatabaseMigrator
4from util.util import LOGGER
5
6
7def main(data: Path):
8 if not data.exists():
9 data.mkdir(parents=True)
10
11 settings = data.joinpath("settings.json")
12 database = data.joinpath("db.sqlite")
13
14 if not settings.exists():
15 LOGGER.info("First launch detected! Creating %s and exiting!", settings)
16 return 0
17
18 LOGGER.info("Loading settings...")
19 # TODO
20
21 migrator = DatabaseMigrator(database, Path("./migrations"))
22 try:
23 migrator.migrate()
24 except Exception:
25 LOGGER.exception("Failed to migrate database!")
26
27
28if __name__ == "__main__":
29 main(Path("./data"))