first
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
"""Transliterace diakritiky pro PPL CPL API.
|
||||
|
||||
CPL API přijímá pouze Latin znaky bez diakritiky (A-Z, 0-9, základní interpunkce).
|
||||
České texty (jména, adresy, poznámky) proto před odesláním převádíme přes
|
||||
unidecode ("Jiří Dvořák" -> "Jiri Dvorak"). Aplikuje se rekurzivně na všechny
|
||||
stringové hodnoty v JSON těle; klíče se nemění.
|
||||
"""
|
||||
from typing import Any
|
||||
|
||||
from unidecode import unidecode
|
||||
|
||||
|
||||
def transliterate_json(value: Any) -> Any:
|
||||
if isinstance(value, str):
|
||||
return unidecode(value)
|
||||
if isinstance(value, list):
|
||||
return [transliterate_json(item) for item in value]
|
||||
if isinstance(value, dict):
|
||||
return {key: transliterate_json(item) for key, item in value.items()}
|
||||
return value
|
||||
Reference in New Issue
Block a user