from analysis import log_analyzer as la settings = la.load_settings("neocart.json") client = settings.source logs = client.list() id_urls = {str(x['@id']): x['file_url'] for x in logs} log_ids=['20351/playerid1430317168972.gpx','20351/playerid1430317188358.gpx'] urls = [id_urls[i] for i in log_ids] tmpdir = client.download_files(urls) import os store = la.run_analysis([p.path for p in os.scandir(tmpdir.name)], settings, la.LOADERS) import json print(json.dumps(store.serializable(), indent=1)) from analysis.analyzers import KMLRender, ActivityMapperRender RENDERERS = { # TODO "KMLRender": KMLRender, "ActivityMapper": ActivityMapperRender, } render = RENDERERS[settings.render[0]]() files = render.render(store.get_all()) DATA_PATH = "/app/data/results/" import uuid uid = str(uuid.uuid4()) results = [] os.mkdir(os.path.join(DATA_PATH, uid)) import shutil for file in files: try: head, tail = os.path.split(file) target = os.path.join(DATA_PATH, uid, tail) shutil.move(file, target) results.append(target) except FileNotFoundError as e: log.exception(e) tmpdir.cleanup()