Advertisement
goebelmasse

Tageslosung der Herrnhuter Brüdergemeinde ausgeben

Nov 26th, 2014
362
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.72 KB | None | 0 0
  1. #!/bin/sh
  2. # -*- coding: utf-8 -*-
  3. ########################################################################
  4. #
  5. # losung
  6. # $Id: losung,v 1.5 2014/11/26 23:31:54 elias Exp $
  7. #
  8. # Die Tageslosung aus der Website extrahieren und anzeigen.
  9. #
  10. # Copyright (c) 2014 Elias Schwerdtfeger, http://www.tamagothi.de/
  11. #
  12. # Dieses Skript hat leider eine gute Chance, nicht mehr zu funktionieren,
  13. # wenn sich jemals etwas an der Website der Brudergemeinde ändert. Ich
  14. # hoffe aber, dass der Include noch lange so bestehen bleibt und so im
  15. # Quelltext markiert wird.
  16. #
  17. # Voraussetzungen:
  18. # - Lynx
  19. # - GNU Wget
  20. #
  21. # Lizenziert unter Pirtenlizenz.
  22. # Share and enjoy, but don't sue me!
  23. # http://www.tamagothi.de/impressum/lizenz/
  24. #
  25. ########################################################################
  26.  
  27. export PATH=/bin:/usr/bin  # Paranoia! Pfad normalisieren
  28. export LANG=               # Paranoia! Datumsformat bei ls sicherstellen
  29.  
  30. website='http://losungen.de/'
  31. tempfile=/tmp/losung.$$
  32. buffer=~/.losung-last
  33.  
  34. mustrebuild=0
  35. trap "rm -f $tempfile" 1 2 15
  36.  
  37. if test -f "$buffer"
  38. then
  39.     # Ist die Datei vom heutigen Tag?
  40.     touch $tempfile
  41.     mustrebuild=`ls -l $buffer $tempfile |
  42.       sed /^total/d |
  43.       awk 'NR==1 { mon=$6 ; day=$7 }
  44.           NR==2 { print ($6 == mon && $7 == day) ? 0 : 1 }'`
  45. else
  46.     mustrebuild=1
  47. fi
  48.  
  49. if test "$mustrebuild" -ne 0
  50. then
  51.     # Losung aus der Website auslesen - Quick and Dirty!
  52.     # Wie üblich lasse ich Lynx HTML parsen, der kann das besser... ;D
  53.     wget -q -O $tempfile "$website"
  54.     cat $tempfile |
  55.     sed '1,/^.*<!-- Beginn/d
  56.         /^.*<!-- Ende/,$d' |
  57.     lynx -dump -stdin |
  58.     sed '/\[blind.gif\]/d
  59.         s/^ *//' >$buffer
  60. fi
  61.  
  62. rm -f "$tempfile"
  63. cat $buffer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement