annotate astronomical_archives.py @ 0:0ddfc343f9f9 draft

planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
author astroteam
date Mon, 04 Sep 2023 14:20:34 +0000
parents
children 667fc28d803c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1 import json
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
2 import os
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
3 import sys
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
4 import urllib
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
5 from urllib import request
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
6
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
7 import pyvo
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
8 from pyvo import DALAccessError, DALQueryError, DALServiceError
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
9 from pyvo import registry
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
10
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
11 MAX_ALLOWED_ENTRIES = 100
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
12 MAX_REGISTRIES_TO_SEARCH = 100
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
13
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
14
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
15 class Service:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
16 # https://pyvo.readthedocs.io/en/latest/api/pyvo.registry.Servicetype.html
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
17
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
18 services = {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
19 'TAP': 'tap',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
20 'SIA': 'sia',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
21 'SIA2': 'sia2',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
22 'SPECTRUM': 'spectrum',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
23 'SCS': 'scs',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
24 'LINE': 'line'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
25 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
26
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
27 supported_services = {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
28 'TAP': 'tap'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
29 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
30
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
31 def __init__(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
32 pass
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
33
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
34 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
35 def is_service_supported(service_type) -> bool:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
36 is_supported = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
37
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
38 if service_type not in Service.services.keys():
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
39 is_supported = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
40 elif service_type not in Service.supported_services.keys():
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
41 is_supported = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
42
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
43 return is_supported
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
44
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
45
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
46 class Waveband:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
47 # https://pyvo.readthedocs.io/en/latest/api/pyvo.registry.Waveband.html
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
48 # https://www.ivoa.net/rdf/messenger/2020-08-26/messenger.html
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
49
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
50 wavebands = {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
51 'Extreme UV': 'EUV',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
52 'Gamma ray': 'Gamma-ray',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
53 'Infrared': 'Infrared',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
54 'Millimeter': 'Millimeter',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
55 'Neutrino': 'Neutrino',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
56 'Optical': 'Optical',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
57 'Photon': 'Photon',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
58 'Radio': 'Radio',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
59 'Ultra violet': 'UV',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
60 'X-ray': 'X-ray'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
61 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
62
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
63 def __init__(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
64 pass
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
65
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
66 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
67 def is_waveband_supported(waveband) -> bool:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
68 is_supported = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
69
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
70 if waveband not in Waveband.wavebands.keys():
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
71 is_supported = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
72
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
73 return is_supported
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
74
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
75
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
76 class TapArchive:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
77 # https://www.ivoa.net/documents/ObsCore/20170509/REC-ObsCore-v1.1-20170509
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
78
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
79 service_type = Service.services['TAP']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
80
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
81 def __init__(self,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
82 id=1,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
83 title="Unknown title",
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
84 name="Unknown name",
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
85 access_url=""):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
86
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
87 self.id = id,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
88 self.title = title,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
89 self.name = name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
90 self.access_url = access_url
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
91 self.initialized = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
92 self.archive_service = None
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
93 self.tables = None
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
94
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
95 def get_resources(self,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
96 query,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
97 number_of_results,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
98 url_field='access_url'):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
99
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
100 resource_list_hydrated = []
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
101
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
102 error_message = None
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
103
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
104 if self.initialized:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
105
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
106 try:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
107 raw_resource_list = self.archive_service.search(query)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
108
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
109 for i, resource in enumerate(raw_resource_list):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
110 if i < number_of_results:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
111 resource_list_hydrated.append(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
112 self._get_resource_object(resource))
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
113 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
114 break
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
115
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
116 except DALQueryError:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
117 if self.has_obscore_table():
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
118 error_message = "Error in query -> " + query
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
119 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
120 Logger.ACTION_ERROR,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
121 Logger.ACTION_TYPE_DOWNLOAD,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
122 error_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
123 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
124 error_message = "No obscore table in the archive"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
125 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
126 Logger.ACTION_ERROR,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
127 Logger.ACTION_TYPE_DOWNLOAD,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
128 error_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
129
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
130 except DALServiceError:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
131 error_message = "Error communicating with the service"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
132 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
133 Logger.ACTION_ERROR,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
134 Logger.ACTION_TYPE_DOWNLOAD,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
135 error_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
136
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
137 except Exception:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
138 error_message = "Unknow error while querying the service"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
139 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
140 Logger.ACTION_ERROR,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
141 Logger.ACTION_TYPE_DOWNLOAD,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
142 error_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
143
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
144 return resource_list_hydrated, error_message
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
145
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
146 def _get_resource_object(self, resource):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
147 resource_hydrated = {}
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
148
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
149 for key, value in resource.items():
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
150 resource_hydrated[key] = value
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
151
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
152 return resource_hydrated
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
153
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
154 def initialize(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
155 error_message = None
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
156
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
157 try:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
158 self._get_service()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
159
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
160 if self.archive_service:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
161 self._set_archive_tables()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
162 self.initialized = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
163
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
164 except DALAccessError:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
165 error_message = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
166 "A connection to the service could not be established"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
167 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
168 Logger.ACTION_ERROR,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
169 Logger.ACTION_TYPE_ARCHIVE_CONNECTION,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
170 error_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
171
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
172 except Exception:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
173 error_message = "Unknow error while initializing TAP service"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
174 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
175 Logger.ACTION_ERROR,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
176 Logger.ACTION_TYPE_ARCHIVE_CONNECTION,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
177 error_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
178
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
179 return self.initialized, error_message
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
180
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
181 def _get_service(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
182 if self.access_url:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
183 self.archive_service = pyvo.dal.TAPService(self.access_url)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
184
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
185 def _set_archive_tables(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
186
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
187 self.tables = []
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
188
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
189 for table in self.archive_service.tables:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
190 archive_table = {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
191 'name': table.name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
192 'type': table.type,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
193 'fields': None
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
194 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
195
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
196 fields = []
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
197
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
198 for table_field in table.columns:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
199 field = {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
200 'name': table_field.name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
201 'description': table_field.description,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
202 'unit': table_field.unit,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
203 'datatype': table_field.datatype.content
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
204 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
205
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
206 fields.append(field)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
207
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
208 archive_table['fields'] = fields
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
209
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
210 self.tables.append(archive_table)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
211
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
212 def _is_query_valid(self, query) -> bool:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
213 is_valid = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
214
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
215 attribute_from = 'from'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
216 attribute_where = 'where'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
217
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
218 idx_from = query.index(attribute_from)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
219 idx_where = query.index(attribute_where)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
220
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
221 table_name = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
222
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
223 for idx in range(idx_from + len('from') + 1, idx_where):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
224 table_name = table_name + query[idx]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
225
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
226 if not next(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
227 (item for item in self.tables if
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
228 item["name"] == table_name),
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
229 False):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
230
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
231 is_valid = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
232
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
233 return is_valid
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
234
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
235 def has_obscore_table(self) -> bool:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
236 has_obscore_table = self._has_table("ivoa.obscore")
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
237
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
238 return has_obscore_table
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
239
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
240 def _has_table(self, table_name) -> bool:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
241 _has_table = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
242
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
243 _has_table = next(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
244 (item for item in self.tables if item["name"] == table_name),
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
245 False)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
246
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
247 return _has_table
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
248
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
249 def get_archive_name(self, archive_type):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
250 try:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
251 if archive_type == 'registry':
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
252 name = str(self.title).strip("',()")
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
253 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
254 name = self.access_url
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
255 except Exception:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
256 name = 'Unknown archive title'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
257
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
258 return name
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
259
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
260
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
261 class RegistrySearchParameters:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
262
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
263 def __init__(self, keyword=None, waveband=None, service_type=None):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
264 self.keyword = keyword
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
265 self.waveband = waveband
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
266 self.service_type = service_type
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
267
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
268 def get_parameters(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
269
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
270 parameters = {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
271 'keywords': '',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
272 'waveband': '',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
273 'service_type': ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
274 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
275
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
276 if self.keyword:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
277 parameters['keywords'] = self.keyword
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
278
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
279 if Waveband.is_waveband_supported(self.waveband):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
280 parameters['waveband'] = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
281 Waveband.wavebands[self.waveband]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
282
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
283 if Service.is_service_supported(self.service_type):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
284 parameters['service_type'] = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
285 Service.services[self.service_type]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
286 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
287 parameters['service_type'] = Service.services['TAP']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
288
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
289 return parameters
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
290
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
291
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
292 class Registry:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
293
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
294 def __init__(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
295 pass
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
296
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
297 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
298 def search_registries(rsp: RegistrySearchParameters,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
299 number_of_registries):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
300
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
301 parameters = rsp.get_parameters()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
302
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
303 keywords = parameters['keywords']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
304 waveband = parameters['waveband']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
305 service_type = parameters['service_type']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
306
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
307 if not waveband:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
308 registry_list = registry.search(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
309 keywords=keywords,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
310 servicetype=service_type)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
311 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
312 registry_list = registry.search(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
313 keywords=keywords,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
314 waveband=waveband,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
315 servicetype=service_type)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
316
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
317 if registry_list:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
318 registry_list = Registry._get_registries_from_list(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
319 registry_list,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
320 number_of_registries)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
321
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
322 return registry_list
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
323
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
324 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
325 def _get_registries_from_list(registry_list, number_of_registries):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
326
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
327 archive_list = []
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
328
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
329 for i, ivoa_registry in enumerate(registry_list):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
330 if i < number_of_registries:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
331 archive = TapArchive(ivoa_registry.standard_id,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
332 ivoa_registry.res_title,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
333 ivoa_registry.short_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
334 ivoa_registry.access_url)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
335
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
336 archive_list.append(archive)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
337
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
338 return archive_list
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
339
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
340
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
341 class TapQuery:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
342
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
343 def __init__(self, query):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
344 self.raw_query = query
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
345
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
346 def get_query(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
347 return urllib.parse.unquote(self.raw_query).replace("+", " ")
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
348
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
349
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
350 class BaseADQLQuery:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
351
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
352 def __init__(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
353 pass
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
354
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
355 def _get_order_by_clause(self, order_type):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
356 order_by_clause = 'ORDER BY ' + order_type
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
357
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
358 return order_by_clause
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
359
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
360 def _get_where_clause(self, parameters):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
361 where_clause = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
362 is_first_statement = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
363
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
364 for key, value in parameters.items():
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
365
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
366 if value != '':
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
367 statement = str(key) + ' = ' + '\'' + str(value) + '\' '
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
368
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
369 if is_first_statement:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
370 is_first_statement = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
371 where_clause += 'WHERE '
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
372 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
373 statement = 'AND ' + statement
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
374
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
375 where_clause += statement
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
376
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
377 return where_clause
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
378
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
379
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
380 class ToolRunner:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
381
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
382 def __init__(self,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
383 run_parameters,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
384 output,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
385 output_csv,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
386 output_html,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
387 output_basic_html,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
388 output_error):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
389
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
390 self._raw_parameters_path = run_parameters
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
391 self._json_parameters = json.load(open(run_parameters, "r"))
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
392 self._archive_type = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
393 self._query_type = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
394 self._archives = []
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
395 self._adql_query = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
396 self._services_access_url = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
397 self._url_field = 'access_url'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
398 self._number_of_files = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
399 self._is_initialised = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
400
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
401 self._csv_file = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
402 self._image_file = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
403 self._html_file = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
404 self._basic_html_file = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
405
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
406 self._output = output
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
407 self._output_csv = output_csv
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
408 self._output_html = output_html
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
409 self._output_basic_html = output_basic_html
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
410 self._output_error = output_error
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
411
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
412 self._set_run_main_parameters()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
413 self._is_initialised, error_message = self._set_archive()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
414
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
415 if self._is_initialised and error_message is None:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
416 self._set_query()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
417 self._set_output()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
418
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
419 def _set_run_main_parameters(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
420
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
421 qs = "query_section"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
422 qsl = "query_selection"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
423
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
424 self._archive_type = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
425 self._json_parameters['archive_selection']['archive_type']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
426 self._query_type = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
427 self._json_parameters[qs][qsl]['query_type']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
428
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
429 def _set_archive(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
430
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
431 error_message = None
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
432
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
433 if self._archive_type == 'archive':
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
434 self._service_access_url =\
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
435 self._json_parameters['archive_selection']['archive']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
436
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
437 self._archives.append(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
438 TapArchive(access_url=self._service_access_url))
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
439
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
440 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
441 keyword = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
442 self._json_parameters['archive_selection']['keyword']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
443 waveband = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
444 self._json_parameters['archive_selection']['wavebands']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
445 service_type = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
446 self._json_parameters['archive_selection']['service_type']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
447
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
448 rsp = RegistrySearchParameters(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
449 keyword=keyword,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
450 waveband=waveband,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
451 service_type=service_type)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
452
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
453 archive_list = Registry.search_registries(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
454 rsp,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
455 MAX_REGISTRIES_TO_SEARCH)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
456
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
457 if len(archive_list) >= 1:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
458 self._archives = archive_list
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
459 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
460 error_message = "no archive matching search parameters"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
461 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
462 Logger.ACTION_ERROR,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
463 Logger.ACTION_TYPE_ARCHIVE_CONNECTION,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
464 error_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
465
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
466 if error_message is None:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
467
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
468 self._archives[:] = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
469 [archive for archive in self._archives if
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
470 archive.initialize()[0]]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
471
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
472 if len(self._archives) >= 1:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
473 return True, None
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
474 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
475 return False, \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
476 "no archive matching search" \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
477 " parameters could be initialized"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
478
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
479 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
480 return False, error_message
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
481
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
482 def _set_query(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
483
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
484 qs = 'query_section'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
485 qsl = 'query_selection'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
486
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
487 if self._query_type == 'obscore_query':
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
488
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
489 dataproduct_type = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
490 self._json_parameters[qs][qsl]['dataproduct_type']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
491 obs_collection = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
492 self._json_parameters[qs][qsl]['obs_collection']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
493 obs_title = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
494 self._json_parameters[qs][qsl]['obs_title']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
495 obs_id = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
496 self._json_parameters[qs][qsl]['obs_id']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
497 facility_name = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
498 self._json_parameters[qs][qsl]['facility_name']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
499 instrument_name = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
500 self._json_parameters[qs][qsl]['instrument_name']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
501 em_min = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
502 self._json_parameters[qs][qsl]['em_min']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
503 em_max = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
504 self._json_parameters[qs][qsl]['em_max']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
505 target_name = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
506 self._json_parameters[qs][qsl]['target_name']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
507 obs_publisher_id = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
508 self._json_parameters[qs][qsl]['obs_publisher_id']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
509 s_fov = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
510 self._json_parameters[qs][qsl]['s_fov']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
511 calibration_level = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
512 self._json_parameters[qs][qsl]['calibration_level']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
513 t_min = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
514 self._json_parameters[qs][qsl]['t_min']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
515 t_max = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
516 self._json_parameters[qs][qsl]['t_max']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
517 order_by = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
518 self._json_parameters[qs][qsl]['order_by']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
519
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
520 obscore_query_object = ADQLObscoreQuery(dataproduct_type,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
521 obs_collection,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
522 obs_title,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
523 obs_id,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
524 facility_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
525 instrument_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
526 em_min,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
527 em_max,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
528 target_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
529 obs_publisher_id,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
530 s_fov,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
531 calibration_level,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
532 t_min,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
533 t_max,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
534 order_by)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
535
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
536 self._adql_query = obscore_query_object.get_query()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
537
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
538 elif self._query_type == 'raw_query':
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
539
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
540 wc = 'where_clause'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
541
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
542 tap_table = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
543 self._json_parameters[qs][qsl]['table']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
544
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
545 where_field = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
546 self._json_parameters[qs][qsl][wc]['where_field']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
547 where_condition = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
548 self._json_parameters[qs][qsl][wc]['where_condition']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
549
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
550 self._url_field = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
551 self._json_parameters[qs][qsl]['url_field']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
552
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
553 self._adql_query = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
554 ADQLTapQuery().get_query(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
555 tap_table,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
556 where_field,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
557 where_condition)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
558 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
559 self._adql_query = ADQLObscoreQuery.base_query
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
560
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
561 def _set_output(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
562 self._number_of_files = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
563 int(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
564 self._json_parameters['output_section']['number_of_files']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
565 )
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
566
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
567 if self._number_of_files < 1:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
568 self._number_of_files = 1
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
569 elif self._number_of_files > 100:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
570 self._number_of_files = MAX_ALLOWED_ENTRIES
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
571
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
572 output_selection = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
573 self._json_parameters['output_section']['output_selection']
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
574
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
575 if output_selection is not None:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
576 if 'c' in output_selection:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
577 self._csv_file = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
578 if 'i' in output_selection:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
579 self._image_file = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
580 if 'h' in output_selection:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
581 self._html_file = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
582 if 'b' in output_selection:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
583 self._basic_html_file = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
584
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
585 def _validate_json_parameters(self, json_parameters):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
586 self._json_parameters = json.load(open(json_parameters, "r"))
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
587
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
588 def run(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
589 if self._is_initialised:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
590 error_message = None
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
591 file_url = []
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
592
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
593 archive_name = self._archives[0].get_archive_name(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
594 self._archive_type)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
595
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
596 for archive in self._archives:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
597 _file_url, error_message = archive.get_resources(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
598 self._adql_query,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
599 self._number_of_files,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
600 self._url_field)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
601
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
602 file_url.extend(_file_url)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
603
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
604 if len(file_url) >= int(self._number_of_files):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
605 file_url = file_url[:int(self._number_of_files)]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
606 break
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
607
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
608 if file_url:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
609
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
610 if self._csv_file:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
611 FileHandler.write_urls_to_output(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
612 file_url,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
613 self._output_csv,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
614 self._url_field)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
615
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
616 if self._image_file:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
617
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
618 try:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
619 fits_file = FileHandler.download_file_from_url(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
620 file_url[0][self._url_field])
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
621
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
622 FileHandler.write_file_to_output(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
623 fits_file,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
624 self._output, "wb")
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
625
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
626 log_message = "from url " +\
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
627 file_url[0][self._url_field]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
628
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
629 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
630 Logger.ACTION_SUCCESS,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
631 Logger.ACTION_TYPE_DOWNLOAD,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
632 log_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
633
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
634 except Exception:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
635 error_message = "from url " + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
636 file_url[0][self._url_field]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
637
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
638 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
639 Logger.ACTION_ERROR,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
640 Logger.ACTION_TYPE_DOWNLOAD,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
641 error_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
642
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
643 for i, url in enumerate(file_url[1:], start=1):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
644 try:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
645 fits_file = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
646 FileHandler.download_file_from_url(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
647 url[self._url_field])
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
648
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
649 FileHandler.write_file_to_subdir(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
650 fits_file,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
651 FileHandler.get_file_name_from_url(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
652 url[self._url_field]))
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
653
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
654 log_message = "from url " + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
655 url[self._url_field]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
656
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
657 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
658 Logger.ACTION_SUCCESS,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
659 Logger.ACTION_TYPE_DOWNLOAD,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
660 log_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
661
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
662 except Exception:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
663 error_message = "from url " + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
664 url[self._url_field]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
665
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
666 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
667 Logger.ACTION_ERROR,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
668 Logger.ACTION_TYPE_DOWNLOAD,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
669 error_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
670
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
671 if self._html_file:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
672 html_file = OutputHandler.generate_html_output(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
673 file_url,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
674 archive_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
675 self._adql_query)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
676
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
677 FileHandler.write_file_to_output(html_file,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
678 self._output_html)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
679
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
680 if self._basic_html_file:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
681 html_file = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
682 OutputHandler.generate_basic_html_output(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
683 file_url,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
684 archive_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
685 self._adql_query)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
686
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
687 FileHandler.write_file_to_output(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
688 html_file,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
689 self._output_basic_html)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
690
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
691 summary_file = Logger.create_log_file(archive_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
692 self._adql_query)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
693 summary_file += "\n Tool run executed with success"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
694
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
695 FileHandler.write_file_to_output(summary_file,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
696 self._output_error)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
697
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
698 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
699
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
700 summary_file = Logger.create_log_file(archive_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
701 self._adql_query)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
702
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
703 if error_message is None:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
704 summary_file += \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
705 "\n No resources matching parameters found"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
706 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
707 summary_file += error_message
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
708
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
709 FileHandler.write_file_to_output(summary_file,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
710 self._output_error)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
711
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
712 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
713 summary_file = Logger.create_log_file("Archive",
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
714 self._adql_query)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
715
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
716 summary_file += "Unable to initialize archive"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
717
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
718 FileHandler.write_file_to_output(summary_file,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
719 self._output_error)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
720
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
721
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
722 class ADQLObscoreQuery(BaseADQLQuery):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
723 order_by_field = {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
724 'size': 'access_estsize',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
725 'collection': 'obs_collection',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
726 'object': 'target_name'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
727 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
728
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
729 base_query = 'SELECT TOP ' + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
730 str(MAX_ALLOWED_ENTRIES) + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
731 ' * FROM ivoa.obscore '
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
732
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
733 def __init__(self,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
734 dataproduct_type,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
735 obs_collection,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
736 obs_title,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
737 obs_id,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
738 facility_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
739 instrument_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
740 em_min,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
741 em_max,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
742 target_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
743 obs_publisher_id,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
744 s_fov,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
745 calibration_level,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
746 t_min,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
747 t_max,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
748 order_by):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
749
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
750 super().__init__()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
751
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
752 if calibration_level == 'none':
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
753 calibration_level = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
754
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
755 if order_by == 'none':
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
756 order_by = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
757
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
758 if t_min == 'None' or t_min is None:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
759 t_min = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
760
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
761 if t_max == 'None' or t_max is None:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
762 t_max = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
763
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
764 if em_min == 'None' or em_min is None:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
765 em_min = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
766
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
767 if em_max == 'None' or em_max is None:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
768 em_max = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
769
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
770 if dataproduct_type == 'none' or dataproduct_type is None:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
771 dataproduct_type = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
772
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
773 self.parameters = {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
774 'dataproduct_type': dataproduct_type,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
775 'obs_collection': obs_collection,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
776 'obs_title': obs_title,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
777 'obs_id': obs_id,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
778 'facility_name': facility_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
779 'instrument_name': instrument_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
780 'em_min': em_min,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
781 'em_max': em_max,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
782 'target_name': target_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
783 'obs_publisher_id': obs_publisher_id,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
784 's_fov': s_fov,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
785 'calibration_level': calibration_level,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
786 't_min': t_min,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
787 't_max': t_max
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
788 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
789
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
790 self.order_by = order_by
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
791
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
792 def get_query(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
793 return ADQLObscoreQuery.base_query + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
794 self.get_where_statement() + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
795 self.get_order_by_statement()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
796
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
797 def get_order_by_statement(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
798 if self.order_by != '':
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
799 return self._get_order_by_clause(self.order_by)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
800 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
801 return ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
802
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
803 def _get_order_by_clause(self, order_type):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
804
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
805 obscore_order_type = ADQLObscoreQuery.order_by_field[order_type]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
806
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
807 return super()._get_order_by_clause(obscore_order_type)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
808
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
809 def get_where_statement(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
810 return self._get_where_clause(self.parameters)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
811
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
812 def _get_where_clause(self, parameters):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
813 return super()._get_where_clause(parameters)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
814
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
815
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
816 class ADQLTapQuery(BaseADQLQuery):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
817 base_query = 'SELECT TOP '+str(MAX_ALLOWED_ENTRIES)+' * FROM '
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
818
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
819 def __init__(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
820 super().__init__()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
821
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
822 def get_order_by_clause(self, order_type):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
823 return super()._get_order_by_clause(order_type)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
824
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
825 def get_query(self, table, where_field, where_condition):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
826 if where_field != '' and where_condition != '':
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
827 return ADQLTapQuery.base_query + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
828 str(table) + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
829 ' WHERE ' + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
830 str(where_field) + ' = ' + '\'' + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
831 str(where_condition) + '\''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
832 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
833 return ADQLTapQuery.base_query + str(table)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
834
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
835
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
836 class HTMLReport:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
837 _html_report_base_header = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
838 _html_report_base_body = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
839 _html_report_base_footer = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
840 _html_report_base_script = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
841
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
842 def __init__(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
843 pass
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
844
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
845
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
846 class OutputHandler:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
847
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
848 def __init__(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
849 pass
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
850
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
851 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
852 def generate_html_output(urls_data, archive_name, adql_query):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
853 return OutputHandler.html_header + \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
854 OutputHandler.generate_html_content(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
855 urls_data,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
856 archive_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
857 adql_query,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
858 div_attr='class="title"',
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
859 table_attr='class="fl-table"')
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
860
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
861 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
862 def generate_basic_html_output(urls_data,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
863 archive_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
864 adql_query, ):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
865 return OutputHandler.generate_html_content(urls_data,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
866 archive_name,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
867 adql_query)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
868
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
869 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
870 def generate_html_content(urls_data, archive_name, adql_query,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
871 div_attr="", table_attr="border='1'"):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
872 html_file = \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
873 f"""
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
874 <div {div_attr}>
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
875 <h2>Resources Preview archive:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
876 <span>
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
877 {archive_name}
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
878 </span>
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
879 </h2>
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
880 <span>ADQL query : {adql_query}</span>
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
881 </div>"""
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
882
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
883 html_file += f'<table {table_attr}><thead><tr>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
884
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
885 for key in Utils.collect_resource_keys(urls_data):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
886 html_file += '<th>' + str(key) + '</th>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
887
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
888 html_file += '</thead></tr><tbody>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
889
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
890 for resource in urls_data:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
891 html_file += '<tr>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
892
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
893 for key, value in resource.items():
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
894 html_file += f'<td>{value}</td>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
895
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
896 html_file += '<td>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
897 for preview_key in \
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
898 ['preview', 'preview_url', 'postcard_url']:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
899 if preview_key in resource:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
900 html_file += (
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
901 '<details><summary>Preview</summary>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
902 f'<img src="{resource[preview_key]}"/>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
903 '</details>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
904 )
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
905 html_file += '</td>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
906 html_file += '</tr>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
907
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
908 html_file += '</tbody></table>'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
909 return html_file
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
910
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
911 html_header = """ <head><style>
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
912
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
913 details {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
914 padding: 10px;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
915 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
916
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
917 .table-wrapper {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
918 margin: 10px 70px 70px;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
919 box-shadow: 0px 35px 50px rgba( 0, 0, 0, 0.2 );
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
920 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
921
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
922 .fl-table {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
923 border-radius: 5px;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
924 font-size: 12px;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
925 font-weight: normal;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
926 border: none;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
927 border-collapse: collapse;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
928 width: 100%;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
929 max-width: 100%;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
930 white-space: nowrap;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
931 background-color: white;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
932 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
933
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
934 .fl-table td, .fl-table th {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
935 text-align: center;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
936 padding: 8px;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
937 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
938
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
939 .fl-table td {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
940 border: 1px solid #999999;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
941 font-size: 15px;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
942 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
943
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
944 .fl-table thead th {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
945 color: #ffffff;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
946 background: #4FC3A1;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
947 border: 1px solid #999999;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
948 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
949
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
950
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
951 .fl-table thead th:nth-child(odd) {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
952 color: #ffffff;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
953 background: #324960;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
954 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
955
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
956 .fl-table tr:nth-child(even) {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
957 background: #F8F8F8;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
958 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
959
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
960 .title h2 {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
961 text-align: center;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
962 font-size: 22px;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
963 font-weight: 700; color:#202020;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
964 text-transform: uppercase;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
965 word-spacing: 1px; letter-spacing:2px;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
966 margin-bottom: 50px;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
967 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
968
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
969 .title h2 span {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
970 padding-top: 40px;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
971 text-transform: none;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
972 font-size:.80em;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
973 font-weight: bold;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
974 font-family: "Playfair Display","Bookman",serif;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
975 color:#999;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
976 letter-spacing:-0.005em;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
977 word-spacing:1px;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
978 letter-spacing:none;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
979 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
980
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
981 .title h1:before {
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
982 background-color: #dfdfdf;
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
983 }
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
984
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
985 </style></head>"""
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
986
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
987
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
988 class FileHandler:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
989
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
990 def __init__(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
991 pass
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
992
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
993 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
994 def download_file_from_url(file_url):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
995 with request.urlopen(file_url) as response:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
996 fits_file = response.read()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
997
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
998 return fits_file
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
999
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1000 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1001 def write_file_to_output(file, output, write_type="w"):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1002 with open(output, write_type) as file_output:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1003 file_output.write(file)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1004
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1005 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1006 def write_urls_to_output(urls: [], output, access_url="access_url"):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1007 with open(output, "w") as file_output:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1008 for url in urls:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1009 try:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1010 file_output.write(url[access_url] + ',')
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1011 except Exception:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1012 error_message = "url field not found for url"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1013 Logger.create_action_log(
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1014 Logger.ACTION_ERROR,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1015 Logger.ACTION_TYPE_WRITE_URL,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1016 error_message)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1017
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1018 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1019 def write_file_to_subdir(file, index):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1020 dir = os.getcwd()
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1021
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1022 dir += '/fits'
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1023
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1024 upload_dir = os.path.join(dir, str(index) + '.fits')
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1025
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1026 with open(upload_dir, "wb") as file_output:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1027 file_output.write(file)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1028
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1029 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1030 def get_file_name_from_url(url, index=None):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1031 url_parts = url.split('/')
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1032
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1033 file_name = ''
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1034
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1035 try:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1036 if (url_parts[-1]) != '':
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1037 file_name = url_parts[-1]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1038 elif len(url_parts) > 1:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1039 file_name = url_parts[-2]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1040 except Exception:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1041 file_name = 'archive file '
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1042
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1043 return file_name
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1044
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1045
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1046 class Utils:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1047
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1048 def __init__(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1049 pass
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1050
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1051 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1052 def collect_resource_keys(urls_data: list) -> list:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1053 """
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1054 Collect all the keys from the resources,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1055 keeping the order in the order of key appearance in the resources
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1056 """
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1057
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1058 resource_keys = []
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1059 for resource in urls_data:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1060 for key in resource.keys():
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1061 if key not in resource_keys:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1062 resource_keys.append(key)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1063 return resource_keys
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1064
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1065
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1066 class Logger:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1067 _logs = []
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1068
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1069 ACTION_SUCCESS = 1
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1070 ACTION_ERROR = 2
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1071
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1072 ACTION_TYPE = 1
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1073 INFO_TYPE = 2
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1074
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1075 ACTION_TYPE_DOWNLOAD = 1
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1076 ACTION_TYPE_ARCHIVE_CONNECTION = 2
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1077 ACTION_TYPE_WRITE_URL = 3
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1078 ACTION_TYPE_WRITE_FILE = 4
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1079
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1080 def __init__(self):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1081 pass
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1082
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1083 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1084 def create_action_log(outcome, action, message) -> bool:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1085
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1086 is_log_created = False
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1087 log = ""
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1088
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1089 if action == Logger.ACTION_TYPE_DOWNLOAD:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1090 if outcome == Logger.ACTION_SUCCESS:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1091 log += "Success downloading file : " + message
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1092 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1093 log += "Error downloading file : " + message
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1094
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1095 is_log_created = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1096 elif action == Logger.ACTION_TYPE_ARCHIVE_CONNECTION:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1097 if outcome == Logger.ACTION_SUCCESS:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1098 log += "Success connecting to archive : " + message
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1099 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1100 log += "Error connecting to archive : " + message
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1101
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1102 is_log_created = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1103 elif action == Logger.ACTION_TYPE_WRITE_URL:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1104 if outcome == Logger.ACTION_SUCCESS:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1105 log += "Success writing url to file : " + message
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1106 else:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1107 log += "Error writing to file : " + message
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1108
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1109 is_log_created = True
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1110
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1111 if is_log_created:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1112 Logger._insert_log(Logger.ACTION_TYPE, log)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1113
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1114 return is_log_created
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1115
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1116 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1117 def create_info_log(message):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1118 pass
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1119
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1120 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1121 def _insert_log(type, log):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1122 Logger._logs.append(log)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1123
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1124 @staticmethod
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1125 def create_log_file(archive_name, query):
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1126 log_file = ""
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1127
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1128 log_file += "Run summary for archive : " + archive_name + "\n"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1129 log_file += "With query : " + query + "\n"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1130
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1131 for log in Logger._logs:
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1132 log_file += log + "\n"
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1133
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1134 return log_file
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1135
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1136
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1137 if __name__ == "__main__":
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1138 output = sys.argv[1]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1139 output_csv = sys.argv[2]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1140 output_html = sys.argv[3]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1141 output_basic_html = sys.argv[4]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1142 output_error = sys.argv[5]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1143
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1144 inputs = sys.argv[6]
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1145
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1146 tool_runner = ToolRunner(inputs,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1147 output,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1148 output_csv,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1149 output_html,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1150 output_basic_html,
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1151 output_error)
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1152
0ddfc343f9f9 planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools/ commit d68858614f92df46c58724928d918e989d916db0
astroteam
parents:
diff changeset
1153 tool_runner.run()