eodag 3.8.1__py3-none-any.whl → 3.9.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- eodag/api/core.py +1 -1
- eodag/api/product/drivers/generic.py +5 -1
- eodag/api/product/metadata_mapping.py +109 -8
- eodag/cli.py +36 -4
- eodag/config.py +5 -2
- eodag/plugins/apis/ecmwf.py +3 -1
- eodag/plugins/apis/usgs.py +2 -1
- eodag/plugins/authentication/aws_auth.py +228 -37
- eodag/plugins/authentication/base.py +12 -2
- eodag/plugins/authentication/oauth.py +5 -0
- eodag/plugins/base.py +3 -2
- eodag/plugins/download/aws.py +44 -285
- eodag/plugins/download/base.py +3 -2
- eodag/plugins/download/creodias_s3.py +1 -38
- eodag/plugins/download/http.py +111 -103
- eodag/plugins/download/s3rest.py +3 -1
- eodag/plugins/manager.py +2 -1
- eodag/plugins/search/__init__.py +2 -1
- eodag/plugins/search/base.py +2 -1
- eodag/plugins/search/build_search_result.py +2 -2
- eodag/plugins/search/creodias_s3.py +9 -1
- eodag/plugins/search/qssearch.py +3 -1
- eodag/resources/ext_product_types.json +1 -1
- eodag/resources/product_types.yml +220 -30
- eodag/resources/providers.yml +633 -88
- eodag/resources/stac_provider.yml +5 -2
- eodag/resources/user_conf_template.yml +0 -5
- eodag/rest/core.py +8 -0
- eodag/rest/errors.py +9 -0
- eodag/rest/server.py +8 -0
- eodag/rest/stac.py +8 -0
- eodag/rest/utils/__init__.py +2 -4
- eodag/rest/utils/rfc3339.py +1 -1
- eodag/utils/__init__.py +69 -54
- eodag/utils/dates.py +204 -0
- eodag/utils/s3.py +187 -168
- {eodag-3.8.1.dist-info → eodag-3.9.0.dist-info}/METADATA +4 -3
- {eodag-3.8.1.dist-info → eodag-3.9.0.dist-info}/RECORD +42 -42
- {eodag-3.8.1.dist-info → eodag-3.9.0.dist-info}/entry_points.txt +1 -1
- eodag/utils/rest.py +0 -100
- {eodag-3.8.1.dist-info → eodag-3.9.0.dist-info}/WHEEL +0 -0
- {eodag-3.8.1.dist-info → eodag-3.9.0.dist-info}/licenses/LICENSE +0 -0
- {eodag-3.8.1.dist-info → eodag-3.9.0.dist-info}/top_level.txt +0 -0
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
eodag/__init__.py,sha256=qADIO6H3KR0CMs0qePdJROjSzcGnHaYpv-RFIk18WGQ,1608
|
|
2
|
-
eodag/cli.py,sha256=
|
|
3
|
-
eodag/config.py,sha256
|
|
2
|
+
eodag/cli.py,sha256=NcKPQAjDGOXGgapd_Oy5ByeIfaiOrF2kpBD0WZHnpnM,31605
|
|
3
|
+
eodag/config.py,sha256=-Ub-sAdJRhTQTrK23AZcYANtoZp-xQdB0M_FZorRLVg,48557
|
|
4
4
|
eodag/crunch.py,sha256=fLVAPGVPw31N_DrnFk4gkCpQZLMY8oBhK6NUSYmdr24,1099
|
|
5
5
|
eodag/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
eodag/api/__init__.py,sha256=ytr30NUVmEtmJTsp3QCwkCIhS1nF6UlFCv0vmySHN7g,735
|
|
7
|
-
eodag/api/core.py,sha256=
|
|
7
|
+
eodag/api/core.py,sha256=iBX19BZv2UJrFWZwDvZmG7StKVvlv0RsjmJAqqLTnpQ,109126
|
|
8
8
|
eodag/api/search_result.py,sha256=2Y2W3xDUyainwcyYBQljGRi6oyOqTTspgCgIlNG4kCc,14383
|
|
9
9
|
eodag/api/product/__init__.py,sha256=k5iNHxXX6wDLsUo725W4U_Jz8CVbZTbfE8R9s1YQwKA,2508
|
|
10
10
|
eodag/api/product/_assets.py,sha256=9bWIe_SYvsQO-q_lQFd7SxhUIWv7feze2-wnXOe8hhs,7570
|
|
11
11
|
eodag/api/product/_product.py,sha256=UXCaWUtkAGWVCfF68zWCYDoEUUfxAdC0RGaNLZ3vUQ8,26794
|
|
12
|
-
eodag/api/product/metadata_mapping.py,sha256=
|
|
12
|
+
eodag/api/product/metadata_mapping.py,sha256=vHoUnhgTvAQoL_7oCHzurT0sDzaikjvE-fyHyONXYe4,79221
|
|
13
13
|
eodag/api/product/drivers/__init__.py,sha256=Sy9bGmDhWCAxvxRUf3QGijjQoQvzS1LSUMN34Usq6fM,3357
|
|
14
14
|
eodag/api/product/drivers/base.py,sha256=iPAE5Jx3isxmHHFPP-jysdUylYbsbIq6UejU3qsMROE,4111
|
|
15
|
-
eodag/api/product/drivers/generic.py,sha256=
|
|
15
|
+
eodag/api/product/drivers/generic.py,sha256=obwH8paf2TP7afnjfx4GxSZPSrTs3suTYJWQvebmigY,2207
|
|
16
16
|
eodag/api/product/drivers/sentinel1.py,sha256=xpvhOvVhpuwVihPMo_q79VI67ru-FqKtbRa5kA79D3k,3253
|
|
17
17
|
eodag/api/product/drivers/sentinel2.py,sha256=dMfIrcwF4h8KoyUj94yPUhRiN7FIef4mTzfbkkhLIc8,3124
|
|
18
18
|
eodag/plugins/__init__.py,sha256=KQkD5aVwb9I6C-Rmi5ABEG1-j8w5FP1zKN12vagsT9Y,739
|
|
19
|
-
eodag/plugins/base.py,sha256=
|
|
20
|
-
eodag/plugins/manager.py,sha256=
|
|
19
|
+
eodag/plugins/base.py,sha256=8Us6InkQu59Ya0Ne8se2Q6ZtU85IpCpcQqO9Z2ECDWI,2746
|
|
20
|
+
eodag/plugins/manager.py,sha256=YqbO3FQmyQMO-lYbiDKuExP4fL07mZ53rNhSSdJP9r4,20210
|
|
21
21
|
eodag/plugins/apis/__init__.py,sha256=PyY4f7P2iu3MkLPnw5eOrVew2fuavbBL3Asci3Ulwoo,744
|
|
22
22
|
eodag/plugins/apis/base.py,sha256=oCEKVtIbOjzNgM3lzaCCtO-DhU2PvGfKaATG6OxR-V8,2818
|
|
23
|
-
eodag/plugins/apis/ecmwf.py,sha256=
|
|
24
|
-
eodag/plugins/apis/usgs.py,sha256=
|
|
23
|
+
eodag/plugins/apis/ecmwf.py,sha256=TTlxTt93B3c1KxDkwjQiwgnZnjBVlFSro6pov3fgcCA,11455
|
|
24
|
+
eodag/plugins/apis/usgs.py,sha256=M1JcIBIGxbSvDNomy3g-G0OcoegghpFleRiZ8xJDXIQ,19686
|
|
25
25
|
eodag/plugins/authentication/__init__.py,sha256=_LVw42Bb1IhGAZH5xHRaS4b1iFoF9e27KDZOyoSoJHY,1039
|
|
26
|
-
eodag/plugins/authentication/aws_auth.py,sha256=
|
|
27
|
-
eodag/plugins/authentication/base.py,sha256=
|
|
26
|
+
eodag/plugins/authentication/aws_auth.py,sha256=M9BmNRTYvTprTe9QtAUdMQwubtsrgRovLF484xkzruM,11016
|
|
27
|
+
eodag/plugins/authentication/base.py,sha256=_wkWJs09RRfMiIYsv-k-I_Rd04EZPXb5vA69hftlCNc,2987
|
|
28
28
|
eodag/plugins/authentication/generic.py,sha256=z-u4WMixeG4nKwc70cUGVBXt3IVheDPA6tQWs2iDH4Q,2673
|
|
29
29
|
eodag/plugins/authentication/header.py,sha256=U_KnUqgZTLHXM5OKdGbH6jRqoQ0uIfOoxO6krUeAAcQ,4284
|
|
30
30
|
eodag/plugins/authentication/keycloak.py,sha256=m5c6Os_T8UGfdXS9SemhuUBhwsC4foxmrVA6VXEXamU,7358
|
|
31
|
-
eodag/plugins/authentication/oauth.py,sha256=
|
|
31
|
+
eodag/plugins/authentication/oauth.py,sha256=KEnC6CKmntuZPKUtsgvh0L-_AO244f1FC6blYWHR_LQ,2113
|
|
32
32
|
eodag/plugins/authentication/openid_connect.py,sha256=lj-9RPz2BADU-1ckawLmuSi3TSexABsDDPCHLp8Frsc,27084
|
|
33
33
|
eodag/plugins/authentication/qsauth.py,sha256=bkepO_sFRIhYm3Dzecx3VJP0Ap37vUuJSRmEY8HrV1U,3947
|
|
34
34
|
eodag/plugins/authentication/sas_auth.py,sha256=IKsaQMk5rfevMKJMoPVQ1cwzkBV89T54cbzOA34oNa8,5294
|
|
@@ -42,29 +42,29 @@ eodag/plugins/crunch/filter_latest_tpl_name.py,sha256=pP4EDP73mQg1zvkVm1Uo4nGAgw
|
|
|
42
42
|
eodag/plugins/crunch/filter_overlap.py,sha256=mkm5_ljgK_7QOOp-KgJjDjbVfss4gwRjIYUTMyKrw5o,7272
|
|
43
43
|
eodag/plugins/crunch/filter_property.py,sha256=2BKb7wxw1Yi2NTtnPCBtdZ-caJXxlVUUS2ps4LHXOMI,3187
|
|
44
44
|
eodag/plugins/download/__init__.py,sha256=zqszaeNgYP0YHlZDkLMf6odcwNw0KrAahGpcA-l0kAw,740
|
|
45
|
-
eodag/plugins/download/aws.py,sha256=
|
|
46
|
-
eodag/plugins/download/base.py,sha256=
|
|
47
|
-
eodag/plugins/download/creodias_s3.py,sha256=
|
|
48
|
-
eodag/plugins/download/http.py,sha256=
|
|
49
|
-
eodag/plugins/download/s3rest.py,sha256=
|
|
50
|
-
eodag/plugins/search/__init__.py,sha256=
|
|
51
|
-
eodag/plugins/search/base.py,sha256=
|
|
52
|
-
eodag/plugins/search/build_search_result.py,sha256=
|
|
45
|
+
eodag/plugins/download/aws.py,sha256=ZTszeNNU_JZesnINVMpW_7lPCBc0_MA4Xi_7AqTZxjA,46713
|
|
46
|
+
eodag/plugins/download/base.py,sha256=ub217oE_IarzfrSk8DFN6Sfj9aE3VcCENjVGt9xjzKA,30899
|
|
47
|
+
eodag/plugins/download/creodias_s3.py,sha256=xN2cTENRWXalQfbmH2r0RAd84IS64Rf5iEqIC11dv5o,2798
|
|
48
|
+
eodag/plugins/download/http.py,sha256=b5od-j28B0dYxIXoOSNz1OmVgPVqLPD-eO9vfrrUorM,58532
|
|
49
|
+
eodag/plugins/download/s3rest.py,sha256=9gNoCf9UPr8XffuPrZeyf2B67IXoibmOIhSeiH1PIOA,15215
|
|
50
|
+
eodag/plugins/search/__init__.py,sha256=dShNJxU5NzF27aW-PgYtpyKimCibTlgf38PFsf_Rqa8,2086
|
|
51
|
+
eodag/plugins/search/base.py,sha256=LBS7K9zx86uzItuYFwWzznaByooYWFHnbQ5o4OrfNHM,20084
|
|
52
|
+
eodag/plugins/search/build_search_result.py,sha256=1yyzOc1c5gpfQlmoJEIU3gVP0iT_XqzZSxV9oitG4KQ,57689
|
|
53
53
|
eodag/plugins/search/cop_marine.py,sha256=-GrFQjVZb7SfS6BbI0wnGc2VuRcQu7aqtWg3EWjQhE0,20485
|
|
54
|
-
eodag/plugins/search/creodias_s3.py,sha256=
|
|
54
|
+
eodag/plugins/search/creodias_s3.py,sha256=q-fzgKIp9hPgcxZ1fQz8N7veDdqZVZuVvygGOIA9zf0,3845
|
|
55
55
|
eodag/plugins/search/csw.py,sha256=de8CNjz4bjEny27V0RXC7V8LRz0Ik3yqQVjTAc_JlyA,12548
|
|
56
56
|
eodag/plugins/search/data_request_search.py,sha256=m38kpTXJT2fC8Mk894KlxKb14dz-nhAs_71-5kpnehU,27461
|
|
57
|
-
eodag/plugins/search/qssearch.py,sha256=
|
|
57
|
+
eodag/plugins/search/qssearch.py,sha256=X4U9VYcHkCj_EGwXbQ9G6iRe97_u3cbatQ0ZSgG4sL4,94886
|
|
58
58
|
eodag/plugins/search/stac_list_assets.py,sha256=OOCMyjD8XD-m39k0SyKMrRi4K8Ii5mOQsA6zSAeQDGI,3435
|
|
59
59
|
eodag/plugins/search/static_stac_search.py,sha256=CPynjpNw0gXa6g6hA2zSkbwhfgU-9IBCmJtknuhnFKk,10515
|
|
60
|
-
eodag/resources/ext_product_types.json,sha256=
|
|
60
|
+
eodag/resources/ext_product_types.json,sha256=j5cHkXRryARlpK7I6o3CyJGH3V48qkTmw_6-MYJ5zbg,2518935
|
|
61
61
|
eodag/resources/locations_conf_template.yml,sha256=_eBv-QKHYMIKhY0b0kp4Ee33RsayxN8LWH3kDXxfFSk,986
|
|
62
|
-
eodag/resources/product_types.yml,sha256=
|
|
63
|
-
eodag/resources/providers.yml,sha256=
|
|
62
|
+
eodag/resources/product_types.yml,sha256=4qEeKi7rYGTBWmNAsqk40ml-tD4V0AMeiZxqkN7TYhM,422350
|
|
63
|
+
eodag/resources/providers.yml,sha256=kQh_c9-i0U5WlzLcRk43FNlLQGUuNsid6A5XyYRV5Dw,231781
|
|
64
64
|
eodag/resources/stac.yml,sha256=QnrBulL2pHZrPH4pI7rQtKDxmgP2ZbBcufFqFJPCL7A,10473
|
|
65
65
|
eodag/resources/stac_api.yml,sha256=2FdQL_qBTIUlu6KH836T4CXBKO9AvVxA_Ub3J1RP81A,68881
|
|
66
|
-
eodag/resources/stac_provider.yml,sha256=
|
|
67
|
-
eodag/resources/user_conf_template.yml,sha256=
|
|
66
|
+
eodag/resources/stac_provider.yml,sha256=ZmvivXG2bfs-kIvKp7ZkTZ_rFrO-T-f-OjzrkCny-KM,6815
|
|
67
|
+
eodag/resources/user_conf_template.yml,sha256=jqyWzPDm7_61ooVG7JcgHnfOypNnXvOie_tqROdSeRs,7348
|
|
68
68
|
eodag/resources/shp/ne_110m_admin_0_map_units.VERSION.txt,sha256=CHSo_jbv-4d4D0MYRbWn2FvmV_K9mYzo7qznF4YNO3g,7
|
|
69
69
|
eodag/resources/shp/ne_110m_admin_0_map_units.cpg,sha256=FG1nif_gM6UpfBrQRuamLuNTGbhrAhRE8FtuoqqKH0o,6
|
|
70
70
|
eodag/resources/shp/ne_110m_admin_0_map_units.dbf,sha256=uEEO22hZ_crWxMNhuQ_ix889c1Us1awYXAglxbf1K-s,393747
|
|
@@ -75,27 +75,28 @@ eodag/rest/__init__.py,sha256=v4SI9gLuFP81YXi5_k98lvVNGzz6h8YZ_aUdhKAbE2M,916
|
|
|
75
75
|
eodag/rest/cache.py,sha256=dSgpw6uWDq45qxfD25LXkB-9Qk0OEb5L8UOl7yuMPEU,2097
|
|
76
76
|
eodag/rest/config.py,sha256=qWXukdSB6cSpkZszkPSGPGn5oiVfKEC3rPGp0q-2c4E,2112
|
|
77
77
|
eodag/rest/constants.py,sha256=XsNgjzv0Qvw1hhjeuscDuyQpCm99g3O-hEyslPSiFzQ,945
|
|
78
|
-
eodag/rest/core.py,sha256=
|
|
79
|
-
eodag/rest/errors.py,sha256=
|
|
80
|
-
eodag/rest/server.py,sha256=
|
|
78
|
+
eodag/rest/core.py,sha256=Hi2rxPmvYJk3zjwcGyeCy8yRXHCAmwDrsfpQ_AFQDgU,26701
|
|
79
|
+
eodag/rest/errors.py,sha256=MIqcxf5D-W2CBgAuLMU3uqV7VKXRtRb6sxwRDxY9IEE,7008
|
|
80
|
+
eodag/rest/server.py,sha256=uZfMYr1esA8-8OsiN3yq4Bg_KfOKCXuCKQKjPU-G7Bk,18524
|
|
81
81
|
eodag/rest/server.wsgi,sha256=ssM4JQi8tZpOYj03CTdM0weyUF1b3Lbh38pdD-vBfXs,152
|
|
82
|
-
eodag/rest/stac.py,sha256=
|
|
82
|
+
eodag/rest/stac.py,sha256=H3tv3oDQHrS8wi864HuVOvwMPqdDCFusFNHJUfzYaUM,36765
|
|
83
83
|
eodag/rest/templates/README,sha256=qFgCBE6XC4YiXkpPoSHkYbMTQr8Zg5Wc5eAKVcooXmw,57
|
|
84
84
|
eodag/rest/types/__init__.py,sha256=Bu0C3dzXHe8kocnz2PIHV0GjQWlAQas6ToIfwusNPQs,742
|
|
85
85
|
eodag/rest/types/collections_search.py,sha256=TRZI72a1W29a2e_mg9cQpFUcTTEG3_SSsfYrZZuXMLA,1527
|
|
86
86
|
eodag/rest/types/eodag_search.py,sha256=uN96xejktaQRojKZm2BGAgxvcWcwBkle4_I2z7jlDzw,14281
|
|
87
87
|
eodag/rest/types/queryables.py,sha256=x_pvUJCkw4ktjkYhVSSY7waOodg2eBhTvIDA2B6kQ5k,6458
|
|
88
88
|
eodag/rest/types/stac_search.py,sha256=a_m7ATLPFttvUo9_hfsIAQKtNhBvX3U86lNWv_8_oIM,8765
|
|
89
|
-
eodag/rest/utils/__init__.py,sha256=
|
|
89
|
+
eodag/rest/utils/__init__.py,sha256=FKvRjqPT6xLcls4ah8RV-wNuC1IeBP102Pj2b0_uFsY,6488
|
|
90
90
|
eodag/rest/utils/cql_evaluate.py,sha256=aMcdowtYbQpU1H9oX1IM2PMot6XTy49Q6H2k-YBEtco,4087
|
|
91
|
-
eodag/rest/utils/rfc3339.py,sha256=
|
|
91
|
+
eodag/rest/utils/rfc3339.py,sha256=28I4IGoXq6NCnc5s5YVgOMMl_xfbGZqnX40qKDbglqo,2235
|
|
92
92
|
eodag/types/__init__.py,sha256=CCNBBM1NTq5UkN7s5zdl-uZdT8nOGX0z9Y8g7kwEyAw,16150
|
|
93
93
|
eodag/types/bbox.py,sha256=jbfX58KOKIl0OoGZc93kAYhG_mEOjuBQGJtR2hl3-_Y,4354
|
|
94
94
|
eodag/types/download_args.py,sha256=urSl5KbLRN1XetMa2XzxYltny8CCFmHpjxU3j3BEGO8,1565
|
|
95
95
|
eodag/types/queryables.py,sha256=1Bb-n05YKSUq-rsVm-_2HoYaCBWp4SFHI4uWngpRmiw,10551
|
|
96
96
|
eodag/types/search_args.py,sha256=EtG8nXnApBnYrFo5FVvsvvEqRlqTxJ0lrmIem9Wtg8c,5649
|
|
97
|
-
eodag/utils/__init__.py,sha256=
|
|
97
|
+
eodag/utils/__init__.py,sha256=vLeA5MAskrfmMaB0j37ZpwlCqj2hjEEXEzt6nN5NtFU,54437
|
|
98
98
|
eodag/utils/cache.py,sha256=UNvnzhJnNBuKLdH_0KnhuTMlBvz4GS3nr2IH2Lj6Swc,2580
|
|
99
|
+
eodag/utils/dates.py,sha256=dSKmWC3spQrpo0XLYAnUe32k3SPHQ9yih_K3nQ7z1fE,7470
|
|
99
100
|
eodag/utils/env.py,sha256=_sgCzDmaJnMnCv1qk9xe9jBhBKqqXbEYmsyGYwYw4NI,1085
|
|
100
101
|
eodag/utils/exceptions.py,sha256=64M6xNsWWThEspIrZvxPYCS47wBH4PL7YXXw8fcPCbo,4588
|
|
101
102
|
eodag/utils/free_text_search.py,sha256=et6nn5qmzbUq0T9tup6M2kMCwn2CvQgwVq6M6XOKEpg,8057
|
|
@@ -104,12 +105,11 @@ eodag/utils/logging.py,sha256=KoMsyS1f6O1hr_SMDOIxvt842mOJgmu_yLUk0-0EKFs,3507
|
|
|
104
105
|
eodag/utils/notebook.py,sha256=AUxtayvu26qYf3x3Eu3ujRl1XDgy24EfQaETbqmXSZw,2703
|
|
105
106
|
eodag/utils/repr.py,sha256=o6NhScogBPI69m83GsHh3hXONb9-byPfuWgJ1U39Kfw,5463
|
|
106
107
|
eodag/utils/requests.py,sha256=avNHKrOZ7Kp6lUA7u4kqupIth9MoirLzDsMrrmQDt4s,4560
|
|
107
|
-
eodag/utils/
|
|
108
|
-
eodag/utils/s3.py,sha256=hHlliahIJjQQP8VnRAhbw17_FFa4E6gFo52HchgarVU,29553
|
|
108
|
+
eodag/utils/s3.py,sha256=eESanPLVv-Luqo_o1WgUuO7YLqiXg_iEzHZ15fu-ugY,30063
|
|
109
109
|
eodag/utils/stac_reader.py,sha256=8r6amio5EtwGF9iu9zHaGDz4oUPKKeXRuyTzPNakrO4,9406
|
|
110
|
-
eodag-3.
|
|
111
|
-
eodag-3.
|
|
112
|
-
eodag-3.
|
|
113
|
-
eodag-3.
|
|
114
|
-
eodag-3.
|
|
115
|
-
eodag-3.
|
|
110
|
+
eodag-3.9.0.dist-info/licenses/LICENSE,sha256=4MAecetnRTQw5DlHtiikDSzKWO1xVLwzM5_DsPMYlnE,10172
|
|
111
|
+
eodag-3.9.0.dist-info/METADATA,sha256=Ec6_QP2N-U2gwDAtvWg2KxH6b9eQ7pCXuO2izUNwhxA,15520
|
|
112
|
+
eodag-3.9.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
113
|
+
eodag-3.9.0.dist-info/entry_points.txt,sha256=4b6l049qcMbT60_9GebzhtCOVWLGa66_-sesZWqzLQg,2519
|
|
114
|
+
eodag-3.9.0.dist-info/top_level.txt,sha256=025IMTmVe5eDjIPP4KEFQKespOPMQdne4U4jOy8nftM,6
|
|
115
|
+
eodag-3.9.0.dist-info/RECORD,,
|
|
@@ -39,9 +39,9 @@ ECMWFSearch = eodag.plugins.search.build_search_result:ECMWFSearch
|
|
|
39
39
|
MeteoblueSearch = eodag.plugins.search.build_search_result:MeteoblueSearch
|
|
40
40
|
ODataV4Search = eodag.plugins.search.qssearch:ODataV4Search
|
|
41
41
|
PostJsonSearch = eodag.plugins.search.qssearch:PostJsonSearch
|
|
42
|
-
PostJsonSearchWithStacQueryables = eodag.plugins.search.qssearch:PostJsonSearchWithStacQueryables
|
|
43
42
|
QueryStringSearch = eodag.plugins.search.qssearch:QueryStringSearch
|
|
44
43
|
StacListAssets = eodag.plugins.search.stac_list_assets:StacListAssets
|
|
45
44
|
StacSearch = eodag.plugins.search.qssearch:StacSearch
|
|
46
45
|
StaticStacSearch = eodag.plugins.search.static_stac_search:StaticStacSearch
|
|
47
46
|
WekeoECMWFSearch = eodag.plugins.search.build_search_result:WekeoECMWFSearch
|
|
47
|
+
WekeoSearch = eodag.plugins.search.qssearch:WekeoSearch
|
eodag/utils/rest.py
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
# Copyright 2018, CS GROUP - France, https://www.csgroup.eu/
|
|
3
|
-
#
|
|
4
|
-
# This file is part of EODAG project
|
|
5
|
-
# https://www.github.com/CS-SI/EODAG
|
|
6
|
-
#
|
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
-
# you may not use this file except in compliance with the License.
|
|
9
|
-
# You may obtain a copy of the License at
|
|
10
|
-
#
|
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
#
|
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
# See the License for the specific language governing permissions and
|
|
17
|
-
# limitations under the License.
|
|
18
|
-
"""eodag.rest.utils methods that must be importable without eodag[server] installed"""
|
|
19
|
-
|
|
20
|
-
from __future__ import annotations
|
|
21
|
-
|
|
22
|
-
import datetime
|
|
23
|
-
import re
|
|
24
|
-
from typing import Any, Optional
|
|
25
|
-
|
|
26
|
-
import dateutil.parser
|
|
27
|
-
from dateutil import tz
|
|
28
|
-
|
|
29
|
-
from eodag.utils.exceptions import ValidationError
|
|
30
|
-
|
|
31
|
-
RFC3339_PATTERN = (
|
|
32
|
-
r"^(\d{4})-(\d{2})-(\d{2})"
|
|
33
|
-
r"(?:T(\d{2}):(\d{2}):(\d{2})(\.\d+)?"
|
|
34
|
-
r"(Z|([+-])(\d{2}):(\d{2}))?)?$"
|
|
35
|
-
)
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
def get_datetime(arguments: dict[str, Any]) -> tuple[Optional[str], Optional[str]]:
|
|
39
|
-
"""Get start and end dates from a dict containing `/` separated dates in `datetime` item
|
|
40
|
-
|
|
41
|
-
:param arguments: dict containing a single date or `/` separated dates in `datetime` item
|
|
42
|
-
:returns: Start date and end date from datetime string (duplicate value if only one date as input)
|
|
43
|
-
"""
|
|
44
|
-
datetime_str = arguments.pop("datetime", None)
|
|
45
|
-
|
|
46
|
-
if datetime_str:
|
|
47
|
-
datetime_split = datetime_str.split("/")
|
|
48
|
-
if len(datetime_split) > 1:
|
|
49
|
-
dtstart = datetime_split[0] if datetime_split[0] != ".." else None
|
|
50
|
-
dtend = datetime_split[1] if datetime_split[1] != ".." else None
|
|
51
|
-
elif len(datetime_split) == 1:
|
|
52
|
-
# same time for start & end if only one is given
|
|
53
|
-
dtstart, dtend = datetime_split[0:1] * 2
|
|
54
|
-
else:
|
|
55
|
-
return None, None
|
|
56
|
-
|
|
57
|
-
return get_date(dtstart), get_date(dtend)
|
|
58
|
-
|
|
59
|
-
else:
|
|
60
|
-
# return already set (dtstart, dtend) or None
|
|
61
|
-
dtstart = get_date(arguments.pop("dtstart", None))
|
|
62
|
-
dtend = get_date(arguments.pop("dtend", None))
|
|
63
|
-
return get_date(dtstart), get_date(dtend)
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def get_date(date: Optional[str]) -> Optional[str]:
|
|
67
|
-
"""Check if the input date can be parsed as a date"""
|
|
68
|
-
|
|
69
|
-
if not date:
|
|
70
|
-
return None
|
|
71
|
-
try:
|
|
72
|
-
return (
|
|
73
|
-
dateutil.parser.parse(date)
|
|
74
|
-
.replace(tzinfo=tz.UTC)
|
|
75
|
-
.isoformat()
|
|
76
|
-
.replace("+00:00", "")
|
|
77
|
-
)
|
|
78
|
-
except ValueError as e:
|
|
79
|
-
exc = ValidationError("invalid input date: %s" % e)
|
|
80
|
-
raise exc
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
def rfc3339_str_to_datetime(s: str) -> datetime.datetime:
|
|
84
|
-
"""Convert a string conforming to RFC 3339 to a :class:`datetime.datetime`.
|
|
85
|
-
|
|
86
|
-
:param s: The string to convert to :class:`datetime.datetime`
|
|
87
|
-
|
|
88
|
-
:returns: The datetime represented by the ISO8601 (RFC 3339) formatted string
|
|
89
|
-
|
|
90
|
-
raises: :class:`ValidationError`
|
|
91
|
-
"""
|
|
92
|
-
# Uppercase the string
|
|
93
|
-
s = s.upper()
|
|
94
|
-
|
|
95
|
-
# Match against RFC3339 regex.
|
|
96
|
-
result = re.match(RFC3339_PATTERN, s)
|
|
97
|
-
if not result:
|
|
98
|
-
raise ValidationError("Invalid RFC3339 datetime.")
|
|
99
|
-
|
|
100
|
-
return dateutil.parser.isoparse(s).replace(tzinfo=datetime.timezone.utc)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|