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>
+ <p>New packages as of $DATE:</p>
+ <ul>$ADDEDLIST</ul>
+ <p>Packages removed:</p>
+ <ul>$REMOVEDLIST</ul>
+ </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