www.fabiankeil.de/gehacktes/slick-little-girl/
Diese Seite ist auch auf Deutsch verfügbar.
slg is a curl-based webscraper to extend library loans online, without having to clown around with a web browser.
The only supported library is the Stadtbibliothek Köln. After changing a couple of variables, slg may work with other Zones interfaces, though.
The login data is read from ~/.config/slg/login-data
or,
if it exists, from the OpenPGP-encrypted ~/.config/slg/login-data.gpg
which is decrypted at run time.
The file should contain a single line in the format BRWR=A11 222 333 4&PIN=1122
,
A11 222 333 4
being the library card number and 1122
being the super
secret password based on the user's birthday.
Cookies and temporary data is stored in ~/.cache/slg/
which is expected to exist.
slg requires a curl version that has been configured
with cookie support.
Calling slg without arguments will display up to six titles sorted by their due date:
fk@r500 ~ $slg Login dance in progress.... Retrieving loaned media. -------------------------------------------------- 0: Rückgabedatum='2013-03-22' Ausleihdatum='2013-01-30' Titel='Polizei im Zwielicht' Autor='Kein Autor' Anzahl Verlängerungen='1' Vorgemerkt='1' 1: Rückgabedatum='2013-03-28' Ausleihdatum='2013-02-28' Titel='Abschied von der Küchenpsychologie' Autor='Nolting, Hans-Peter' Anzahl Verlängerungen='0' Vorgemerkt='0' 2: Rückgabedatum='2013-03-28' Ausleihdatum='2013-02-28' Titel='Erste-Hilfe-Handbuch' Autor='Kein Autor' Anzahl Verlängerungen='0' Vorgemerkt='0' 3: Rückgabedatum='2013-04-05' Ausleihdatum='2013-03-08' Titel='Frauen und Kriminalität' Autor='Franke, Kirsten' Anzahl Verlängerungen='0' Vorgemerkt='0' 4: Rückgabedatum='2013-04-05' Ausleihdatum='2013-03-08' Titel='Code-quality-Management' Autor='Simon, Frank' Anzahl Verlängerungen='0' Vorgemerkt='0' 5: Rückgabedatum='2013-04-05' Ausleihdatum='2013-03-08' Titel='Effektive Software-Architekturen' Autor='Starke, Gernot' Anzahl Verlängerungen='0' Vorgemerkt='0'
Resume the session (skipping the login dance) to extend title number 3:
fk@r500 ~ $slg -r -e 3 # Long version: slg --resume-session --extend-loan 3 -------------------------------------------------- 0: Rückgabedatum='2013-03-22' Ausleihdatum='2013-01-30' Titel='Polizei im Zwielicht' Autor='Kein Autor' Anzahl Verlängerungen='1' Vorgemerkt='1' 1: Rückgabedatum='2013-03-28' Ausleihdatum='2013-02-28' Titel='Abschied von der Küchenpsychologie' Autor='Nolting, Hans-Peter' Anzahl Verlängerungen='0' Vorgemerkt='0' 2: Rückgabedatum='2013-03-28' Ausleihdatum='2013-02-28' Titel='Erste-Hilfe-Handbuch' Autor='Kein Autor' Anzahl Verlängerungen='0' Vorgemerkt='0' 3: Rückgabedatum='2013-04-05' Ausleihdatum='2013-03-08' Titel='Frauen und Kriminalität' Autor='Franke, Kirsten' Anzahl Verlängerungen='0' Vorgemerkt='0' 4: Rückgabedatum='2013-04-05' Ausleihdatum='2013-03-08' Titel='Code-quality-Management' Autor='Simon, Frank' Anzahl Verlängerungen='0' Vorgemerkt='0' 5: Rückgabedatum='2013-04-05' Ausleihdatum='2013-03-08' Titel='Effektive Software-Architekturen' Autor='Starke, Gernot' Anzahl Verlängerungen='0' Vorgemerkt='0' -------------------------------------------------- Requesting a loan extension for: Frauen und Kriminalität Success. New due date is: 2013-04-20
Instead of resuming the session you can also use a single call. For example slg -e 0
does the login dance and extends the title whose due date is next.
To list all titles add --max-media-pages 5
(or -m 5
) where 5
is the number of pages you want to list. Listing more pages requires more requests
and thus takes a bit longer.