コード例 #1
0
ファイル: gcparse.py プロジェクト: timwswanson/tws-gnucash
def _transaction_fromxml(cls, element):
    subelements = gcxml.create_subelement_map(element)
    transaction_id = gcxml.get_element_text(subelements["trn:id"])
    currency = gcdomain.Commodity.FromXml(subelements["trn:currency"])
    date_posted = gcdomain.Timestamp.FromXml(subelements["trn:date-posted"])
    date_entered = gcdomain.Timestamp.FromXml(subelements["trn:date-entered"])
    description = gcxml.get_element_text(subelements["trn:description"])

    if "trn:slots" in subelements:
        slots = gcxml.apply_to_children(gcdomain.Slot.FromXml, subelements["trn:slots"])
    else:
        slots = []

    splits = gcxml.apply_to_children(gcdomain.Split.FromXml, subelements["trn:splits"])

    return cls(transaction_id, currency, date_posted, date_entered, description, slots, splits)
コード例 #2
0
ファイル: gcparse.py プロジェクト: timwswanson/tws-gnucash
def _slot_fromxml(cls, element):
    subelements = gcxml.create_subelement_map(element)
    key = gcxml.get_element_text(subelements["slot:key"])

    value_element = subelements["slot:value"]
    slot_type = value_element.getAttribute("type")

    if slot_type == cls.FRAME:
        value = gcxml.apply_to_children(cls.FromXml, value_element)
    else:
        value = gcxml.get_element_text(value_element)

    return cls(key, value, slot_type)
コード例 #3
0
ファイル: gcparse.py プロジェクト: timwswanson/tws-gnucash
def _account_fromxml(cls, element):
    subelements = gcxml.create_subelement_map(element)
    name = gcxml.get_element_text(subelements["act:name"])
    account_id = gcxml.get_element_text(subelements["act:id"])
    account_type = gcxml.get_element_text(subelements["act:type"])

    if "act:commodity" in subelements:
        commodity = gcdomain.Commodity.FromXml(subelements["act:commodity"])
        commodity_scu = gcxml.get_element_text(subelements["act:commodity-scu"])
    else:
        commodity = None
        commodity_scu = None

    if "act:slots" in subelements:
        slots = gcxml.apply_to_children(gcdomain.Slot.FromXml, subelements["act:slots"])
    else:
        slots = []

    if "act:parent" in subelements:
        parent_id = gcxml.get_element_text(subelements["act:parent"])
    else:
        parent_id = None

    return cls(name, account_id, account_type, commodity, commodity_scu, slots, parent_id)