aboutsummaryrefslogtreecommitdiffstats
path: root/ntuceiba/toxml.py
diff options
context:
space:
mode:
author藍挺瑋 <lantw44@gmail.com>2012-12-21 09:52:09 +0800
committerLAN-TW <lantw44@gmail.com>2012-12-21 09:52:09 +0800
commit024f6e82e68b9e862387ec541dd4ab4328d9df9c (patch)
treefa4475e16eae807d7340d77d0cb483b6d8baaf5e /ntuceiba/toxml.py
parent65b3e824ddc24ec7dc7bad883426ec88b1bcf39d (diff)
downloadinccalendar-024f6e82e68b9e862387ec541dd4ab4328d9df9c.tar.gz
inccalendar-024f6e82e68b9e862387ec541dd4ab4328d9df9c.tar.zst
inccalendar-024f6e82e68b9e862387ec541dd4ab4328d9df9c.zip
NTU CEIBA 解析支援,但網頁部份尚未實作(仍在測試中,可能修改 API)
繳交日期之後會改成字串,因為其實只有期限比較重要而已......
Diffstat (limited to 'ntuceiba/toxml.py')
-rw-r--r--ntuceiba/toxml.py70
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')
+