diff --git a/facho/fe/data/dian/codelist/Idioma-2.1.gc b/facho/fe/data/dian/codelist/Idioma-2.1.gc new file mode 100644 index 0000000..60b86b1 --- /dev/null +++ b/facho/fe/data/dian/codelist/Idioma-2.1.gc @@ -0,0 +1,36 @@ + + + + + Idioma + Idioma + 1 + + + + ISO 639 1 + + + + Nombre + + + + CodeKey + + + + + + + es + + + EspaƱol, castellano + + + + diff --git a/facho/fe/nomina/lugar.py b/facho/fe/nomina/lugar.py new file mode 100644 index 0000000..8ffca88 --- /dev/null +++ b/facho/fe/nomina/lugar.py @@ -0,0 +1,24 @@ +from dataclasses import dataclass + +from .pais import Pais +from .departamento import Departamento +from .municipio import Municipio +from facho.fe.data.dian import codelist + +@dataclass +class Lugar: + pais: Pais + departamento: Departamento + municipio: Municipio + idioma: str = 'es' + + def __post_init__(self): + if self.idioma not in codelist.IdiomaISO6391: + raise ValueError("idioma [%s] not found" % (self.code)) + codelist.IdiomaISO6391[self.idioma]['iso-639-1'] + + def apply(self, fragment, root): + fragment.set_attributes(root, + Pais=self.pais.code, + DepartamentoEstado=self.departamento.code, + MunicipioCiudad=self.municipio.code)