forked from ScoDoc/ScoDoc
Fix: xml exports double quote
This commit is contained in:
parent
45a5c8ae81
commit
1a096b53bc
@ -183,18 +183,18 @@ def formation_import_xml(doc: str, import_tags=True):
|
|||||||
# log("formation_import_xml: doc=%s" % doc)
|
# log("formation_import_xml: doc=%s" % doc)
|
||||||
try:
|
try:
|
||||||
dom = xml.dom.minidom.parseString(doc)
|
dom = xml.dom.minidom.parseString(doc)
|
||||||
except:
|
except Exception as exc:
|
||||||
log("formation_import_xml: invalid XML data")
|
log("formation_import_xml: invalid XML data")
|
||||||
raise ScoValueError("Fichier XML invalide")
|
raise ScoValueError("Fichier XML invalide") from exc
|
||||||
|
|
||||||
try:
|
try:
|
||||||
f = dom.getElementsByTagName("formation")[0] # or dom.documentElement
|
f = dom.getElementsByTagName("formation")[0] # or dom.documentElement
|
||||||
D = sco_xml.xml_to_dicts(f)
|
D = sco_xml.xml_to_dicts(f)
|
||||||
except:
|
except Exception as exc:
|
||||||
raise ScoFormatError(
|
raise ScoFormatError(
|
||||||
"""Ce document xml ne correspond pas à un programme exporté par ScoDoc.
|
"""Ce document xml ne correspond pas à un programme exporté par ScoDoc.
|
||||||
(élément 'formation' inexistant par exemple)."""
|
(élément 'formation' inexistant par exemple)."""
|
||||||
)
|
) from exc
|
||||||
assert D[0] == "formation"
|
assert D[0] == "formation"
|
||||||
F = D[1]
|
F = D[1]
|
||||||
# F_quoted = F.copy()
|
# F_quoted = F.copy()
|
||||||
@ -213,14 +213,14 @@ def formation_import_xml(doc: str, import_tags=True):
|
|||||||
res = cursor.fetchall()
|
res = cursor.fetchall()
|
||||||
try:
|
try:
|
||||||
version = int(res[0][0]) + 1
|
version = int(res[0][0]) + 1
|
||||||
except:
|
except (ValueError, IndexError, TypeError):
|
||||||
version = 1
|
version = 1
|
||||||
F["version"] = version
|
F["version"] = version
|
||||||
# create formation
|
# create formation
|
||||||
# F_unquoted = F.copy()
|
# F_unquoted = F.copy()
|
||||||
# unescape_html_dict(F_unquoted)
|
# unescape_html_dict(F_unquoted)
|
||||||
formation_id = sco_edit_formation.do_formation_create(F)
|
formation_id = sco_edit_formation.do_formation_create(F)
|
||||||
log("formation %s created" % formation_id)
|
log(f"formation {formation_id} created")
|
||||||
ues_old2new = {} # xml ue_id : new ue_id
|
ues_old2new = {} # xml ue_id : new ue_id
|
||||||
modules_old2new = {} # xml module_id : new module_id
|
modules_old2new = {} # xml module_id : new module_id
|
||||||
# (nb: mecanisme utilise pour cloner semestres seulement, pas pour I/O XML)
|
# (nb: mecanisme utilise pour cloner semestres seulement, pas pour I/O XML)
|
||||||
|
@ -704,7 +704,7 @@ def sendXML(
|
|||||||
tagname=None,
|
tagname=None,
|
||||||
force_outer_xml_tag=True,
|
force_outer_xml_tag=True,
|
||||||
attached=False,
|
attached=False,
|
||||||
quote=True,
|
quote=False,
|
||||||
filename=None,
|
filename=None,
|
||||||
):
|
):
|
||||||
if type(data) != list:
|
if type(data) != list:
|
||||||
@ -724,7 +724,7 @@ def sendResult(
|
|||||||
format=None,
|
format=None,
|
||||||
force_outer_xml_tag=True,
|
force_outer_xml_tag=True,
|
||||||
attached=False,
|
attached=False,
|
||||||
quote_xml=True,
|
quote_xml=False,
|
||||||
filename=None,
|
filename=None,
|
||||||
):
|
):
|
||||||
if (format is None) or (format == "html"):
|
if (format is None) or (format == "html"):
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<formation id="220" titre="BUT R&amp;T" version="1" formation_code="V1RET" dept_id="5" acronyme="BUT R&amp;T" titre_officiel="Bachelor technologique réseaux et télécommunications" type_parcours="700" formation_id="220">
|
<formation id="220" titre="BUT R&T" version="1" formation_code="V1RET" dept_id="5" acronyme="BUT R&T" titre_officiel="Bachelor technologique réseaux et télécommunications" type_parcours="700" formation_id="220">
|
||||||
<ue acronyme="RT1.1" numero="1" titre="Administrer les réseaux et l’Internet" type="0" ue_code="UCOD11" ects="12.0" is_external="0" code_apogee="" coefficient="0.0" semestre_idx="1" color="#B80004" reference="1896">
|
<ue acronyme="RT1.1" numero="1" titre="Administrer les réseaux et l’Internet" type="0" ue_code="UCOD11" ects="12.0" is_external="0" code_apogee="" coefficient="0.0" semestre_idx="1" color="#B80004" reference="1896">
|
||||||
<matiere titre="Administrer les réseaux et l’Internet" numero="1">
|
<matiere titre="Administrer les réseaux et l’Internet" numero="1">
|
||||||
<module titre="Initiation aux réseaux informatiques" abbrev="Init aux réseaux informatiques" code="R101" heures_cours="0.0" heures_td="0.0" heures_tp="0.0" coefficient="1.0" ects="" semestre_id="1" numero="10" code_apogee="" module_type="2">
|
<module titre="Initiation aux réseaux informatiques" abbrev="Init aux réseaux informatiques" code="R101" heures_cours="0.0" heures_td="0.0" heures_tp="0.0" coefficient="1.0" ects="" semestre_id="1" numero="10" code_apogee="" module_type="2">
|
||||||
|
Loading…
Reference in New Issue
Block a user