36 lines
1 KiB
Python
36 lines
1 KiB
Python
"""
|
|
Helpers for loading and saving XML files. savesessionxml(session, filename) is
|
|
the main public interface here.
|
|
"""
|
|
|
|
import os.path
|
|
|
|
from core.enumerations import NodeTypes
|
|
from core.misc import nodeutils
|
|
from core.xml.xmlparser import core_document_parser
|
|
from core.xml.xmlwriter import core_document_writer
|
|
|
|
|
|
def open_session_xml(session, filename, start=False, nodecls=None):
|
|
"""
|
|
Import a session from the EmulationScript XML format.
|
|
"""
|
|
|
|
# set default node class when one is not provided
|
|
if not nodecls:
|
|
nodecls = nodeutils.get_node_class(NodeTypes.DEFAULT)
|
|
|
|
options = {'start': start, 'nodecls': nodecls}
|
|
doc = core_document_parser(session, filename, options)
|
|
if start:
|
|
session.name = os.path.basename(filename)
|
|
session.filename = filename
|
|
session.instantiate()
|
|
|
|
|
|
def save_session_xml(session, filename, version):
|
|
"""
|
|
Export a session to the EmulationScript XML format.
|
|
"""
|
|
doc = core_document_writer(session, version)
|
|
doc.writexml(filename)
|