Ejemplo n.º 1
0
 def test_xpath(self):
     feed_elem = etree.XML(self.feed_xml.encode('utf-8'))
     # "*[local-name()='foo']" ignores namespaces and matches all nodes with tag "foo":
     timestamp = get_timestamp(
         feed_elem, "./*[local-name()='entry']/*[local-name()='updated']")
     self.assertEqual(timestamp,
                      datetime(2018, 4, 26, 10, 56, 10, tzinfo=tzutc()))
Ejemplo n.º 2
0
 def test_timezone(self):
     xml = re.sub(r'2018-05-15T14:02:08Z', '2018-05-15T14:02:08+0500',
                  self.feed_xml)
     feed_elem = etree.XML(xml.encode('utf-8'))
     timestamp = get_timestamp(feed_elem)
     self.assertEqual(
         timestamp,
         datetime(2018, 5, 15, 14, 2, 8, tzinfo=tzoffset(None,
                                                         5 * 60 * 60)))
Ejemplo n.º 3
0
 def test_timezone(self):
     xml = re.sub(r'2018-05-15T14:02:08Z', '2018-05-15T14:02:08+0500', self.feed_xml)
     feed_elem = etree.XML(xml.encode('utf-8'))
     timestamp = get_timestamp(feed_elem)
     self.assertEqual(timestamp, datetime(2018, 5, 15, 14, 2, 8, tzinfo=tzoffset(None, 5 * 60 * 60)))
Ejemplo n.º 4
0
 def test_bad_date(self):
     xml = re.sub(r'2018-05-15T14:02:08Z', 'Nevermore', self.feed_xml)
     feed_elem = etree.XML(xml.encode('utf-8'))
     with self.assertRaisesRegex(ValueError, r'Unknown string format'):
         get_timestamp(feed_elem)
Ejemplo n.º 5
0
 def test_xpath(self):
     feed_elem = etree.XML(self.feed_xml.encode('utf-8'))
     # "*[local-name()='foo']" ignores namespaces and matches all nodes with tag "foo":
     timestamp = get_timestamp(feed_elem, "./*[local-name()='entry']/*[local-name()='updated']")
     self.assertEqual(timestamp, datetime(2018, 4, 26, 10, 56, 10, tzinfo=tzutc()))
Ejemplo n.º 6
0
 def test_no_node(self):
     xml = re.sub(r'<updated.*</updated>', '', self.feed_xml)
     feed_elem = etree.XML(xml.encode('utf-8'))
     with self.assertRaisesRegex(ValueError, r'^XPath "./atom:updated" not found$'):
         get_timestamp(feed_elem)