Example #1
0
 def test18_as_xml_part(self):
     r = [
         Resource(uri='a', lastmod='2006-01-01', length=12),
         Resource(uri='b', lastmod='2007-02-02', length=34),
         Resource(uri='c', lastmod='2008-03-03', length=56)
     ]
     lb = ListBaseWithIndex(resources=r)
     # Allow unlimited entries, part makes no sense
     lb.max_sitemap_entries = None
     self.assertRaises(ListBaseIndexError, lb.as_xml_part)
     # Request after end
     lb.max_sitemap_entries = 1
     self.assertRaises(ListBaseIndexError, lb.as_xml_part, part_number=9)
     # Allow only 1 entry
     lb.max_sitemap_entries = 1
     xml = lb.as_xml_part(part_number=1)
     self.assertFalse(re.search(r'<loc>a</loc>', xml))
     self.assertTrue(re.search(r'<loc>b</loc>', xml))
     self.assertFalse(re.search(r'<loc>c</loc>', xml))
     # Request truncated
     lb.max_sitemap_entries = 2
     xml = lb.as_xml_part(part_number=1)
     self.assertFalse(re.search(r'<loc>a</loc>', xml))
     self.assertFalse(re.search(r'<loc>b</loc>', xml))
     self.assertTrue(re.search(r'<loc>c</loc>', xml))
 def test17_as_xml_index(self):
     r = [Resource(uri='a', lastmod='2006-01-01', length=12),
          Resource(uri='b', lastmod='2007-02-02', length=34),
          Resource(uri='c', lastmod='2008-03-03', length=56)]
     lb = ListBaseWithIndex(resources=r)
     lb.max_sitemap_entries = 2
     xml = lb.as_xml_index()
     self.assertTrue(re.search(r'<loc>/tmp/sitemap00001.xml</loc>', xml))
     self.assertFalse(re.search(r'<loc>/tmp/sitemap00002.xml</loc>', xml))
     # Index not required
     lb.max_sitemap_entries = 3
     self.assertRaises(ListBaseIndexError, lb.as_xml_index)
Example #3
0
 def test17_as_xml_index(self):
     r = [
         Resource(uri='a', lastmod='2006-01-01', length=12),
         Resource(uri='b', lastmod='2007-02-02', length=34),
         Resource(uri='c', lastmod='2008-03-03', length=56)
     ]
     lb = ListBaseWithIndex(resources=r)
     lb.max_sitemap_entries = 2
     xml = lb.as_xml_index()
     self.assertTrue(re.search(r'<loc>/tmp/sitemap00001.xml</loc>', xml))
     self.assertFalse(re.search(r'<loc>/tmp/sitemap00002.xml</loc>', xml))
     # Index not required
     lb.max_sitemap_entries = 3
     self.assertRaises(ListBaseIndexError, lb.as_xml_index)
 def test16_as_xml(self):
     r = [Resource(uri='a', lastmod='2014-04-14', length=14),
          Resource(uri='b', lastmod='2015-05-15', length=15),
          Resource(uri='c', lastmod='2016-06-16', length=16)]
     lb = ListBaseWithIndex(resources=r)
     lb.max_sitemap_entries = 3
     # One file
     xml = lb.as_xml()
     self.assertTrue(re.search(r'<urlset ', xml))
     self.assertTrue(re.search(r'<loc>a</loc>', xml))
     self.assertTrue(re.search(r'<loc>b</loc>', xml))
     self.assertTrue(re.search(r'<loc>c</loc>', xml))
     # Needs multifile bit not allowed
     lb.max_sitemap_entries = 1
     self.assertRaises(ListBaseIndexError, lb.as_xml)
     # Allow multifile...
     xml = lb.as_xml(allow_multifile=True)
     self.assertTrue(re.search(r'<sitemapindex', xml))
     self.assertTrue(re.search(r'<loc>/tmp/sitemap00001.xml</loc>', xml))
     self.assertTrue(re.search(r'<loc>/tmp/sitemap00002.xml</loc>', xml))
     self.assertFalse(re.search(r'<loc>/tmp/sitemap00003.xml</loc>', xml))
 def test18_as_xml_part(self):
     r = [Resource(uri='a', lastmod='2006-01-01', length=12),
          Resource(uri='b', lastmod='2007-02-02', length=34),
          Resource(uri='c', lastmod='2008-03-03', length=56)]
     lb = ListBaseWithIndex(resources=r)
     # Allow unlimited entries, part makes no sense
     lb.max_sitemap_entries = None
     self.assertRaises(ListBaseIndexError, lb.as_xml_part)
     # Request after end
     lb.max_sitemap_entries = 1
     self.assertRaises(ListBaseIndexError, lb.as_xml_part, part_number=9)
     # Allow only 1 entry
     lb.max_sitemap_entries = 1
     xml = lb.as_xml_part(part_number=1)
     self.assertFalse(re.search(r'<loc>a</loc>', xml))
     self.assertTrue(re.search(r'<loc>b</loc>', xml))
     self.assertFalse(re.search(r'<loc>c</loc>', xml))
     # Request truncated
     lb.max_sitemap_entries = 2
     xml = lb.as_xml_part(part_number=1)
     self.assertFalse(re.search(r'<loc>a</loc>', xml))
     self.assertFalse(re.search(r'<loc>b</loc>', xml))
     self.assertTrue(re.search(r'<loc>c</loc>', xml))
Example #6
0
 def test16_as_xml(self):
     r = [
         Resource(uri='a', lastmod='2014-04-14', length=14),
         Resource(uri='b', lastmod='2015-05-15', length=15),
         Resource(uri='c', lastmod='2016-06-16', length=16)
     ]
     lb = ListBaseWithIndex(resources=r)
     lb.max_sitemap_entries = 3
     # One file
     xml = lb.as_xml()
     self.assertTrue(re.search(r'<urlset ', xml))
     self.assertTrue(re.search(r'<loc>a</loc>', xml))
     self.assertTrue(re.search(r'<loc>b</loc>', xml))
     self.assertTrue(re.search(r'<loc>c</loc>', xml))
     # Needs multifile bit not allowed
     lb.max_sitemap_entries = 1
     self.assertRaises(ListBaseIndexError, lb.as_xml)
     # Allow multifile...
     xml = lb.as_xml(allow_multifile=True)
     self.assertTrue(re.search(r'<sitemapindex', xml))
     self.assertTrue(re.search(r'<loc>/tmp/sitemap00001.xml</loc>', xml))
     self.assertTrue(re.search(r'<loc>/tmp/sitemap00002.xml</loc>', xml))
     self.assertFalse(re.search(r'<loc>/tmp/sitemap00003.xml</loc>', xml))
 def test02_print_iter(self):
     r = [Resource(uri='a', lastmod='2001-01-01', length=1234),
          Resource(uri='b', lastmod='2002-02-02', length=56789),
          Resource(uri='c', lastmod='2003-03-03', length=0)]
     # without setting count will barf on len() attempt
     lb = ListBaseWithIndex(resources=iter(r))
     self.assertRaises(TypeError, lb.as_xml)
     # set explicit count larger than max_sitemap_entiries and as_xml will
     # throw exception
     lb = ListBaseWithIndex(resources=iter(r), count=3)
     lb.max_sitemap_entries = 2
     self.assertRaises(ListBaseIndexError, lb.as_xml)
     # set explicit count and all will be OK
     lb = ListBaseWithIndex(resources=iter(r), count=3)
     lb.md['from'] = None  # avoid now being added
     self.assertEqual(lb.as_xml(), '<?xml version=\'1.0\' encoding=\'UTF-8\'?>\n<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:rs="http://www.openarchives.org/rs/terms/"><rs:md capability="unknown" /><url><loc>a</loc><lastmod>2001-01-01T00:00:00Z</lastmod><rs:md length="1234" /></url><url><loc>b</loc><lastmod>2002-02-02T00:00:00Z</lastmod><rs:md length="56789" /></url><url><loc>c</loc><lastmod>2003-03-03T00:00:00Z</lastmod><rs:md length="0" /></url></urlset>')
 def test_08_print_iter(self):
     r = [ Resource(uri='a',lastmod='2001-01-01',length=1234),
           Resource(uri='b',lastmod='2002-02-02',length=56789),
           Resource(uri='c',lastmod='2003-03-03',length=0) ]
     # without setting count will barf on len() attempt
     lb = ListBaseWithIndex( resources=iter(r) )
     self.assertRaises( TypeError, lb.as_xml )
     # set explicit count larger than max_sitemap_entiries and as_xml will throw exception
     lb = ListBaseWithIndex( resources=iter(r), count=3 )
     lb.max_sitemap_entries = 2
     self.assertRaises( ListBaseIndexError, lb.as_xml )
     # set explicit count and all will be OK
     lb = ListBaseWithIndex( resources=iter(r), count=3 )
     lb.md['from']=None #avoid now being added
     #print lb
     self.assertEqual( lb.as_xml(), '<?xml version=\'1.0\' encoding=\'UTF-8\'?>\n<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:rs="http://www.openarchives.org/rs/terms/"><rs:md capability="unknown" /><url><loc>a</loc><lastmod>2001-01-01T00:00:00Z</lastmod><rs:md length="1234" /></url><url><loc>b</loc><lastmod>2002-02-02T00:00:00Z</lastmod><rs:md length="56789" /></url><url><loc>c</loc><lastmod>2003-03-03T00:00:00Z</lastmod><rs:md length="0" /></url></urlset>' )