Skip to content

Commit b066f48

Browse files
Jorge Fernandez Hernandezbsipocz
authored andcommitted
EUCLIDMNGT-1275 Update implementation
1 parent 3db0e42 commit b066f48

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed

astroquery/esa/euclid/core.py

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1591,36 +1591,39 @@ def get_scientific_data_product_list(self, *, observation_id=None, tile_index=No
15911591
f"Invalid combination of parameters: category={category}; group={group}. Valid "
15921592
f"values:\n {pprint.pformat(conf.VALID_LE3_PRODUCT_TYPES_CATEGORIES_GROUPS)}")
15931593

1594+
product_type_for_category_list = conf.VALID_LE3_PRODUCT_TYPES_CATEGORIES_GROUPS[category][group]
1595+
15941596
if product_type is not None:
15951597

1596-
if product_type not in conf.VALID_LE3_PRODUCT_TYPES_CATEGORIES_GROUPS[category][group]:
1598+
if product_type not in product_type_for_category_list:
15971599
raise ValueError(
15981600
f"Invalid combination of parameters: category={category}; group={group}; "
15991601
f"product_type={product_type}. Valid values:\n "
16001602
f"{pprint.pformat(conf.VALID_LE3_PRODUCT_TYPES_CATEGORIES_GROUPS)}")
16011603

1602-
query_extra_condition = query_extra_condition + (f" AND category={category} AND group={group} AND "
1603-
f"product_type={product_type} ")
1604+
query_extra_condition = query_extra_condition + f" AND product_type ='{product_type}' "
16041605
else:
1605-
query_extra_condition = query_extra_condition + f" AND category={category} AND group={group} "
1606-
else:
1607-
if product_type is not None:
16081606

1609-
product_type_list = [item for row in
1610-
conf.VALID_LE3_PRODUCT_TYPES_CATEGORIES_GROUPS[category].values()
1611-
for item in row]
1607+
final_products = ', '.join(f"'{w}'" for w in product_type_for_category_list)
1608+
query_extra_condition = query_extra_condition + f" AND product_type IN ({final_products}) "
1609+
else: # category is not None and group is None
1610+
1611+
product_type_for_category_list = [item for row in
1612+
conf.VALID_LE3_PRODUCT_TYPES_CATEGORIES_GROUPS[category].values()
1613+
for item in row]
1614+
if product_type is not None:
16121615

1613-
if product_type not in product_type_list:
1616+
if product_type not in product_type_for_category_list:
16141617
raise ValueError(
16151618
f"Invalid combination of parameters: category={category}; product_type={product_type}."
16161619
f" Valid values:\n {pprint.pformat(conf.VALID_LE3_PRODUCT_TYPES_CATEGORIES_GROUPS)}")
16171620

1618-
query_extra_condition = query_extra_condition + (f" AND category={category} AND product_type="
1619-
f"{product_type} ")
1621+
query_extra_condition = query_extra_condition + f" AND product_type = '{product_type}' "
16201622

1621-
else:
1622-
query_extra_condition = query_extra_condition + f" AND category={category} "
1623-
else:
1623+
else: # category is not None and group is None and product_type is None
1624+
final_products = ', '.join(f"'{w}'" for w in product_type_for_category_list)
1625+
query_extra_condition = query_extra_condition + f" AND product_type IN ({final_products}) "
1626+
else: # category is None
16241627

16251628
category_group_dict = {}
16261629
for i in conf.VALID_LE3_PRODUCT_TYPES_CATEGORIES_GROUPS.keys():
@@ -1642,22 +1645,26 @@ def get_scientific_data_product_list(self, *, observation_id=None, tile_index=No
16421645
f"Invalid combination of parameters: group={group}; product_type={product_type}. Valid "
16431646
f"values:\n {pprint.pformat(conf.VALID_LE3_PRODUCT_TYPES_CATEGORIES_GROUPS)}")
16441647

1645-
query_extra_condition = query_extra_condition + (f" AND group={group} AND product_type="
1646-
f"{product_type} ")
1647-
else:
1648-
query_extra_condition = query_extra_condition + f" AND group={group} "
1648+
query_extra_condition = query_extra_condition + f" AND product_type = '{product_type}' "
1649+
else: # product_type is None
16491650

1650-
else:
1651+
product_type_for_category_list = [element for sublist in category_group_dict.values() for element in
1652+
sublist]
1653+
final_products = ', '.join(f"'{w}'" for w in product_type_for_category_list)
1654+
query_extra_condition = query_extra_condition + f" AND product_type IN ({final_products}) "
1655+
1656+
else: # category is None and group is None
16511657

1652-
product_type_list = [element for row in category_group_dict.values() for element in row]
1658+
product_type_for_category_list = [element for sublist in category_group_dict.values() for element in
1659+
sublist]
16531660

16541661
if product_type is not None:
1655-
if product_type not in product_type_list:
1662+
if product_type not in product_type_for_category_list:
16561663
raise ValueError(
16571664
f"Invalid combination of parameters: product_type={product_type}. Valid values:\n "
16581665
f"{pprint.pformat(conf.VALID_LE3_PRODUCT_TYPES_CATEGORIES_GROUPS)}")
16591666

1660-
query_extra_condition = query_extra_condition + f" AND product_type={product_type} "
1667+
query_extra_condition = query_extra_condition + f" AND product_type = '{product_type}' "
16611668

16621669
else:
16631670
query_extra_condition = query_extra_condition + ""

0 commit comments

Comments
 (0)