Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

123456789101112131415161718192021222324252627282930313233343536373839
  1. # to generate sitemaps
  2. frame_xml = """<?xml version="1.0" encoding="UTF-8"?>
  3. <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">%s
  4. </urlset>"""
  5. link_xml = """\n<url><loc>%s</loc><lastmod>%s</lastmod></url>"""
  6. # generate the sitemap XML
  7. def generate_xml(conn, site_prefix):
  8. global frame_xml, link_xml
  9. import urllib
  10. # settings
  11. max_doctypes = 10
  12. max_items = 1000
  13. site_map = ''
  14. page_list = []
  15. if site_prefix:
  16. # list of all Records that are viewable by guests (Blogs, Articles etc)
  17. try:
  18. from startup.event_handlers import get_sitemap_items
  19. for i in get_sitemap_items(site_prefix):
  20. site_map += link_xml % (i[0], i[1])
  21. ('/' in i[0]) and page_list.append(i[0].split('/')[1]) or i[0]
  22. except ImportError, e:
  23. pass
  24. # list of all Guest pages (static content)
  25. for r in conn.sql("SELECT name, modified FROM tabPage WHERE ifnull(publish,0)=1 ORDER BY modified DESC"):
  26. #check for double
  27. if r[0] not in page_list:
  28. page_url = site_prefix + '#!' + urllib.quote(r[0])
  29. site_map += link_xml % (page_url, r[1].strftime('%Y-%m-%d'))
  30. return frame_xml % site_map