From 024f6e82e68b9e862387ec541dd4ab4328d9df9c Mon Sep 17 00:00:00 2001 From: 藍挺瑋 Date: Fri, 21 Dec 2012 09:52:09 +0800 Subject: NTU CEIBA 解析支援,但網頁部份尚未實作(仍在測試中,可能修改 API) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 繳交日期之後會改成字串,因為其實只有期限比較重要而已...... --- ntuceiba/toxml.py | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 ntuceiba/toxml.py (limited to 'ntuceiba/toxml.py') 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') + -- cgit