Skip to content

Commit

Permalink
Merge pull request #397 from ror-community/handle-error-multiple-lang…
Browse files Browse the repository at this point in the history
…-delimiters

bulk update handle case where name field value has too many * chars
  • Loading branch information
lizkrznarich committed May 1, 2024
2 parents 7c409d5 + 73f6398 commit ea1f523
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 22 deletions.
29 changes: 17 additions & 12 deletions rorapi/common/csv_create.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,21 +54,26 @@ def new_record_from_csv(csv_data, version):
if csv_data['names.types.' + v]:
for n in csv_data['names.types.' + v].strip(';').split(';'):
if LANG_DELIMITER in n:
name_val, lang = n.split("*")
if lang:
lang_errors, lang_code = get_lang_code(lang.strip())
if lang_errors:
errors.append("Could not convert language value to ISO code: {}".format(lang))
if n.count(LANG_DELIMITER) == 1:
name_val, lang = n.split("*")
if lang:
lang_errors, lang_code = get_lang_code(lang.strip())
if lang_errors:
errors.append("Could not convert language value to ISO code: {}".format(lang))
else:
name_val = None
lang_code = None
errors.append("Could not parse name value {} in names.types.{} because it contains multiple {} lang delimiter chars.".format(n, v, LANG_DELIMITER))
else:
name_val = n
lang_code = None

name_obj = {
"types": [v],
"value": name_val.strip(),
"lang": lang_code
}
temp_names.append(name_obj)
if name_val:
name_obj = {
"types": [v],
"value": name_val.strip(),
"lang": lang_code
}
temp_names.append(name_obj)
print("temp names 1:")
print(temp_names)
name_vals = [n['value'] for n in temp_names]
Expand Down
23 changes: 13 additions & 10 deletions rorapi/common/csv_update.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,18 +247,21 @@ def update_record_from_csv(csv_data, version):
"lang": None
}
if LANG_DELIMITER in val:
print("has lang delim")
name_val, lang = val.split("*")
vals_obj["value"] = name_val.strip()
if lang:
lang_errors, lang_code = get_lang_code(lang.strip())
if lang_errors:
errors.append("Could not convert language value to ISO code: {}".format(lang))
else:
vals_obj["lang"] = lang_code
if val.count(LANG_DELIMITER) == 1:
name_val, lang = val.split("*")
vals_obj["value"] = name_val.strip()
if lang:
lang_errors, lang_code = get_lang_code(lang.strip())
if lang_errors:
errors.append("Could not convert language value to ISO code: {}".format(lang))
else:
vals_obj["lang"] = lang_code
else:
errors.append("Could not parse name value {} in names.types.{} because it contains multiple {} lang delimiter chars.".format(val, t, LANG_DELIMITER))
else:
vals_obj["value"] = val.strip()
vals_obj_list.append(vals_obj)
if vals_obj["value"]:
vals_obj_list.append(vals_obj)
actions_values[k] = vals_obj_list
print("updated actions values")
print(actions_values)
Expand Down

0 comments on commit ea1f523

Please sign in to comment.