aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2008-02-25 19:33:34 +0000
committerKoen Kooi <koen@openembedded.org>2008-02-25 19:33:34 +0000
commit6f074d0c261bc84bce5e0de8df995582d68b5e7f (patch)
tree0b0b4caf9ed4fb4ad84a803a4ebc72c428dcdf25 /contrib
parent9d40e8d8f06159031f521ac806229ea00cd66f82 (diff)
downloadopenembedded-6f074d0c261bc84bce5e0de8df995582d68b5e7f.tar.gz
contrib feed-rss.php: php script that converts output from the feedsorter into rss
* see http://www.angstrom-distribution.org/feeds/2007/ipk/glibc/feed-rss.php for a demo
Diffstat (limited to 'contrib')
-rw-r--r--contrib/angstrom/feed-rss.php66
1 files changed, 66 insertions, 0 deletions
diff --git a/contrib/angstrom/feed-rss.php b/contrib/angstrom/feed-rss.php
new file mode 100644
index 0000000000..697095bf91
--- /dev/null
+++ b/contrib/angstrom/feed-rss.php
@@ -0,0 +1,66 @@
+<?php
+
+/*
+ * This generator expects only log from the feed sorter in a simple format:
+ * TIME FILENAME <LIBC TYPE>
+ *
+ * where TIME_OF_BUILD is epoch
+ *
+ * All what it does is parsing log and output it in reverse order (new packages
+ * first) in RSS 2.0 format.
+ *
+ * (C) 2007 Marcin Juszkiewicz
+ * (C) 2008 Koen Kooi
+ *
+ * License: MIT
+ *
+ */
+
+$build_link_base = 'http://www.angstrom-distribution.org/repo/';
+
+$builder_log_date = file('upload.txt');
+
+if(empty($builder_log_date))
+ die("No logs\n");
+
+$builder_log_date = array_reverse($builder_log_date);
+
+$rss_xml = new xmlWriter();
+
+if(!$rss_xml)
+ die("Unable to create XML Writer\n");
+
+$rss_xml->openMemory();
+
+$rss_xml->startDocument('1.0','utf-8');
+$rss_xml->startElement('rss');
+$rss_xml->writeAttribute('version', '2.0');
+
+$rss_xml->startElement('channel');
+
+$rss_xml->writeElement('title', 'Ångström package repository updates');
+$rss_xml->writeElement('link', $build_link_base);
+$rss_xml->writeElement('description', 'Ångström feed updates list');
+
+foreach($builder_log_date as $build)
+{
+ $build = str_replace("\n", "", $build);
+ $data = explode(' ', $build);
+ # $date[1] is in the form of: angstrom-feed-configs-dbg_1.0-r3_palmz72.ipk
+ $pkgdata = explode('_', $data[1]);
+
+ $rss_xml->startElement('item');
+ $rss_xml->writeElement('title', "{$pkgdata[0]} {$pkgdata[1]} for {$pkgdata[2]}");
+ $rss_xml->writeElement('link', "{$build_link_base}?action=details&pnm={$pkgdata[0]}");
+ $rss_xml->writeElement('pubDate', date('r', $data[0]));
+
+ $rss_xml->endElement();
+}
+
+$rss_xml->endElement();
+$rss_xml->endElement();
+
+echo $rss_xml->outputMemory(true);
+
+echo "\n";
+?>