summaryrefslogtreecommitdiff
path: root/contrib/angstrom/rss.php
blob: 2e1f49c4cc460a03c609379da99341c5b85ce2da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php

/*
 * This generator expect only log from autobuilder in simple format:
 * TIME_OF_BUILD BUILD_TARGET BUILD_MODE MACHINE
 *
 * where TIME_OF_BUILD is epoch
 *
 * All what it does is parsing log and output it in reverse order (new builds 
 * first) in RSS 2.0 format.
 *
 * (C) 2007 Marcin Juszkiewicz
 *
 * License: MIT
 *
 */

$build_link_base = 'http://www.angstrom-distribution.org/unstable/autobuild/';

$builder_log_date = file('autobuilder.log');

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 autobuilder updates');
$rss_xml->writeElement('link', $build_link_base);
$rss_xml->writeElement('description', 'Ångström autobuilder updates list');

foreach($builder_log_date as $build)
{
	$build = str_replace("\n", "", $build);
	$data = explode(' ', $build);

	$rss_xml->startElement('item');
	$rss_xml->writeElement('title', "{$data[1]} ({$data[2]}) built for {$data[3]} (" . date('c', $data[0]) . ")");
	$rss_xml->writeElement('link', "{$build_link_base}{$data[3]}/");
	$rss_xml->writeElement('pubDate', date('r', $data[0]));

	$rss_xml->endElement();
}

$rss_xml->endElement();
$rss_xml->endElement();

echo $rss_xml->outputMemory(true);   

echo "\n";
?>