From 54dc5304b69a91ea7a48d311b394fba99a185b77 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sun, 26 May 2019 00:15:15 +0200 Subject: Move make_sitemap_url_element function to external file --- pyblog | 43 +++---------------------------------------- 1 file changed, 3 insertions(+), 40 deletions(-) (limited to 'pyblog') 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 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., . - 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., - 2015-05-05T22:38:42-07:00. - 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('\n%s\n' % -- cgit v1.2.1