def update_feed(): """Generate events.rss into the event directory.""" feedName = os.path.join(builder.config.EVENT_DIR, "events.rss") print "Updating feed in %s..." % feedName out = file(feedName, 'wt') print >> out, '<?xml version="1.0" encoding="UTF-8"?>' print >> out, '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">' print >> out, '<channel>' print >> out, '<title>Doomsday Engine Builds</title>' print >> out, '<link>http://dengine.net/</link>' print >> out, '<atom:link href="%s/events.rss" rel="self" type="application/rss+xml" />' % builder.config.BUILD_URI print >> out, '<description>Automated binary builds of the Doomsday Engine.</description>' print >> out, '<language>en-us</language>' print >> out, '<webMaster>[email protected] (Jaakko Keränen)</webMaster>' print >> out, '<lastBuildDate>%s</lastBuildDate>' % time.strftime( builder.config.RFC_TIME, time.gmtime(builder.find_newest_event()['time'])) print >> out, '<generator>autobuild.py</generator>' print >> out, '<ttl>180</ttl>' # 3 hours for timestamp, ev in builder.events_by_time(): print >> out, '<item>' print >> out, '<title>Build %i</title>' % ev.number() print >> out, '<link>%s/%s/</link>' % ("http://dengine.net", ev.tag()) print >> out, '<author>[email protected] (skyjake)</author>' print >> out, '<pubDate>%s</pubDate>' % time.strftime( builder.config.RFC_TIME, time.gmtime(timestamp)) print >> out, '<atom:summary>%s</atom:summary>' % ev.text_summary() print >> out, '<description>%s</description>' % ev.html_description() print >> out, '<guid isPermaLink="false">%s</guid>' % ev.tag() print >> out, '</item>' write_index_html(ev.tag()) # Close. print >> out, '</channel>' print >> out, '</rss>'
def update_feed(): """Generate events.rss into the event directory.""" feedName = os.path.join(builder.config.EVENT_DIR, "events.rss") print "Updating feed in %s..." % feedName out = file(feedName, 'wt') print >> out, '<?xml version="1.0" encoding="UTF-8"?>' print >> out, '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">' print >> out, '<channel>' print >> out, '<title>Doomsday Engine Builds</title>' print >> out, '<link>http://dengine.net/</link>' print >> out, '<atom:link href="%s/events.rss" rel="self" type="application/rss+xml" />' % builder.config.BUILD_URI print >> out, '<description>Automated binary builds of the Doomsday Engine.</description>' print >> out, '<language>en-us</language>' print >> out, '<webMaster>[email protected] (Jaakko Keränen)</webMaster>' print >> out, '<lastBuildDate>%s</lastBuildDate>' % time.strftime(builder.config.RFC_TIME, time.gmtime(builder.find_newest_event()['time'])) print >> out, '<generator>autobuild.py</generator>' print >> out, '<ttl>180</ttl>' # 3 hours for timestamp, ev in builder.events_by_time(): print >> out, '<item>' print >> out, '<title>Build %i</title>' % ev.number() print >> out, '<link>%s/%s/</link>' % ("http://dengine.net", ev.tag()) print >> out, '<author>[email protected] (skyjake)</author>' print >> out, '<pubDate>%s</pubDate>' % time.strftime(builder.config.RFC_TIME, time.gmtime(timestamp)) print >> out, '<atom:summary>%s</atom:summary>' % ev.text_summary() print >> out, '<description>%s</description>' % ev.html_description() print >> out, '<guid isPermaLink="false">%s</guid>' % ev.tag() print >> out, '</item>' write_index_html(ev.tag()) # Close. print >> out, '</channel>' print >> out, '</rss>'
def update_feed(): """Generate events.rss into the event directory.""" feedName = os.path.join(builder.config.EVENT_DIR, "events.rss") print "Updating feed in %s..." % feedName out = file(feedName, 'wt') print >> out, '<?xml version="1.0" encoding="UTF-8"?>' print >> out, '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">' print >> out, '<channel>' print >> out, '<title>Doomsday Engine Builds</title>' print >> out, '<link>http://dengine.net/</link>' print >> out, '<atom:link href="%s/events.rss" rel="self" type="application/rss+xml" />' % builder.config.BUILD_URI print >> out, '<description>Automated binary builds of the Doomsday Engine.</description>' print >> out, '<language>en-us</language>' print >> out, '<webMaster>[email protected] (Jaakko Keränen)</webMaster>' print >> out, '<lastBuildDate>%s</lastBuildDate>' % time.strftime(builder.config.RFC_TIME, time.gmtime(builder.find_newest_event()['time'])) print >> out, '<generator>autobuild.py</generator>' print >> out, '<ttl>180</ttl>' # 3 hours allEvents = [] for timestamp, ev in builder.events_by_time(): allEvents.append((timestamp, ev)) print >> out, '<item>' print >> out, '<title>Build %i</title>' % ev.number() print >> out, '<link>%s/%s/</link>' % ("http://files.dengine.net/builds", ev.name) print >> out, '<author>[email protected] (skyjake)</author>' print >> out, '<pubDate>%s</pubDate>' % time.strftime(builder.config.RFC_TIME, time.gmtime(timestamp)) print >> out, '<atom:summary>%s</atom:summary>' % ev.text_summary() print >> out, '<description>%s</description>' % ev.html_description() print >> out, '<guid isPermaLink="false">%s</guid>' % ev.tag() print >> out, '</item>' write_report_html(ev.tag()) # Close. print >> out, '</channel>' print >> out, '</rss>' # Write a index page for all the builds. versions = {} text = '<p class="links"><a href="events.rss">RSS Feed</a> | <a href="events.xml">XML Feed</a></p>' text += '<h2>Latest Builds</h2>' text += '<div class="buildlist">' for timestamp, ev in allEvents: eventVersion = '.'.join(ev.version().split('.')[:2]) if eventVersion in versions: versions[eventVersion].append(ev) else: versions[eventVersion] = [ev] text += '<div class="build %s"><a href="http://files.dengine.net/builds/build%i"><div class="buildnumber">%i</div><div class="builddate">%s</div><div class="buildversion">%s</div></a></div>' % (ev.release_type(), ev.number(), ev.number(), time.strftime('%b %d', time.gmtime(timestamp)), ev.version()) text += '</div>' text += '<h2>Versions</h2>' for version in versions.keys(): text += '<h3>%s</h3>' % version text += '<div class="buildlist">' for ev in versions[version]: text += '<div class="build %s"><a href="http://files.dengine.net/builds/build%i"><div class="buildnumber">%i</div><div class="builddate">%s</div><div class="buildversion">%s</div></a></div>' % (ev.release_type(), ev.number(), ev.number(), time.strftime('%b %d', time.gmtime(ev.timestamp())), ev.version()) text += '</div>' write_html_page(os.path.join(builder.config.EVENT_DIR, "index.html"), 'Doomsday Autobuilder', text)
def update_feed(): """Generate events.rss into the event directory.""" feedName = os.path.join(builder.config.EVENT_DIR, "events.rss") print "Updating feed in %s..." % feedName out = file(feedName, 'wt') print >> out, '<?xml version="1.0" encoding="UTF-8"?>' print >> out, '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">' print >> out, '<channel>' print >> out, '<title>Doomsday Engine Builds</title>' print >> out, '<link>http://dengine.net/</link>' print >> out, '<atom:link href="%s/events.rss" rel="self" type="application/rss+xml" />' % builder.config.BUILD_URI print >> out, '<description>Automated binary builds of the Doomsday Engine.</description>' print >> out, '<language>en-us</language>' print >> out, '<webMaster>[email protected] (Jaakko Keränen)</webMaster>' print >> out, '<lastBuildDate>%s</lastBuildDate>' % time.strftime( builder.config.RFC_TIME, time.gmtime(builder.find_newest_event()['time'])) print >> out, '<generator>autobuild.py</generator>' print >> out, '<ttl>180</ttl>' # 3 hours allEvents = [] for timestamp, ev in builder.events_by_time(): allEvents.append((timestamp, ev)) print >> out, '<item>' print >> out, '<title>Build %i</title>' % ev.number() print >> out, '<link>%s/%s/</link>' % ("http://dengine.net", ev.tag()) print >> out, '<author>[email protected] (skyjake)</author>' print >> out, '<pubDate>%s</pubDate>' % time.strftime( builder.config.RFC_TIME, time.gmtime(timestamp)) print >> out, '<atom:summary>%s</atom:summary>' % ev.text_summary() print >> out, '<description>%s</description>' % ev.html_description() print >> out, '<guid isPermaLink="false">%s</guid>' % ev.tag() print >> out, '</item>' write_report_html(ev.tag()) # Close. print >> out, '</channel>' print >> out, '</rss>' # Write a index page for all the builds. versions = {} text = '<p class="links"><a href="events.rss">RSS Feed</a> | <a href="events.xml">XML Feed</a> | <a href="apt">Apt Repository</a></p>' text += '<h2>Latest Builds</h2>' text += '<div class="buildlist">' for timestamp, ev in allEvents: eventVersion = '.'.join(ev.version().split('.')[:2]) if eventVersion in versions: versions[eventVersion].append(ev) else: versions[eventVersion] = [ev] text += '<div class="build %s"><a href="http://code.iki.fi/builds/build%i"><div class="buildnumber">%i</div><div class="builddate">%s</div><div class="buildversion">%s</div></a></div>' % ( ev.release_type(), ev.number(), ev.number(), time.strftime('%b %d', time.gmtime(timestamp)), ev.version()) text += '</div>' text += '<h2>Versions</h2>' for version in versions.keys(): text += '<h3>%s</h3>' % version text += '<div class="buildlist">' for ev in versions[version]: text += '<div class="build %s"><a href="http://code.iki.fi/builds/build%i"><div class="buildnumber">%i</div><div class="builddate">%s</div><div class="buildversion">%s</div></a></div>' % ( ev.release_type(), ev.number(), ev.number(), time.strftime('%b %d', time.gmtime( ev.timestamp())), ev.version()) text += '</div>' write_html_page(os.path.join(builder.config.EVENT_DIR, "index.html"), 'Doomsday Autobuilder', text)