Improve code quality.

master
Fabio Caccamo 2024-03-07 10:19:28 +01:00
parent b1bb5d0437
commit ce37e112df
1 changed files with 17 additions and 15 deletions

View File

@ -142,24 +142,26 @@ def admin_interface_date_hierarchy_removal_link(changelist, date_field_name):
date_label = " ".join(date_labels).lower() date_label = " ".join(date_labels).lower()
params = changelist.get_filters_params() params = changelist.get_filters_params()
date_params = [p for p in params if p.startswith(date_field_name)] date_params = [param for param in params if param.startswith(date_field_name)]
date_args = [datetime.datetime.now().year, 1, 1] date_args = [datetime.datetime.now().year, 1, 1]
year = params.get(f"{date_field_name}__year")
if year:
date_args[0] = int(year[0]) if isinstance(year, list) else int(year)
date_format = "Y" date_format = "Y"
date_filters = (
if f"{date_field_name}__month" in params: ("year", "Y"),
month = params[f"{date_field_name}__month"] ("month", "YEAR_MONTH_FORMAT"),
date_args[1] = int(month[0]) if isinstance(month, list) else int(month) ("day", "DATE_FORMAT"),
date_format = "YEAR_MONTH_FORMAT" )
for index, date_filter in enumerate(date_filters):
if f"{date_field_name}__day" in params: date_filter_key, date_filter_format = date_filter
day = params[f"{date_field_name}__day"] date_filter_param = f"{date_field_name}__{date_filter_key}"
date_args[2] = int(day[0]) if isinstance(day, list) else int(day) if date_filter_param in params:
date_format = "DATE_FORMAT" param = params[date_filter_param]
date_args[index] = (
int(param[0]) if isinstance(param, (list, tuple)) else int(param)
)
date_format = date_filter_format
continue
break
date_value = datetime.date(*date_args) date_value = datetime.date(*date_args)
removal_link = changelist.get_query_string(remove=date_params) removal_link = changelist.get_query_string(remove=date_params)