[kde-services-devel] r534 - trunk/newstuff.kde.org
josef at new.kstuff.org
josef at new.kstuff.org
Sat Oct 3 19:11:19 CEST 2009
Author: josef
Date: 2009-10-03 19:11:18 +0200 (Sat, 03 Oct 2009)
New Revision: 534
Modified:
trunk/newstuff.kde.org/repos.php
Log:
- generate list of repositories automatically based on Hotstuff configuration directory
Modified: trunk/newstuff.kde.org/repos.php
===================================================================
--- trunk/newstuff.kde.org/repos.php 2009-10-03 16:32:11 UTC (rev 533)
+++ trunk/newstuff.kde.org/repos.php 2009-10-03 17:11:18 UTC (rev 534)
@@ -6,34 +6,68 @@
include("header.inc");
?>
+<?php
+function perlparser($file)
+{
+ $conf = array();
+ $ini = file_get_contents($file);
+ $lines = explode("\n", $ini);
+ foreach($lines as $line)
+ {
+ if ((strlen($line) == 0) or ($line[0] == "#")) :
+ continue;
+ endif;
+ $line = substr($line, 0, strlen($line) - 1);
+ $item = explode("=", $line);
+ if (sizeof($item) == 2) :
+ $item[0] = trim($item[0]);
+ $item[1] = trim($item[1]);
+ $key = substr($item[0], 1, strlen($item[0]) - 1);
+ $value = substr($item[1], 1, strlen($item[1]) - 2);
+ #echo "** $key :: $value<br>\n";
+ $conf[$key] = $value;
+ endif;
+ }
+ return $conf;
+}
+?>
+
<h3>Repositories on newstuff.kde.org</h3>
These repositories can be requested by the maintainers of the respective application.
They're all adhering to the latest GHNS specification as implemented by KNewStuff2.
<br/><br/>
-<a href="repo/kalzium">Kalzium</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=kalzium">provider</a> file)<br/>
-<a href="repo/kate">Kate</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=kate">provider</a> file)<br/>
-<a href="repo/khangman">KHangMan</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=kdeedu">provider</a> file)<br/>
-<a href="repo/okular">Okular</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=okular">provider</a> file)<br/>
-<a href="repo/kdiamond">KDiamond</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=kdiamond">provider</a> file)<br/>
-<a href="repo/kanagram">KAnagram</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=kanagram">provider</a> file)<br/>
-<a href="repo/kgoldrunner">KGoldrunner</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=kgoldrunner-dxs">provider</a> file)<br/>
-<a href="repo/kblocks">KBlocks</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=kblocks">provider</a> file)<br/>
-<a href="repo/parley">Parley</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=parleypractice-dxs">provider</a> file)<br/>
-<a href="repo/ktictactux">KTicTacTux</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=ktictactux">provider</a> file)<br/>
-<a href="repo/ksysguard">KSysGuard</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=ksysguard">provider</a> file)<br/>
-<a href="repo/kpat">KPat</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=kpat">provider</a> file)<br/>
-<a href="repo/kbounce">KBounce</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=kbounce">provider</a> file)<br/>
-<a href="repo/kbreakout">KBreakout</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=kbreakout">provider</a> file)<br/>
-<a href="repo/ksirk">KsirK</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=ksirk">provider</a> file)<br/>
-<a href="repo/palapeli">Palapeli</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=palapeli">provider</a> file)<br/>
-<a href="repo/ktron">KTron</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=ktron">provider</a> file)<br/>
-<a href="repo/publictransport">publicTransport</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=publictransport">provider</a> file)<br/>
-<a href="repo/cantor">Cantor</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=cantor">provider</a> file) [WebDAV]<br/>
-<!--
-<a href="repo/marble">Marble</a> (<a href="http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=marble">provider</a> file)<br/>
--->
+<?php
+$confdir = "/etc/hotstuff.d";
+$handle = opendir($confdir);
+while (false !== ($file = readdir($handle)))
+{
+ $excl = array(".", "..", ".svn");
+ if (!in_array($file, $excl))
+ {
+ #echo "* $file<br>\n";
+ #$conf = parse_ini_file("$confdir/$file", false, INI_SCANNER_RAW);
+ #$conf = parse_ini_string($ini, false);
+ $conf = perlparser("$confdir/$file");
+
+ $name = $conf["providername"];
+ $sysname = str_replace(".conf", "", $file);
+
+ echo "<a href='repo/$sysname'>$name</a> ";
+ echo "(<a href='http://newstuff.kde.org/cgi-bin/hotstuff-provider?site=$sysname'>provider</a> file, ";
+ echo "<a href='http://newstuff.kde.org/cgi-bin/hotstuff-stuff?site=$sysname&format=rss'>RSS</a> feed) ";
+ if ($conf["repository"]) :
+ echo "[SVN]";
+ else :
+ echo "[WebDAV]";
+ endif;
+ echo "<br/>";
+ }
+}
+closedir($handle);
+?>
+
<h3>External repositories</h3>
A number of other repositories exist. They might support the GHNS spec or the older
KNewStuff-only format.
More information about the kde-services-devel
mailing list