def _init(self): dth = DatetimeHelper() path = o_getattr(self, '_path') if not path or not os.path.exists(path): return file = open(path, 'r') tree = etree.parse(file) file.close() root = tree.getroot() data = o_getattr(self, '_data') for elem in root.getchildren(): children = elem.getchildren() if children: subchildren = children[0].getchildren() # case dict like if subchildren: val = odict() for subelem in children: entry_elems = subelem.getchildren() val[entry_elems[0].text] = entry_elems[1].text # case list like else: val = list() for subelem in children: value = subelem.text if not value: value = '' val.append(dth.r_value(value.strip())) data[elem.tag] = val else: value = elem.text if not value: value = '' data[elem.tag] = dth.r_value(value.strip()) file.close()
def test_DatetimeHelper(self): # Helper object for read/write operations with datetime values helper = DatetimeHelper() dt = datetime(2010, 1, 1, 10, 15) self.assertEqual(dt.isoformat(), '2010-01-01T10:15:00') self.assertEqual(helper.dt_to_iso(dt), '2010-01-01T10:15:00') dt = datetime(2010, 1, 1, 10, 15, 10, 5) self.assertEqual(dt.isoformat(), '2010-01-01T10:15:10.000005') self.assertEqual(helper.dt_to_iso(dt), '2010-01-01T10:15:10') self.assertEqual(helper.dt_from_iso('2010-01-01T10:15:00'), datetime(2010, 1, 1, 10, 15)) self.assertEqual(helper.dt_from_iso(u'2010-01-01T10:15:00'), datetime(2010, 1, 1, 10, 15)) self.assertEqual(helper.r_value(u'äöü'), u'äöü') self.assertEqual(helper.r_value(b'\xc3\xa4\xc3\xb6\xc3\xbc'), u'äöü') self.assertEqual(helper.r_value('2010-01-01T10:15:00'), datetime(2010, 1, 1, 10, 15)) self.assertEqual(helper.w_value(b'abc'), u'abc') self.assertEqual(helper.w_value(u'abc'), u'abc') self.assertEqual(helper.w_value(u'äöü'), u'äöü') self.assertEqual(helper.w_value(dt), u'2010-01-01T10:15:10') self.assertEqual(helper.w_value(0), u'0') self.assertEqual(helper.w_value(0.0), u'0.0') self.assertEqual(helper.w_value(None), u'None') self.assertEqual(helper.w_value(True), u'True') self.assertEqual(helper.w_value(False), u'False')
def _init(self): dth = DatetimeHelper() path = object.__getattribute__(self, '_path') if not path or not os.path.exists(path): return file = open(path, 'r') tree = etree.parse(file) file.close() root = tree.getroot() data = object.__getattribute__(self, '_data') for elem in root.getchildren(): children = elem.getchildren() if children: subchildren = children[0].getchildren() # case dict like if subchildren: val = odict() for subelem in children: entry_elems = subelem.getchildren() val[entry_elems[0].text] = entry_elems[1].text # case list like else: val = list() for subelem in children: value = subelem.text if not value: value = '' val.append(dth.r_value(value.strip())) data[elem.tag] = val else: value = elem.text if not value: value = '' data[elem.tag] = dth.r_value(value.strip()) file.close()
def test_DatetimeHelper(self): # Helper object for read/write operations with datetime values helper = DatetimeHelper() dt = datetime(2010, 1, 1, 10, 15) self.assertEqual(dt.isoformat(), '2010-01-01T10:15:00') self.assertEqual(helper.dt_to_iso(dt), '2010-01-01T10:15:00') dt = datetime(2010, 1, 1, 10, 15, 10, 5) self.assertEqual(dt.isoformat(), '2010-01-01T10:15:10.000005') self.assertEqual(helper.dt_to_iso(dt), '2010-01-01T10:15:10') self.assertEqual( helper.dt_from_iso('2010-01-01T10:15:00'), datetime(2010, 1, 1, 10, 15) ) self.assertEqual( helper.dt_from_iso(u'2010-01-01T10:15:00'), datetime(2010, 1, 1, 10, 15) ) self.assertEqual(helper.r_value(u'äöü'), u'äöü') self.assertEqual(helper.r_value(b'\xc3\xa4\xc3\xb6\xc3\xbc'), u'äöü') self.assertEqual( helper.r_value('2010-01-01T10:15:00'), datetime(2010, 1, 1, 10, 15) ) self.assertEqual(helper.w_value(b'abc'), u'abc') self.assertEqual(helper.w_value(u'abc'), u'abc') self.assertEqual(helper.w_value(u'äöü'), u'äöü') self.assertEqual(helper.w_value(dt), u'2010-01-01T10:15:10') self.assertEqual(helper.w_value(0), u'0') self.assertEqual(helper.w_value(0.0), u'0.0') self.assertEqual(helper.w_value(None), u'None') self.assertEqual(helper.w_value(True), u'True') self.assertEqual(helper.w_value(False), u'False')