From 46e8e97a9decde2d0af4d1346bbec33d3d4c89bc Mon Sep 17 00:00:00 2001 From: Benjamin Kellermann Date: Thu, 2 Jul 2009 08:33:04 +0200 Subject: =?UTF-8?q?struktur=20von=20atom.cgi=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- atom_single.rb | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 atom_single.rb (limited to 'atom_single.rb') diff --git a/atom_single.rb b/atom_single.rb new file mode 100755 index 0000000..557c4b0 --- /dev/null +++ b/atom_single.rb @@ -0,0 +1,47 @@ +#!/usr/bin/env ruby + +################################ +# Author: Benjamin Kellermann # +# Licence: CC-by-sa 3.0 # +# see Licence # +################################ + +require "rubygems" +require "atom" +require "yaml" +require "cgi" +require "time" +load "config.rb" + +$cgi = CGI.new + + +feed = Atom::Feed.new +olddir = File.expand_path(".") +Dir.chdir("..") +load "config.rb" +require "poll" +require "datepoll" +require "timepoll" +Dir.chdir(olddir) + +poll = YAML::load_file("data.yaml") + +feed.title = poll.name +feed.id = "urn:dudle:#{poll.class}:#{poll.name}" +feed.updated = File.new("data.yaml").mtime +feed.authors << Atom::Person.new(:name => 'dudle automatic notificator') +feed.links << Atom::Link.new(:href => SITEURL + "atom.cgi", :rel => "self") + +log = VCS.longhistory "." +log.each {|rev,time,comment| + feed.entries << Atom::Entry.new do |e| + e.title = comment + e.links << Atom::Link.new(:href => "#{SITEURL}?revision=#{rev}") + e.id = "urn:#{poll.class}:#{poll.name}:rev=#{rev}" + e.updated = time + end +} + + +$cgi.out("type" => "application/atom+xml"){ feed.to_xml } -- cgit v1.2.3