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"))