diff options
author | 藍挺瑋 <lantw44@gmail.com> | 2012-12-21 09:52:09 +0800 |
---|---|---|
committer | LAN-TW <lantw44@gmail.com> | 2012-12-21 09:52:09 +0800 |
commit | 024f6e82e68b9e862387ec541dd4ab4328d9df9c (patch) | |
tree | fa4475e16eae807d7340d77d0cb483b6d8baaf5e /ntuceiba/toxml.py | |
parent | 65b3e824ddc24ec7dc7bad883426ec88b1bcf39d (diff) | |
download | inccalendar-024f6e82e68b9e862387ec541dd4ab4328d9df9c.tar.gz inccalendar-024f6e82e68b9e862387ec541dd4ab4328d9df9c.tar.zst inccalendar-024f6e82e68b9e862387ec541dd4ab4328d9df9c.zip |
NTU CEIBA 解析支援,但網頁部份尚未實作(仍在測試中,可能修改 API)
繳交日期之後會改成字串,因為其實只有期限比較重要而已......
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') + |