Skip to content

Commit

Permalink
#10: constants __ATTRIBUTUM_OPTIONEM__ and __ATTRIBUTUM_DEFALLO__
Browse files Browse the repository at this point in the history
  • Loading branch information
fititnt committed Nov 27, 2021
1 parent 50c8fe2 commit ae4eb61
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 19 deletions.
70 changes: 58 additions & 12 deletions bin/hxltmdexml.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,37 @@
[eng-Latn]_"
""".format(__VERSION__)

__ATTRIBUTUM_OPTIONEM__ = {
# No annotationem (text notes) at concept level: please use meta_conceptum
'annotationem': [
'#meta+linguam+__linguam__+annotationem',
'#meta+terminum+__linguam__+annotationem',
],
'annotationem_linguam': ['#meta+linguam+__linguam__+annotationem'],
'annotationem_terminum': ['#meta+terminum+__linguam__+annotationem'],
'codicem': ['#item+conceptum+codicem'],
'codicem_conceptum': [
'#item+conceptum+codicem'
],
'dominium': ['#item+conceptum+dominium'],
'index_de_terminum': ['#item+conceptum+index_de_terminum'],
'meta': [
'#meta+conceptum',
'#meta+linguam+__linguam__',
'#meta+terminum+__linguam__',
],
'meta_conceptum': ['#meta+conceptum'],
'meta_linguam': ['#meta+linguam+__linguam__'],
'meta_terminum': ['#meta+terminum+__linguam__'],
'rem': ['#item+terminum+__linguam__+rem'],
}
__ATTRIBUTUM_DEFALLO__ = [
# 'codicem' # hardcoded, cannot be removed
# 'rem' # hardcoded, cannot be removed
'index_de_terminum',
'meta'
]

# tag::epilogum[]
__EPILOGUM__ = """
Exemplōrum gratiā:
Expand Down Expand Up @@ -366,21 +397,22 @@ def make_args(self):
nargs='?'
)


parser.add_argument(
'--agendum-attribatum', '-AA',
help='(draft, not fully implemented). Additional attributes'
'to import/export. Required for some'
'--agendum-attributum', '-AA',
help='(draft, not fully implemented). Additional attributes '
'to import/export. Required for some '
'multilinguam formats (like TBX) both to '
'avoid scan the source file and to be sure about HXL attributes '
'of the output format. '
'Example I: item+rem '
'Example II (TBX IATE, es,en,fr,la,pt,mul): '
'spa-Latn@es,eng-Latn@en,fra-Latn@fr,lat-Latn@la,por-Latn@pt,'
'mul-Zyyy',
metavar='agendum_linguam',
'Default: {0}. Options: [{1}]'.format(
','.join(__ATTRIBUTUM_DEFALLO__),
' '.join(__ATTRIBUTUM_OPTIONEM__.keys())
),
default=','.join(__ATTRIBUTUM_DEFALLO__),
metavar='agendum_attributum',
action='append',
nargs='?'
nargs='?',
type=lambda x: map(int, x.split(','))
)

parser.add_argument(
Expand Down Expand Up @@ -474,6 +506,7 @@ def execute_cli(
objectvum_archivum,
# agendum_linguam=pyargs.agendum_linguam,
agendum_linguam=agendum_linguam,
agendum_attributum=pyargs.agendum_attributum,
fontem_linguam=pyargs.fontem_linguam,
objectivum_linguam=pyargs.objectivum_linguam,
)
Expand Down Expand Up @@ -547,6 +580,7 @@ class HXLTMdeXML:

objectvum_archivum = sys.stdout,
_agendum_linguam: Type[List['HXLTMLinguam']] = []
_agendum_attributum: Type[List[str]] = []
_fontem_linguam: Type['HXLTMLinguam'] = None
_objectivum_linguam: Type['HXLTMLinguam'] = None

Expand All @@ -564,7 +598,8 @@ def __init__(
fontem_archivum=sys.stdin.buffer,
objectvum_archivum=sys.stdout,
# agendum_linguam: Type[List['HXLTMLinguam']] = None,
agendum_linguam: List[str] = None,
agendum_linguam: List[str] = [],
agendum_attributum: List[str] = [],
fontem_linguam: str = None,
objectivum_linguam: str = None,
):
Expand Down Expand Up @@ -597,6 +632,9 @@ def __init__(
for item in agendum_linguam:
self._agendum_linguam.append(HXLTMLinguam(item))

if agendum_attributum:
self._agendum_attributum = agendum_attributum

self._fontem_linguam = fontem_linguam
# if fontem_linguam:
# self._fontem_linguam = HXLTMLinguam(fontem_linguam)
Expand All @@ -608,6 +646,7 @@ def __init__(
self.in_formatum = XMLInFormatumHXLTM(
self._ontologia,
self._agendum_linguam,
self._agendum_attributum,
# self._fontem_linguam,
# self._objectivum_linguam
)
Expand Down Expand Up @@ -3273,6 +3312,7 @@ class XMLInFormatumHXLTM():
# linguam_collectionem = []
# linguam_agendum: Type[List['HXLTMLinguam']] = None
agendum_linguam: Type[List['HXLTMLinguam']] = []
agendum_attributum: List[str] = [],
fontem_linguam: Type['HXLTMLinguam'] = None
objectivum_linguam: Type['HXLTMLinguam'] = None

Expand All @@ -3297,7 +3337,8 @@ class XMLInFormatumHXLTM():
def __init__(
self,
ontologia: Type['HXLTMOntologia'],
agendum_linguam: Type[List['HXLTMLinguam']] = None,
agendum_linguam: Type[List['HXLTMLinguam']] = [],
agendum_attributum: Type[List[str]] = [],
fontem_linguam: Type['HXLTMLinguam'] = None,
objectivum_linguam: Type['HXLTMLinguam'] = None
):
Expand All @@ -3310,6 +3351,9 @@ def __init__(
if agendum_linguam:
self.agendum_linguam = agendum_linguam

if agendum_attributum:
self.agendum_attributum = agendum_attributum

if fontem_linguam:
self.fontem_linguam = fontem_linguam

Expand Down Expand Up @@ -3436,6 +3480,8 @@ def definitionem_linguam_objectivum(
def in_caput(self):
resultatum = []
resultatum.append('#item+conceptum+codicem')
# print('self.agendum_attributum', str(self.agendum_attributum))
# print('self.agendum_attributum', str(self.agendum_attributum[0]))
if self.fontem_linguam:
resultatum.append('#item+rem' + self.fontem_linguam.a())
if self._habendum_accuratum:
Expand Down
5 changes: 5 additions & 0 deletions testum/hxltm-salve-mundi.hxltm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,25 @@
<annotationem></annotationem>
<partem-orationis>nomen_substantivum</partem-orationis>
<rem>lat-Latn</rem>
<meta></meta>
</terminum>
<terminum>
<accuratum>6</accuratum>
<rem>lat</rem>
<partem-orationis>nomen_substantivum</partem-orationis>
<meta></meta>
</terminum>
<meta></meta>
</linguam>
<linguam _="arb-Arab">
<definitionem></definitionem>
<terminum>
<accuratum>10</accuratum>
<rem>arb-Arab</rem>
</terminum>
<meta></meta>
</linguam>
<meta></meta>
</conceptum>
</librarium>
</datum>
Expand Down
23 changes: 17 additions & 6 deletions testum/hxltmdexml--help_eng-Latn.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
usage: hxltmdexml [-h] [--agendum-linguam [agendum_linguam]]
[--agendum-attributum [agendum_attributum]]
[--fontem-linguam [fontem_linguam]]
[--objectivum-linguam [objectivum_linguam]]
[--archivum-configurationem] [--venandum-insectum-est]
Expand All @@ -19,12 +20,22 @@ optional arguments:
-h, --help show this help message and exit
--agendum-linguam [agendum_linguam], -AL [agendum_linguam]
List of working languages. Required for multilinguam
formats (like TBX and TBX) both to avoid scan the
source file and to be sure about HXL attributes of the
output format. Example I (Latin and Arabic): lat-
Latn@la,arb-Arab@ar . Example II (TBX IATE,
es,en,fr,la,pt,mul): spa-Latn@es,eng-Latn@en,fra-
Latn@fr,lat-Latn@la,por-Latn@pt,mul-Zyyy
formats (like TBX) both to avoid scan the source file
and to be sure about HXL attributes of the output
format. Example I (Latin and Arabic): lat-Latn@la,arb-
Arab@ar . Example II (TBX IATE, es,en,fr,la,pt,mul):
spa-Latn@es,eng-Latn@en,fra-Latn@fr,lat-Latn@la,por-
Latn@pt,mul-Zyyy
--agendum-attributum [agendum_attributum], -AA [agendum_attributum]
(draft, not fully implemented). Additional attributes
to import/export. Required for some multilinguam
formats (like TBX) both to avoid scan the source file
and to be sure about HXL attributes of the output
format. Default: index_de_terminum,meta. Options:
[annotationem annotationem_linguam
annotationem_terminum codicem codicem_conceptum
dominium index_de_terminum meta meta_conceptum
meta_linguam meta_terminum rem]
--fontem-linguam [fontem_linguam], -FL [fontem_linguam]
--objectivum-linguam [objectivum_linguam], -OL [objectivum_linguam]
--archivum-configurationem
Expand Down
2 changes: 1 addition & 1 deletion testum/resultatum/hxltm-salve-mundi.tm.hxl.csv
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#item+conceptum+codicem,#item+rem+i_lat+is_latn,#status+rem+accuratum+i_lat+is_latn,#item+rem+i_arb+is_arab,#status+rem+accuratum+i_arb+is_arab
L10N_ego_codicem,lat-Latn,10,arb-Arab,10
L10N_ego_codicem,lat,6,arb-Arab,10

0 comments on commit ae4eb61

Please sign in to comment.