diff options
author | Koen Kooi <koen@openembedded.org> | 2008-02-25 19:33:34 +0000 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2008-02-25 19:33:34 +0000 |
commit | 6f074d0c261bc84bce5e0de8df995582d68b5e7f (patch) | |
tree | 0b0b4caf9ed4fb4ad84a803a4ebc72c428dcdf25 /contrib | |
parent | 9d40e8d8f06159031f521ac806229ea00cd66f82 (diff) | |
download | openembedded-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.php | 66 |
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"; +?> |