View Single Post
Old 01-13-2012, 03:35 AM   #115
fortwienix
Enthusiast
fortwienix is clearly one to watchfortwienix is clearly one to watchfortwienix is clearly one to watchfortwienix is clearly one to watchfortwienix is clearly one to watchfortwienix is clearly one to watchfortwienix is clearly one to watchfortwienix is clearly one to watchfortwienix is clearly one to watchfortwienix is clearly one to watchfortwienix is clearly one to watch
 
Posts: 47
Karma: 10848
Join Date: Mar 2011
Device: 902
Hallo Jürgen,

die Scripte sind für eine sogenannte Shell programmiert. Wenn Dich das Thema interessiert, dann such nach "Bash Programmierung" o.ä. Das ist ein guter Einstieg. Um selbst zu programmieren empfielt sich ein Linux oder auch Cygwin (für Windows) was eine entsprechende Umgebung zur Verfügung stellt.
Zu beachten ist, das auf dem Pocketbook keine bash sondern eine sh (eine andere Shell) verwendet wird. Auch der Befehlsumfang ist deutlich reduziert.
Auf dem Rechner kannst Du Dein Script dann aber mit: "sh scriptname" testen, das benutzt dann die sh zu ausführen.

Zu Deinem Script mach ich mal Kommentare rein, immer mit --> angefangen:

Quote:
Originally Posted by kami51 View Post
Hallo,
------------------------------------------------------------
#!/bin/sh
/ebrmain/bin/netagent connect
cd /mnt/ext1/
agency=buch-$(date +%Y-%m-%d)
--> brauchst Du hier nicht, die Variable wird später nicht sinnvoll verwendet.

if [ -d myrss-tmp ]; then
rm -rf myrss-tmp;
fi

mkdir myrss-tmp;
cd myrss-tmp;

echo '<html><body>' > $agency.html
--> kann auch entfallen

wget http://xx.de/buch/eins.epub
wget http://xx.de/buch/zwei.epub
wget http://xx.de/buch/drei.epub
wget http://xx.de/buch/vier.epub
--> das sind 4 Befehle, die nacheinander ausgeführt werden und zahl.epub ins aktuelle Verzeichnis (myrss_tmp) herunterladen. Wenn es eine solche Datei schon gibt (weil das Script bereits einmal gelaufen ist, wird die neue Version in zahl.epub.1 gespeichert.

done
--> kenzeichnet ein Schleifenende, hier ist aber keine Schleife vorhanden, kann also weg.
echo '</body></html>' >> $agency.html
--> brauchst Du hier auch nicht
mv $agency.html /mnt/ext1/applications/tools/progressb.app
--> hier wird die Datei $agency.html ($agency ist die Variable, die oben definiert wird) in die progrssb.app im angegebenen Verzeichnis verschoben, die progrssb.app wird überschrieben. Das ist sicher nicht was Du willst. Die Zeile kann also weg.

cd ..
rm -rf myrss-tmp
/ebrmain/bin/netagent disconnect

------------------------------------------------------

Welche Literatur oder welches Buch bzgl. der Programmierung von apps für das PB könnt Ihr mir empfehlen ?
Das Dein Script die Netzverbindung nicht trennt, liegt sicher an dem überflüssigen done was dann zu einem Scriptabbruch führt und daher die restlichen Befehle auch nicht mehr ausführt.

Der Progressbar Balken funktioniert so: das progrssb.app bekommt als Argument eine Zahl übergeben also z.B. progrssb.app 10 um einen Balken von 10% zu zeichnen.
In den hier verwendeten Scripten siehst Du am Anfang sowas:
tail -f percent| /mnt/ext1/applications/tools/progressb.app &
Hier wird aus der Datei percent die Ganzzahl gelesen, die dann von progressb.app verwendet wird. Das passiert ständig (das & schiebt den Prozess in den Hintergrund der dort weiterläuft). Wenn nun die einzelnen Dateien aus dem xml rss feed heruntergeladen werden, wird die neue Prozentzahl in die percent Datei geschrieben. Das passiert in einer Schleife, in der dien einzelnen Artikel heruntergeladen werden:
current=$((current+1));
echo $current $total|awk '{printf "%.0f\n",$1*100/$2}' >> percent
Vorher wird noch ermittelt wieviele Links überhaupt vorhanden sind (zähle alle Links in der feed.xml) und in der Variable total gespeichert.

Anbei auch das Script für Die Bild. Das sollte mehr oder weniger mit allen Bild feeds funktionieren. In der Schleife ist nur der Leipzig feed, andere kann man aber hinzufügen. Wichtig ist das in jeder Zeile eine feed URL steht und das jede Zeile (außer die letzte) mit einem Backshlash endet.

Grüße, fortwienix
Attached Files
File Type: zip billd.zip (1.3 KB, 502 views)
fortwienix is offline   Reply With Quote