aboutsummaryrefslogtreecommitdiff
path: root/pyblog
diff options
context:
space:
mode:
Diffstat (limited to 'pyblog')
-rwxr-xr-xpyblog43
1 files changed, 3 insertions, 40 deletions
diff --git a/pyblog b/pyblog
index 038276f3..845177fa 100755
--- a/pyblog
+++ b/pyblog
@@ -436,48 +436,11 @@ def generate_index(feed):
os.remove(tmppath)
-def make_sitemap_url_element(link, updated=None, changefreq=None, priority=None):
- """Make a sitemap <url> element.
-
- Parameters
- ----------
- link : str or xml.etree.ElementTree.Element
- If using an xml.etree.ElementTree.Element element, then it shall
- be an atom:link element, e.g., <link href="http://zmwangx.github.io/"/>.
- updated : datetime or xml.etree.ElementTree.Element, optional
- If using an xml.etree.ElementTree.Element element, then it shall
- be an atom:updated element, e.g.,
- <updated>2015-05-05T22:38:42-07:00</updated>.
- changefreq : {"always", "hourly", "daily", "weekly", "monthly", "yearly", "never"}, optional
- priority : {1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1}, optional
-
- """
-
- urlelem = ET.Element("url")
- loc = ET.Element("loc")
- loc.text = link.attrib["href"] if isinstance(link, ET._Element) else link
- urlelem.append(loc)
- if updated is not None:
- lastmod = ET.Element("lastmod")
- lastmod.text = (updated.text if isinstance(updated, ET._Element)
- else updated.isoformat())
- urlelem.append(lastmod)
- if changefreq is not None:
- changefreq_elem = ET.Element("changefreq")
- changefreq_elem.text = changefreq
- urlelem.append(changefreq_elem)
- if priority is not None:
- priority_elem = ET.Element("priority")
- priority_elem.text = "%.1f" % priority
- urlelem.append(priority_elem)
- return urlelem
-
-
def generate_sitemap(feed):
"""Generate sitemap.xml."""
sitemap = ET.Element("urlset", xmlns="http://www.sitemaps.org/schemas/sitemap/0.9")
# index
- sitemap.append(make_sitemap_url_element(BLOG_HOME, feed.updated, "daily", 1.0))
+ sitemap.append(utils.make_sitemap_url_element(BLOG_HOME, feed.updated, "daily", 1.0))
# other top level pages
for name in os.listdir(BUILDDIR):
if (not name.endswith(".html") or name == "index.html" or
@@ -493,11 +456,11 @@ def generate_sitemap(feed):
updated_tag = soup.footer.find(attrs={"class": "updated"})
if updated_tag is not None:
updated = dateutil.parser.parse(updated_tag.text)
- sitemap.append(make_sitemap_url_element(link, updated, "monthly", 0.9))
+ sitemap.append(utils.make_sitemap_url_element(link, updated, "monthly", 0.9))
# blog entries
for entry in feed.entries:
- sitemap.append(make_sitemap_url_element(entry.link, entry.updated, "monthly", 0.9))
+ sitemap.append(utils.make_sitemap_url_element(entry.link, entry.updated, "monthly", 0.9))
sitemappath = os.path.join(BUILDDIR, "sitemap.xml")
with open(sitemappath, "w", encoding="utf-8") as sitemapfile:
sitemapfile.write('<?xml version="1.0" encoding="UTF-8"?>\n%s\n' %