# -*- coding: iso-8859-1 -*-
from webber import *
-import os, datetime
+import os, datetime, re
try:
import PyRSS2Gen
except ImportError:
link = full_url,
guid = PyRSS2Gen.Guid("%s %s" % (full_url, file["mtime"]), isPermaLink=0),
description = change,
- pubDate = datetime.datetime.fromtimestamp(file["mtime"], utc),
+ pubDate = file["mtime"]
)
items.append(item)
@set_hook("finish")
def finish(params):
+ # Sort items by pubDate, which still holds the mtime
+ items.sort(key=lambda i: i.pubDate, reverse=True)
+
+ # convert mtime to real pupDate
+ for i in items:
+ i.pubDate = datetime.datetime.fromtimestamp(i.pubDate, utc)
+
rss = PyRSS2Gen.RSS2(
title = cfg.subtitle,
link = "http://%s" % cfg.main_url,
pass
f = open(os.path.join(cfg.out_dir, cfg.rss_file), "w")
# Ugly XML beautification
- s = rss.to_xml().replace("<", "\n<").replace("\n\n", "\n")[1:]
+ s = rss.to_xml()
+ s = re.sub("<(?!/)", "\n<", s)
+ s = s.replace("\n\n", "\n")
# Step two of self-reference
s = s.replace('<channel>', '<channel>\n<atom:link href="http://%s/%s" rel="self" type="application/rss+xml" />' % (cfg.main_url, cfg.rss_file))
- f.write(s)
+ f.write(s[1:])
f.write("\n")