website view libs/get-latest.sh @ rev 746

mainpage: Add a feed grid (feeds are cached by a script and cron)
author Christophe Lincoln <pankso@slitaz.org>
date Sun Jan 23 23:01:40 2011 +0100 (2011-01-23)
parents
children 35688e566dbe
line source
1 #!/bin/sh
2 #
3 # Get latest commits and packages to display on the website main page.
4 # On Tank, this script is executed by cron each hour.
5 #
7 REPO="/home/slitaz/repos/wok"
8 URL="http://hg.slitaz.org/wok"
9 PKGS="/home/slitaz/cooking/packages"
10 CACHE="/var/cache/slitaz/website"
11 OUTPUT="$CACHE/latest.html"
13 # Feed URL's
14 SCN_FEED='http://scn.slitaz.org/rss.xml'
15 DOC_FEED='http://doc.slitaz.org/feed.php'
16 FORUM_FEED='http://forum.slitaz.org/discussions/feed.rss'
17 BUGS_FEED='http://labs.slitaz.org/issues.atom?query_id='
19 # Clean cache
20 mkdir -p $CACHE && cd $CACHE
21 rm *.xml
23 # Cache all feeds to save bandwitch (update by cron)
24 wget -O scn.xml $SCN_FEED
25 wget -O doc.xml $DOC_FEED
26 wget -O forum.xml $FORUM_FEED
27 wget -O bugs.xml $BUGS_FEED
29 # Latest Hg commits
30 echo -n "Getting latest commits... "
31 echo '<div class="feed-grid"><div class="right_box">' > $OUTPUT
32 echo '<h3><img src="pics/website/feed.png" alt=".png" />Latest commits</h3>' >> $OUTPUT
33 echo '<ul>' >> $OUTPUT
34 hg log --repository $REPO --limit 5 --no-merges \
35 --template " <li><strong>{date|shortdate}</strong> \
36 - <a href=\"$URL/rev/{rev}\">{desc}</a></li>\n" >> $OUTPUT 2> /dev/null
37 echo '</ul>' >> $OUTPUT
38 echo '</div>' >> $OUTPUT
39 echo "Done"
41 # Latest cooked packages by the build bot.
42 echo -n "Getting latest cooked packages... "
43 echo '<div class="left_box">' >> $OUTPUT
44 echo '<h3><img src="pics/website/feed.png" alt=".png" />Latest cooked packages</h3>' >> $OUTPUT
45 echo '<ul>' >> $OUTPUT
46 cd $PKGS && ls -1t *.tazpkg | head -5 | \
47 while read file
48 do
49 echo -n ' <li><strong>'$(stat -c '%y' $PKGS/$file | \
50 cut -d ' ' -f 1); echo "</strong> - $file</li>"
51 done >> $OUTPUT
52 echo '</ul>' >> $OUTPUT
53 echo '</div></div>' >> $OUTPUT
54 echo "Done"