from cmath import log from concurrent.futures import thread import sys sys.path.append("../app") import runner import logging logger = logging.getLogger() import json logger.info("Overwriting production values for single use media-fetch") runner.configuration.models.set_db( runner.configuration.SqliteDatabase("media_message_dummy.db"), # chat_db (not needed here) runner.configuration.SqliteDatabase("media_downloads.db") ) runner.configuration.parsed["DOWNLOADS"]["local_storage_path"] = "." coordinator = runner.Coordinator() kwargs = { "worker_download" : runner.DownloadWorker(), "worker_fetch" : runner.FetchWorker(), "worker_upload" : runner.UploadWorker(), "worker_compress" : runner.CompressWorker(), } coordinator.add_workers(**kwargs) coordinator.start() with open("media_urls.json", "r") as f: url_list = json.loads(f.read()) logger.info(f"Found {len(url_list)} media urls") for u in url_list: msg_text = f"<{u}|dummy preview text>" dummy_thread = runner.models.Thread() msg = runner.models.Message(text= msg_text, thread=dummy_thread) coordinator.incoming_request(msg)