|
@@ -0,0 +1,75 @@
|
|
|
+# main imports
|
|
|
+import base64
|
|
|
+import json
|
|
|
+import re
|
|
|
+import argparse
|
|
|
+import sys, os
|
|
|
+import requests
|
|
|
+
|
|
|
+# modules imports
|
|
|
+sys.path.insert(0, '') # trick to enable import of main folder module
|
|
|
+
|
|
|
+import config as cfg
|
|
|
+
|
|
|
+
|
|
|
+def encode_data(data):
|
|
|
+ json_data = json.dumps(data)
|
|
|
+ link_data = base64.b64encode(str(json_data).encode('utf-8'))
|
|
|
+
|
|
|
+ return link_data
|
|
|
+
|
|
|
+
|
|
|
+def main():
|
|
|
+ # getting all scenes available name
|
|
|
+ scenes_list_url = cfg.default_host + '/api/listScenes'
|
|
|
+ res = requests.get(scenes_list_url)
|
|
|
+ data = json.loads(res.content)
|
|
|
+ scenes_name = data['data']
|
|
|
+
|
|
|
+ # getting all params
|
|
|
+ parser = argparse.ArgumentParser(description="Compute links for scenes of experiment")
|
|
|
+
|
|
|
+ parser.add_argument('--host', type=str, help='hostname choosen', default=cfg.default_host)
|
|
|
+ parser.add_argument('--experiment', type=str, help="experiment name to use", choices=cfg.experiment_list, required=True)
|
|
|
+ parser.add_argument('--experimentId', type=str, help="experiment id to use")
|
|
|
+ parser.add_argument('--scenes', type=str, help="scene name list from %s" % scenes_name)
|
|
|
+ parser.add_argument('--output', type=str, help="output filename", required=True)
|
|
|
+
|
|
|
+ args = parser.parse_args()
|
|
|
+
|
|
|
+ p_host = args.host
|
|
|
+ p_experiment = args.experiment
|
|
|
+ p_experiment_id = args.experimentId
|
|
|
+ p_scenes = args.scenes.split(',')
|
|
|
+ p_output = args.output
|
|
|
+
|
|
|
+ # generate link for each scene
|
|
|
+
|
|
|
+ links = []
|
|
|
+ for scene in p_scenes:
|
|
|
+
|
|
|
+ data = {
|
|
|
+ 'hostConfig': p_host,
|
|
|
+ 'experimentId': p_experiment_id,
|
|
|
+ 'experimentName': p_experiment,
|
|
|
+ 'sceneName': scene
|
|
|
+ }
|
|
|
+
|
|
|
+ generated_link_info = encode_data(data)
|
|
|
+ generated_link = p_host + '/#/?q=' + bytes(generated_link_info).decode("utf-8")
|
|
|
+ links.append(generated_link)
|
|
|
+
|
|
|
+ filename_path = os.path.join(cfg.links_data_folder, p_output)
|
|
|
+
|
|
|
+ if not os.path.exists(cfg.links_data_folder):
|
|
|
+ os.makedirs(cfg.links_data_folder)
|
|
|
+
|
|
|
+ with open(filename_path, 'w') as f:
|
|
|
+
|
|
|
+ for link in links:
|
|
|
+ f.write(link + '\n')
|
|
|
+
|
|
|
+ print("Links are saved into.. %s" % filename_path)
|
|
|
+
|
|
|
+if __name__== "__main__":
|
|
|
+ main()
|