Skip to content

feat(search): Remove ECMWF search default dates #1904#2008

Open
pdavid-cssopra wants to merge 1 commit intodevelopfrom
feat--1904-remove-ecmwf-search-default-dates
Open

feat(search): Remove ECMWF search default dates #1904#2008
pdavid-cssopra wants to merge 1 commit intodevelopfrom
feat--1904-remove-ecmwf-search-default-dates

Conversation

@pdavid-cssopra
Copy link
Copy Markdown
Collaborator

feat(search): Remove ECMWF search default dates #1904

  • fix default date bevaviour
  • re-set option plugin_config.dates_required behaviour
  • fix ECMWFSearch.available_values_from_contraints: must not fill default values outside from contraints set

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Jan 23, 2026

Test Results

    4 files  ±0      4 suites  ±0   3m 20s ⏱️ +7s
  685 tests ±0    684 ✅ ±0  1 💤 ±0  0 ❌ ±0 
2 782 runs  ±0  2 776 ✅ ±0  6 💤 ±0  0 ❌ ±0 

Results for commit f58a0e9. ± Comparison against base commit 798a34a.

This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
tests.units.test_search_plugins.TestSearchPluginECMWFSearch ‑ test_plugins_search_ecmwfsearch_dates_missing
tests.units.test_search_plugins.TestSearchPluginECMWFSearch ‑ test_plugins_search_ecmwfsearch_dates

♻️ This comment has been updated with latest results.

@eodag-bot
Copy link
Copy Markdown
Collaborator

eodag-bot commented Jan 23, 2026

badge

Code Coverage (Ubuntu)

Details
Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         251      11  95.62%   104-115, 377, 644
config.py                                      304      24  92.11%   70-72, 75, 78, 81, 85, 89, 93-95, 580-582, 704-706, 725, 733, 763-768, 770
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/collection.py                              150       8  94.67%   176, 212, 215, 322, 361, 364, 382, 385
api/core.py                                    787      57  92.76%   266, 552, 600, 643, 683, 703, 744-749, 774, 858-877, 891, 897, 1050, 1055, 1154, 1193-1194, 1290-1291, 1317, 1348-1349, 1375, 1388, 1449-1450, 1467, 1481-1482, 1556-1561, 1573-1576, 1688, 2075, 2197, 2285-2286
api/provider.py                                381      35  90.81%   186, 190-191, 316-337, 405, 521, 525-526, 531-534, 545, 621-631, 821-822, 870, 877, 908-911, 947-948, 956-957
api/search_result.py                           181      19  89.50%   111, 123, 133, 154, 203, 220, 320, 375-378, 448, 453-454, 488, 502, 525-526, 532
api/product/__init__.py                         18       2  88.89%   57, 59
api/product/_assets.py                          52       4  92.31%   97, 191, 194-198
api/product/_product.py                        248      20  91.94%   189, 305-306, 324-325, 434, 463, 470, 577, 597, 620-623, 632-635, 689, 755, 767
api/product/metadata_mapping.py                793      55  93.06%   125-127, 220-225, 249, 307-308, 354-355, 396, 417, 469-470, 507, 528-531, 554, 566-567, 608, 631, 661-666, 731-736, 748, 756, 990, 1165, 1174-1178, 1195-1200, 1333, 1356, 1365, 1387, 1392, 1444, 1516, 1537, 1563, 1577, 1602, 1648, 1717, 1792
api/product/drivers/__init__.py                 11       0  100.00%
api/product/drivers/base.py                     29       0  100.00%
api/product/drivers/generic.py                  11       0  100.00%
api/product/drivers/sentinel1.py                33       0  100.00%
api/product/drivers/sentinel2.py                33       0  100.00%
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 22       4  81.82%   48, 55, 68-69
plugins/manager.py                             173      16  90.75%   102-107, 179, 201, 219-220, 232, 271-272, 372-375, 387-388
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           95       8  91.58%   163-165, 213-214, 240-242
plugins/apis/usgs.py                           182      25  86.26%   157, 263, 297, 339-341, 346, 374-375, 380, 410-417, 428-433, 455-461
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py             124      35  71.77%   52-54, 69-70, 142-149, 177-203, 226, 258-262, 279, 303, 319-320
plugins/authentication/base.py                  22       4  81.82%   45, 58, 81, 95
plugins/authentication/generic.py               16       3  81.25%   50, 55, 65
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              46       7  84.78%   153-156, 177-182
plugins/authentication/openid_connect.py       232      28  87.93%   91-92, 104-122, 169, 175-203, 211, 350-353, 379, 420
plugins/authentication/qsauth.py                34       1  97.06%   91
plugins/authentication/sas_auth.py              57       3  94.74%   68, 89, 135
plugins/authentication/token.py                128       9  92.97%   180, 217, 288-289, 339-343
plugins/authentication/token_exchange.py        36      14  61.11%   75, 93-121
plugins/crunch/__init__.py                       0       0  100.00%
plugins/crunch/base.py                          10       1  90.00%   43
plugins/crunch/filter_date.py                   59      14  76.27%   52-57, 69, 78, 87, 90, 100-102, 109-111, 118
plugins/crunch/filter_latest_intersect.py       54      39  27.78%   50-55, 68-115
plugins/crunch/filter_latest_tpl_name.py        31      20  35.48%   46-54, 64-95
plugins/crunch/filter_overlap.py                63      25  60.32%   62-65, 72-75, 81, 85, 89, 100-116, 131-157
plugins/crunch/filter_property.py               30       5  83.33%   56-61, 64-65
plugins/download/__init__.py                     0       0  100.00%
plugins/download/aws.py                        401      76  81.05%   270, 304, 353-356, 386-387, 395-399, 479-482, 522-524, 528, 559-560, 566-570, 601, 666-674, 738-833, 845-850, 888, 914, 959-961, 1013
plugins/download/base.py                       280      35  87.50%   133, 162, 309-310, 368-369, 411, 415-426, 440, 517-521, 551, 586-587, 612-621, 680, 701, 723, 731, 765
plugins/download/http.py                       564      77  86.35%   233, 275-278, 340-343, 346, 353-358, 389-391, 408, 423, 483, 518, 532, 546, 556-560, 576-581, 592, 611, 648-651, 672, 682, 689, 854, 886, 916-925, 961, 986-987, 1006-1011, 1020, 1035-1037, 1041, 1044, 1059-1060, 1144, 1196, 1238-1239, 1251, 1261, 1311-1312, 1342, 1362, 1403-1405, 1459-1460
plugins/search/__init__.py                      25       0  100.00%
plugins/search/base.py                         196      21  89.29%   109, 113, 137-143, 200-203, 218-221, 296, 317, 442, 492, 525-528, 537
plugins/search/build_search_result.py          594     118  80.13%   257-258, 294, 298, 318, 377, 547-558, 568-570, 653, 681-687, 703-704, 712, 714, 723, 744-749, 766-800, 831, 855, 857, 924, 932-936, 957, 967, 993, 1038, 1062, 1090, 1108-1123, 1173, 1198, 1201, 1205, 1214, 1220, 1258-1279, 1320, 1347-1348, 1357-1366, 1430, 1445, 1451, 1470-1479, 1600-1601, 1645, 1654-1656, 1713, 1761-1771
plugins/search/cop_marine.py                   268      56  79.10%   57, 65-67, 77-78, 83, 88-89, 105, 107, 110, 176-177, 220, 236, 242, 246, 250, 261, 272-273, 281, 313-316, 322, 343, 347, 351, 355, 359-363, 369-372, 375-392, 409-412, 465-469, 474, 486
plugins/search/creodias_s3.py                   29       1  96.55%   59
plugins/search/csw.py                          112      87  22.32%   99-100, 104-105, 113-170, 176-189, 197-229, 247-288
plugins/search/qssearch.py                     826      94  88.62%   415-416, 533-534, 557-558, 570-574, 789-795, 853, 949, 956, 1027, 1048, 1051-1052, 1070, 1079-1080, 1107, 1179, 1188, 1193-1210, 1219, 1234, 1243-1246, 1256, 1278, 1367, 1390, 1463-1464, 1470, 1560, 1667-1671, 1742, 1745, 1749-1750, 1771-1774, 1786, 1808-1820, 1828, 1863-1865, 1888-1894, 1901, 1955, 1978, 1983-1984, 1999, 2005, 2015, 2105, 2109, 2120, 2144, 2157, 2165-2175, 2213-2217
plugins/search/stac_list_assets.py              25      10  60.00%   44-51, 75-85
plugins/search/static_stac_search.py            84      18  78.57%   99-127, 166-169, 182, 224
resources/__init__.py                            0       0  100.00%
resources/shp/__init__.py                        0       0  100.00%
types/__init__.py                              167      43  74.25%   58, 62, 71-75, 86-98, 126-128, 135-140, 216, 219, 257, 267-283, 288, 290, 312, 317, 325, 335
types/bbox.py                                   39      19  51.28%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                          10       0  100.00%
types/queryables.py                            112       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
types/stac_extensions.py                       114       1  99.12%   282
types/stac_metadata.py                         116      16  86.21%   92, 113-114, 147, 177-191, 200-207
utils/__init__.py                              608      43  92.93%   71, 206, 237-238, 247-273, 276, 291, 371-375, 450-454, 534, 574-575, 604, 982-985, 1036, 1055-1056, 1085, 1103-1104, 1216, 1304, 1468, 1557, 1572, 1581, 1593, 1783
utils/cache.py                                  22       0  100.00%
utils/dates.py                                 113       4  96.46%   171, 329-331
utils/env.py                                     3       0  100.00%
utils/exceptions.py                             47       0  100.00%
utils/free_text_search.py                       65       2  96.92%   83, 91
utils/import_system.py                          28      19  32.14%   64-78, 89-99
utils/logging.py                                28       1  96.43%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   38       0  100.00%
utils/requests.py                               55      29  47.27%   51-52, 64, 85-96, 107-124, 128
utils/s3.py                                    240      12  95.00%   200-203, 245, 263, 489, 537-538, 585, 660, 686
utils/stac_reader.py                           113      44  61.06%   63-85, 95-97, 101, 138, 154-159, 206-216, 226-256
TOTAL                                        10174    1369  86.54%

Diff against develop

Filename                                 Stmts    Miss  Cover
-------------------------------------  -------  ------  -------
config.py                                   -1       0  -0.02%
api/product/metadata_mapping.py             +2      +2  -0.24%
plugins/apis/ecmwf.py                       -6       0  -0.50%
plugins/search/base.py                       0      +3  -1.53%
plugins/search/build_search_result.py      +90     +35  -3.40%
plugins/search/qssearch.py                  +3       0  +0.04%
TOTAL                                      +88     +40  -0.28%

Results for commit: f58a0e9

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@pdavid-cssopra pdavid-cssopra marked this pull request as draft January 23, 2026 10:22
@pdavid-cssopra pdavid-cssopra force-pushed the feat--1904-remove-ecmwf-search-default-dates branch from 608a9f8 to 0b9d288 Compare January 23, 2026 14:17
@eodag-bot
Copy link
Copy Markdown
Collaborator

eodag-bot commented Jan 23, 2026

badge

Code Coverage (Windows)

Details
Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         251      11  95.62%   104-115, 377, 644
config.py                                      304      24  92.11%   70-72, 75, 78, 81, 85, 89, 93-95, 580-582, 704-706, 725, 733, 763-768, 770
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/collection.py                              150       8  94.67%   176, 212, 215, 322, 361, 364, 382, 385
api/core.py                                    787      57  92.76%   266, 552, 600, 643, 683, 703, 744-749, 774, 858-877, 891, 897, 1050, 1055, 1154, 1193-1194, 1290-1291, 1317, 1348-1349, 1375, 1388, 1449-1450, 1467, 1481-1482, 1556-1561, 1573-1576, 1688, 2075, 2197, 2285-2286
api/provider.py                                381      35  90.81%   186, 190-191, 316-337, 405, 521, 525-526, 531-534, 545, 621-631, 821-822, 870, 877, 908-911, 947-948, 956-957
api/search_result.py                           181      19  89.50%   111, 123, 133, 154, 203, 220, 320, 375-378, 448, 453-454, 488, 502, 525-526, 532
api/product/__init__.py                         18       2  88.89%   57, 59
api/product/_assets.py                          52       4  92.31%   97, 191, 194-198
api/product/_product.py                        248      20  91.94%   189, 305-306, 324-325, 434, 463, 470, 577, 597, 620-623, 632-635, 689, 755, 767
api/product/metadata_mapping.py                793      55  93.06%   125-127, 220-225, 249, 307-308, 354-355, 396, 417, 469-470, 507, 528-531, 554, 566-567, 608, 631, 661-666, 731-736, 748, 756, 990, 1165, 1174-1178, 1195-1200, 1333, 1356, 1365, 1387, 1392, 1444, 1516, 1537, 1563, 1577, 1602, 1648, 1717, 1792
api/product/drivers/__init__.py                 11       0  100.00%
api/product/drivers/base.py                     29       0  100.00%
api/product/drivers/generic.py                  11       0  100.00%
api/product/drivers/sentinel1.py                33       0  100.00%
api/product/drivers/sentinel2.py                33       0  100.00%
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 22       4  81.82%   48, 55, 68-69
plugins/manager.py                             173      16  90.75%   102-107, 179, 201, 219-220, 232, 271-272, 372-375, 387-388
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           95       8  91.58%   163-165, 213-214, 240-242
plugins/apis/usgs.py                           182      25  86.26%   157, 263, 297, 339-341, 346, 374-375, 380, 410-417, 428-433, 455-461
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py             124      35  71.77%   52-54, 69-70, 142-149, 177-203, 226, 258-262, 279, 303, 319-320
plugins/authentication/base.py                  22       4  81.82%   45, 58, 81, 95
plugins/authentication/generic.py               16       3  81.25%   50, 55, 65
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              46       7  84.78%   153-156, 177-182
plugins/authentication/openid_connect.py       232      28  87.93%   91-92, 104-122, 169, 175-203, 211, 350-353, 379, 420
plugins/authentication/qsauth.py                34       1  97.06%   91
plugins/authentication/sas_auth.py              57       3  94.74%   68, 89, 135
plugins/authentication/token.py                128       9  92.97%   180, 217, 288-289, 339-343
plugins/authentication/token_exchange.py        36      14  61.11%   75, 93-121
plugins/crunch/__init__.py                       0       0  100.00%
plugins/crunch/base.py                          10       1  90.00%   43
plugins/crunch/filter_date.py                   59      14  76.27%   52-57, 69, 78, 87, 90, 100-102, 109-111, 118
plugins/crunch/filter_latest_intersect.py       54      39  27.78%   50-55, 68-115
plugins/crunch/filter_latest_tpl_name.py        31      20  35.48%   46-54, 64-95
plugins/crunch/filter_overlap.py                63      25  60.32%   62-65, 72-75, 81, 85, 89, 100-116, 131-157
plugins/crunch/filter_property.py               30       5  83.33%   56-61, 64-65
plugins/download/__init__.py                     0       0  100.00%
plugins/download/aws.py                        401      76  81.05%   270, 304, 353-356, 386-387, 395-399, 479-482, 522-524, 528, 559-560, 566-570, 601, 666-674, 738-833, 845-850, 888, 914, 959-961, 1013
plugins/download/base.py                       280      37  86.79%   133, 162, 229-231, 309-310, 368-369, 411, 415-426, 440, 517-521, 551, 586-587, 612-621, 680, 701, 723, 731, 765
plugins/download/http.py                       564      77  86.35%   233, 275-278, 340-343, 346, 353-358, 389-391, 408, 423, 483, 518, 532, 546, 556-560, 576-581, 592, 611, 648-651, 672, 682, 689, 854, 886, 916-925, 961, 986-987, 1006-1011, 1020, 1035-1037, 1041, 1044, 1059-1060, 1144, 1196, 1238-1239, 1251, 1261, 1311-1312, 1342, 1362, 1403-1405, 1459-1460
plugins/search/__init__.py                      25       0  100.00%
plugins/search/base.py                         196      21  89.29%   109, 113, 137-143, 200-203, 218-221, 296, 317, 442, 492, 525-528, 537
plugins/search/build_search_result.py          594     118  80.13%   257-258, 294, 298, 318, 377, 547-558, 568-570, 653, 681-687, 703-704, 712, 714, 723, 744-749, 766-800, 831, 855, 857, 924, 932-936, 957, 967, 993, 1038, 1062, 1090, 1108-1123, 1173, 1198, 1201, 1205, 1214, 1220, 1258-1279, 1320, 1347-1348, 1357-1366, 1430, 1445, 1451, 1470-1479, 1600-1601, 1645, 1654-1656, 1713, 1761-1771
plugins/search/cop_marine.py                   268      56  79.10%   57, 65-67, 77-78, 83, 88-89, 105, 107, 110, 176-177, 220, 236, 242, 246, 250, 261, 272-273, 281, 313-316, 322, 343, 347, 351, 355, 359-363, 369-372, 375-392, 409-412, 465-469, 474, 486
plugins/search/creodias_s3.py                   29       1  96.55%   59
plugins/search/csw.py                          112      87  22.32%   99-100, 104-105, 113-170, 176-189, 197-229, 247-288
plugins/search/qssearch.py                     826      94  88.62%   415-416, 533-534, 557-558, 570-574, 789-795, 853, 949, 956, 1027, 1048, 1051-1052, 1070, 1079-1080, 1107, 1179, 1188, 1193-1210, 1219, 1234, 1243-1246, 1256, 1278, 1367, 1390, 1463-1464, 1470, 1560, 1667-1671, 1742, 1745, 1749-1750, 1771-1774, 1786, 1808-1820, 1828, 1863-1865, 1888-1894, 1901, 1955, 1978, 1983-1984, 1999, 2005, 2015, 2105, 2109, 2120, 2144, 2157, 2165-2175, 2213-2217
plugins/search/stac_list_assets.py              25      10  60.00%   44-51, 75-85
plugins/search/static_stac_search.py            84      18  78.57%   99-127, 166-169, 182, 224
resources/__init__.py                            0       0  100.00%
resources/shp/__init__.py                        0       0  100.00%
types/__init__.py                              167      43  74.25%   58, 62, 71-75, 86-98, 126-128, 135-140, 216, 219, 257, 267-283, 288, 290, 312, 317, 325, 335
types/bbox.py                                   39      19  51.28%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                          10       0  100.00%
types/queryables.py                            112       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
types/stac_extensions.py                       114       1  99.12%   282
types/stac_metadata.py                         116      16  86.21%   92, 113-114, 147, 177-191, 200-207
utils/__init__.py                              608      43  92.93%   71, 206, 237-238, 247-273, 276, 291, 371-375, 450-454, 534, 574-575, 604, 982-985, 1036, 1055-1056, 1085, 1103-1104, 1216, 1304, 1468, 1557, 1572, 1581, 1593, 1783
utils/cache.py                                  22       0  100.00%
utils/dates.py                                 113       4  96.46%   171, 329-331
utils/env.py                                     3       0  100.00%
utils/exceptions.py                             47       0  100.00%
utils/free_text_search.py                       65       2  96.92%   83, 91
utils/import_system.py                          28      19  32.14%   64-78, 89-99
utils/logging.py                                28       1  96.43%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   38       0  100.00%
utils/requests.py                               55      29  47.27%   51-52, 64, 85-96, 107-124, 128
utils/s3.py                                    240      12  95.00%   200-203, 245, 263, 489, 537-538, 585, 660, 686
utils/stac_reader.py                           113      44  61.06%   63-85, 95-97, 101, 138, 154-159, 206-216, 226-256
TOTAL                                        10174    1371  86.52%

Diff against develop

Filename                                 Stmts    Miss  Cover
-------------------------------------  -------  ------  -------
config.py                                   -1       0  -0.02%
api/product/metadata_mapping.py             +2      +2  -0.24%
plugins/apis/ecmwf.py                       -6       0  -0.50%
plugins/search/base.py                       0      +3  -1.53%
plugins/search/build_search_result.py      +90     +35  -3.40%
plugins/search/qssearch.py                  +3       0  +0.04%
TOTAL                                      +88     +40  -0.28%

Results for commit: f58a0e9

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@pdavid-cssopra pdavid-cssopra force-pushed the feat--1904-remove-ecmwf-search-default-dates branch 4 times, most recently from a298633 to e7869a3 Compare January 27, 2026 15:15
@pdavid-cssopra pdavid-cssopra marked this pull request as ready for review January 27, 2026 15:37
@pdavid-cssopra pdavid-cssopra force-pushed the feat--1904-remove-ecmwf-search-default-dates branch 3 times, most recently from 0c2fe9a to c4d0bd5 Compare February 3, 2026 15:01
@pdavid-cssopra pdavid-cssopra force-pushed the feat--1904-remove-ecmwf-search-default-dates branch 4 times, most recently from fa7780c to be21f29 Compare February 16, 2026 09:17
@sbrunato sbrunato marked this pull request as draft February 16, 2026 16:28
@pdavid-cssopra pdavid-cssopra marked this pull request as ready for review February 17, 2026 15:39
@pdavid-cssopra pdavid-cssopra force-pushed the feat--1904-remove-ecmwf-search-default-dates branch from be21f29 to d0553d7 Compare February 19, 2026 14:22
@pdavid-cssopra pdavid-cssopra force-pushed the feat--1904-remove-ecmwf-search-default-dates branch from d0553d7 to 4d13184 Compare February 26, 2026 08:28
@pdavid-cssopra pdavid-cssopra self-assigned this Feb 26, 2026
@pdavid-cssopra pdavid-cssopra force-pushed the feat--1904-remove-ecmwf-search-default-dates branch from 4d13184 to 5c8bec6 Compare March 4, 2026 13:40
@pdavid-cssopra pdavid-cssopra force-pushed the feat--1904-remove-ecmwf-search-default-dates branch from 5c8bec6 to f58a0e9 Compare March 17, 2026 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants