diff options
Diffstat (limited to 'ntuceiba/toxml.py')
-rw-r--r-- | ntuceiba/toxml.py | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/ntuceiba/toxml.py b/ntuceiba/toxml.py new file mode 100644 index 0000000..4417f15 --- /dev/null +++ b/ntuceiba/toxml.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- + +from ntuceiba import NtuCeibaEvent +from datetime import datetime +from lxml import etree + +def XMLBuildNtuCaibaEvent(eleobj, cbobj): + newdata = etree.SubElement(eleobj, 'title') + newdata.text = cbobj.title + newdata = etree.SubElement(eleobj, 'member') + newdata.text = cbobj.member + newdata = etree.SubElement(eleobj, 'method') + newdata.text = cbobj.method + newdata = etree.SubElement(eleobj, 'percent') + newdata.text = cbobj.percent + newdata = etree.SubElement(eleobj, 'late') + newdata.text = str(cbobj.late) + newdate = etree.SubElement(eleobj, 'comment') + newdata.text = cbobj.comment + newdata = etree.SubElement(eleobj, 'red') + newdata.text = str(cbobj.red) + + if(cbobj.duedate == None): + newdata = etree.SubElement(eleobj, 'dueyear') + newdata.text = "" + newdata = etree.SubElement(eleobj, 'duemonth') + newdata.text = "" + newdata = etree.SubElement(eleobj, 'duedate') + newdata.text = "" + newdata = etree.SubElement(eleobj, 'duehour') + newdata.text = "" + else: + newdata = etree.SubElement(eleobj, 'dueyear') + newdata.text = str(cbobj.duedate.year) + newdata = etree.SubElement(eleobj, 'duemonth') + newdata.text = str(cbobj.duedate.month) + newdata = etree.SubElement(eleobj, 'duedate') + newdata.text = str(cbobj.duedate.day) + newdata = etree.SubElement(eleobj, 'duehour') + newdata.text = str(cbobj.duedate.hour) + + if(cbobj.subdate == None): + newdata = etree.SubElement(eleobj, 'subyear') + newdata.text = "" + newdata = etree.SubElement(eleobj, 'submonth') + newdata.text = "" + newdata = etree.SubElement(eleobj, 'subdate') + newdata.text = "" + newdata = etree.SubElement(eleobj, 'subhour') + newdata.text = "" + else: + newdata = etree.SubElement(eleobj, 'subyear') + newdata.text = str(cbobj.duedate.year) + newdata = etree.SubElement(eleobj, 'submonth') + newdata.text = str(cbobj.duedate.month) + newdata = etree.SubElement(eleobj, 'subdate') + newdata.text = str(cbobj.duedate.day) + newdata = etree.SubElement(eleobj, 'subhour') + newdata.text = str(cbobj.duedate.hour) + + +def ntuceiba_toxml(listobj): + xmlroot = etree.Element('ntuceiba') + for entry in listobj: + newevt = etree.SubElement(xmlroot, 'ncevent') + XMLBuildNtuCaibaEvent(newevt, entry) + + return etree.tostring(xmlroot, xml_declaration=True, encoding='UTF-8') + |