poldek-rss: . poldekdiff.sh

patrys cvs at pld-linux.org
Thu Nov 3 21:11:43 CET 2005


Author: patrys
Date: Thu Nov  3 21:11:38 2005
New Revision: 6513

Added:
   poldek-rss/
   poldek-rss/poldekdiff.sh   (contents, props changed)
Log:
- poldek RSS generator


Added: poldek-rss/poldekdiff.sh
==============================================================================
--- (empty file)
+++ poldek-rss/poldekdiff.sh	Thu Nov  3 21:11:38 2005
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+TEMPDIR=~/tmp
+DESTDIR=/srv/http/planet/poldek
+KEEPHIST=14
+POLDEK=/usr/bin/ipoldek
+
+$POLDEK -q --skip-installed ls > "$TEMPDIR/poldek.prev"
+$POLDEK -q --noask --up > /dev/null || $POLDEK -q --noask --upa > /dev/null
+$POLDEK -q --skip-installed ls > "$TEMPDIR/poldek.curr"
+
+ADDEDLIST=$(diff -u $TEMPDIR/poldek.prev $TEMPDIR/poldek.curr | grep -e "^+[^+]" | sed 's#^\+\(.*\)$#\<li\>\1\</li\>#')
+REMOVEDLIST=$(diff -u $TEMPDIR/poldek.prev $TEMPDIR/poldek.curr | grep -e "^-[^-]" | sed 's#^\-\(.*\)$#\<li\>\1\</li\>#')
+
+if [ ! -z "$ADDEDLIST" -o ! -z "$REMOVEDLIST" ]
+then
+	for i in $(seq $(($KEEPHIST - 1)) -1 1)
+	do
+		if [ -e "$TEMPDIR/poldek.$i" ]
+		then
+			mv "$TEMPDIR/poldek.$i" "$TEMPDIR/poldek.$(($i + 1))"
+		fi
+	done
+
+	DATE=$(date -R)
+
+	if [ -z "$ADDEDLIST" ]
+	then
+		ADDEDLIST="<li>none</li>"
+	fi
+
+	if [ -z "$REMOVEDLIST" ]
+	then
+		REMOVEDLIST="<li>none</li>"
+	fi
+
+	THELIST="
+		<item>
+			<guid isPermaLink=\"false\">http://pld-linux.org/</guid>
+			<pubDate>$DATE</pubDate>
+			<title>FTP Traffic Update</title>
+			<author>FTP Traffic Data</author>
+			<description>
+				&lt;p&gt;New packages as of $DATE:&lt;/p&gt;
+				&lt;ul&gt;$ADDEDLIST&lt;/ul&gt;
+				&lt;p&gt;Packages removed:&lt;/p&gt;
+				&lt;ul&gt;$REMOVEDLIST&lt;/ul&gt;
+			</description>
+		</item>"
+
+	echo $THELIST > "$TEMPDIR/poldek.1"
+
+	RSS="<rss version=\"2.0\">
+	<channel>
+		<title>PLD FTP Traffic</title>
+		<link>http://pld-linux.org/</link>
+		<description>Automated FTP traffic data for PLD Linux</description>
+		<managingEditor>patrys at pld-linux.org</managingEditor>
+		<lastBuildDate>$DATE</lastBuildDate>"
+	for i in $(seq $KEEPHIST)
+	do
+		if [ -e "$TEMPDIR/poldek.$i" ]
+		then
+			ITEM=$(cat "$TEMPDIR/poldek.$i")
+			RSS="$RSS$ITEM"
+		fi
+	done
+	RSS="$RSS
+	</channel>
+</rss>"
+	echo "$RSS" > "$DESTDIR/poldek.rss"
+	chmod 644 "$DESTDIR/poldek.rss"
+fi



More information about the pld-cvs-commit mailing list