Skip to content

Commit b905a22

Browse files
author
Hans-christian
committed
apply sourcery comments
1 parent 88ceaf2 commit b905a22

File tree

2 files changed

+29
-32
lines changed

2 files changed

+29
-32
lines changed

ckanext/gdi_userportal/helpers.py

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ def _ensure_data_dict(data: dict[str, Any] | None, package_id: str | None) -> di
2121
if data is not None:
2222
return data
2323

24-
if not package_id:
25-
return {}
24+
if package_id:
25+
try:
26+
return tk.get_action("package_show")(
27+
{"ignore_auth": True}, {"id": package_id}
28+
)
29+
except (tk.ObjectNotFound, tk.NotAuthorized):
30+
pass
2631

27-
try:
28-
return tk.get_action("package_show")(
29-
{"ignore_auth": True}, {"id": package_id}
30-
)
31-
except (tk.ObjectNotFound, tk.NotAuthorized):
32-
return {}
32+
return {}
3333

3434

3535
def _value_from_extras(data_dict: dict[str, Any], field_name: str) -> Any:
@@ -64,14 +64,10 @@ def _is_missing_value(value: Any) -> bool:
6464
return value.strip() == ""
6565

6666
if isinstance(value, dict):
67-
if not value:
68-
return True
69-
return all(_is_missing_value(v) for v in value.values())
67+
return not value or all(_is_missing_value(v) for v in value.values())
7068

7169
if isinstance(value, (list, tuple, set)):
72-
if not value:
73-
return True
74-
return all(_is_missing_value(v) for v in value)
70+
return not value or all(_is_missing_value(v) for v in value)
7571

7672
return False
7773

ckanext/gdi_userportal/logic/action/translation_utils.py

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -182,24 +182,7 @@ def replace_search_facets(data, translation_dict, lang):
182182

183183

184184
def _apply_translated_properties(data: Any, preferred_lang: str, fallback_lang: str = DEFAULT_FALLBACK_LANG):
185-
if isinstance(data, dict):
186-
for key, value in list(data.items()):
187-
if isinstance(value, dict):
188-
_apply_translated_properties(value, preferred_lang, fallback_lang)
189-
elif isinstance(value, list):
190-
data[key] = [
191-
_apply_translated_properties(item, preferred_lang, fallback_lang)
192-
if isinstance(item, (dict, list))
193-
else item
194-
for item in value
195-
]
196-
197-
for key, value in list(data.items()):
198-
if key.endswith(TRANSLATED_SUFFIX) and isinstance(value, dict):
199-
base_key = key[:-len(TRANSLATED_SUFFIX)]
200-
data[base_key] = _select_translated_value(value, preferred_lang, fallback_lang)
201-
elif key in LANGUAGE_VALUE_FIELDS and isinstance(value, dict):
202-
data[key] = _select_translated_value(value, preferred_lang, fallback_lang)
185+
if not isinstance(data, (dict, list)):
203186
return data
204187

205188
if isinstance(data, list):
@@ -210,6 +193,24 @@ def _apply_translated_properties(data: Any, preferred_lang: str, fallback_lang:
210193
for item in data
211194
]
212195

196+
for key, value in list(data.items()):
197+
if isinstance(value, dict):
198+
_apply_translated_properties(value, preferred_lang, fallback_lang)
199+
elif isinstance(value, list):
200+
data[key] = [
201+
_apply_translated_properties(item, preferred_lang, fallback_lang)
202+
if isinstance(item, (dict, list))
203+
else item
204+
for item in value
205+
]
206+
207+
for key, value in list(data.items()):
208+
if key.endswith(TRANSLATED_SUFFIX) and isinstance(value, dict):
209+
base_key = key[:-len(TRANSLATED_SUFFIX)]
210+
data[base_key] = _select_translated_value(value, preferred_lang, fallback_lang)
211+
elif key in LANGUAGE_VALUE_FIELDS and isinstance(value, dict):
212+
data[key] = _select_translated_value(value, preferred_lang, fallback_lang)
213+
213214
return data
214215

215216

0 commit comments

Comments
 (0)