Nachdem ich in letzter Zeit wieder wenig aktiv war auf meinem Blog, folgt heute mal wieder ein neuer Post. Ich habe mir diese Woche wieder mal etwas Zeit genommen, um mit meinem Raspberry Pi zu experimentieren. Ich habe entschieden, den Pi fortan als kleinen Server einzusetzen und nicht mehr – wie bisher – als Mediacenter. Zumindest primär. Nachdem ich Dinge wie PyLoad darauf installiert habe, habe ich mich entschlossen, selbst noch ein kleines Script zu schreiben (in Python), das ich periodisch alle 15 Minuten darauf durchlaufen lasse (via cron). Das Script ist relativ simpel und soll dazu dienen, xrel nach neuen Releases für eine vom Nutzer eingegebene Liste (als .csv-Datei) zu durchsuchen. Wird ein neues Release gefunden, erhält man an die eingegebene Mail-Adresse eine E-Mail-Nachricht, die den Namen des Releases und im Betreff den Filmtitel enthält. Relativ unspektakulär, klar. Aber es nimmt einem doch etwas Arbeit ab und man wird zeitnah über neue Releases informiert, ohne täglich (oder öfter) xrel ansurfen zu müssen, um nachzusehen, ob es schon was Neues gibt.

Da ich Anfänger in der Python-Programmierung bin, ist es gut möglich, dass das ein oder andere umständlich gelöst ist, aber letztendlich tut des Script das, was es soll. Und selbst auf dem Raspberry Pi ist es sehr schnell durchgelaufen.

[Update 27.07.2014] Ich habe den Code mittlerweile etwas optimiert und sowohl scene- als aus p2p-Release-Feeds eingefügt. Außerdem habe ich den Bug behoben, dass nur eine Mail versendet wurde bei mehreren matches an gesuchten Filme in einem Release-Feed. Des Weiteren habe ich für das Senden der Mail die SSL-Authentifizierung hinzugefügt, wie sie mittlerweile auch bei vielen deutschen Mail-Anbietern Standard ist. Zudem besteht der Betreff der Mail nun nicht mehr aus „[Neues Release]“ und der selbst eingegebenen Keyword(s) sondern aus dem vollen Titel des Films/ der Serie etc. Daher erfolgte auch die Ergänzung um das coding (utf-8) am Anfang der Datei, damit es bei Filmen mit Sonderzeichen kein Problem gibt.

[Update 28.07.2014] Der Code wurde nochmals etwas überarbeitet und der nervige Bug mit den mehrfach versendeten Mails wurde behoben. Außerdem können nun in die .csv-Datei auch Umlaute geschrieben und gelesen werden (v.a. bei p2p-Releases sinnvoll). Dazu wurde das Modul „csv“ mit „unicodecsv“ ersetzt (muss nachträglich installiert werden, z.B. über sudo pip install unicodecsv).

Hier mal der Code:

Damit ihr das Skript auch bei euch zum Laufen bekommt, müsst ihr natürlich noch die Mail-Adresse und Passwörter anpassen. Auch die Pfade bei Bedarf noch ändern.  Zudem braucht ihr noch 2 .csv-Dateien – filme.csv und already_sent.csv. Letztere einfach leer anlegen, diese wird nur vom Skript „intern“ verwendet, um zu speichern, was schon an den Mail-Empfänger gesendet wurde, um mehrfach-Mails zu verhindern. In die filme.csv kommen die Filme, über die ihr benachrichtigt werden wollt, also z.b. „hangover,breaking bad,skins“. Wichtig ist hier Kommas zu verwenden und unnötige Leerzeichen vor und nach dem Komma zu vermeiden.

Natürlich läuft das Script nicht nur auf dem Raspberry Pi, sondern auf jedem PC, auf dem Python 2.x installiert ist.

Viel Spaß damit!