diff options
author | Benjamin Kellermann <Benjamin.Kellermann@gmx.de> | 2008-10-27 18:07:56 +0100 |
---|---|---|
committer | Benjamin Kellermann <Benjamin.Kellermann@gmx.de> | 2008-10-27 18:07:56 +0100 |
commit | 45e436c9a88291c0bb59cb41598a7720a5369902 (patch) | |
tree | 3cface6001cc4beb49186d88e2df290d21dcb6b3 /atom.cgi | |
parent | d028e846fbfe87baf1e0c6f4a54ac13df9f0b8fc (diff) |
improved feed support for overview feed
Diffstat (limited to 'atom.cgi')
-rwxr-xr-x | atom.cgi | 24 |
1 files changed, 16 insertions, 8 deletions
@@ -32,7 +32,7 @@ if File.exist?("data.yaml") feed.entries << Atom::Entry.new do |e| e.title = l[1] e.links << Atom::Link.new(:href => "http://#{cgi.server_name}#{cgi.script_name.gsub(/atom.cgi$/,"")}?revision=#{i+1}") - e.id = "urn:#{poll.class}:#{poll.name}:rev:#{i+1}" + e.id = "urn:#{poll.class}:#{poll.name}:rev=#{i+1}" e.updated = l[0] end } @@ -46,7 +46,7 @@ else Dir.glob("*/data.yaml").sort_by{|f| File.new(f).mtime - }.reverse.collect{|f| + }.reverse.collect{|f| f.gsub(/\/data\.yaml$/,'') }.each{|site| unless YAML::load_file("#{site}/data.yaml" ).hidden @@ -54,12 +54,20 @@ else firstround = false feed.updated = File.new("#{site}/data.yaml").mtime end - feed.entries << Atom::Entry.new do |e| - e.title = site - e.links << Atom::Link.new(:href => site) - e.id = "urn:dudle:main:#{site}" - e.updated = File.new("#{site}/data.yaml").mtime - end + + log = `export LC_ALL=de_DE.UTF-8; bzr log --forward #{site}`.split("-"*60) + log.collect!{|s| s.scan(/\nrevno:.*\ncommitter.*\n.*\ntimestamp: (.*)\nmessage:\n (.*)/).flatten} + log.shift + log.collect!{|t,c| [DateTime.parse(t),c]} + log.each_with_index {|l,i| + feed.entries << Atom::Entry.new do |e| + e.title = site + e.summary = l[1] + e.links << Atom::Link.new(:href => site) + e.id = "urn:dudle:main:#{site}:rev=#{i+1}" + e.updated = l[0] + end + } end } |