meine ersten Gehversuche in Python
Find a file
2019-02-14 17:31:08 +01:00
.idea aktueller Stand 2019-02-12 20:19:52 +01:00
mpg aktueller Stand 2019-02-12 20:19:52 +01:00
chuck.rtf alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
Dashbutton.py aktueller Stand 2019-02-12 20:19:52 +01:00
Dienstag.pdf alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
export_job_logResponse.xml Bsp.Datei 2017-08-25 11:42:16 +02:00
Faxreport.py Versuch, eine xml zu parsen 2017-08-25 11:43:04 +02:00
Ferien.py Prints wurden entfernt, Korrektur der Endzeitberechnung, Booleans angelegt 2017-10-10 11:07:02 +02:00
FilosophieTOsql.py SQL-Connection closed vor Prg-Ende 2019-02-14 17:31:08 +01:00
Frank.py aktueller Stand 2019-02-12 20:19:52 +01:00
getMailatta 2.py aktueller Stand 2019-02-12 20:19:52 +01:00
getMailatta.py aktueller Stand 2019-02-12 20:19:52 +01:00
gmail 2.py alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
gmail.py frägt das Gmailkonto nach ungelesenen Mails ab 2017-05-28 11:37:19 +02:00
Gui_Hubobel.py Formatierungen im Code vorgenommen 2017-06-29 19:58:22 +02:00
heute.pdf alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
heute1.pdf alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
Hue.py aktueller Stand 2019-02-12 20:19:52 +01:00
IFTT.py alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
json to dic.py alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
json_feiertage.data alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
json_ferien.data alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
kino_wrapper.py aktueller Stand 2019-02-12 20:19:52 +01:00
Kodi_Class 2.py alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
Kodi_Class.py Methode "Kodiitem" modifiziert 2.0 2017-07-29 16:31:26 +02:00
kodi_db.py aktueller Stand 2019-02-12 20:19:52 +01:00
Liste.py alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
Lotto2SQL.py aktueller Stand 2019-02-12 20:19:52 +01:00
lotto24.py aktueller Stand 2019-02-12 20:19:52 +01:00
Mail.py es werden nur noch Mails verschickt, welche das geänderte aktuelle pdf beinhalten 2017-10-10 13:17:21 +02:00
main.py nächster Step 2017-05-30 11:24:31 +02:00
Montag.pdf alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
morgen.pdf alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
morgen1.pdf alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
mpgScanner.py aktueller Stand 2019-02-12 20:19:52 +01:00
newsblur.py alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
newsblur_api.py Bugfixing in Sachen factTOdb 2018-09-22 13:43:15 +02:00
Parser.py a liitle bit of PEP8 2017-07-06 15:19:43 +02:00
pass 2.json alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
pass.json aktueller Stand 2019-02-12 20:19:52 +01:00
pass1.json aktueller Stand 2019-02-12 20:22:03 +01:00
Pulsecounter.py aktueller Stand 2019-02-12 20:19:52 +01:00
README 2.md alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
README.md alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
Rest_API.bak alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
REST_API.log alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
REST_API.py alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
REST_APIv2.py aktueller Stand 2019-02-12 20:19:52 +01:00
Screenshot.py aktueller Stand 2019-02-12 20:22:03 +01:00
Screenshot2.py aktueller Stand 2019-02-12 20:22:03 +01:00
send_Mail.py BugFixing 2017-10-10 20:06:26 +02:00
Snapshot.py aktueller Stand 2019-02-12 20:19:52 +01:00
Sound_lib.py Methode "Kodiitem" modifiziert 2.0 2017-07-29 16:31:26 +02:00
Soundtouch 2.py alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
Soundtouch.py XML von Soundtouchgeräten auslesen und durchsuchen 2017-07-10 19:37:21 +02:00
SQL.py aktueller Stand 2019-02-12 20:19:52 +01:00
telegram.py alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
test.py aktueller Stand 2019-02-12 20:19:52 +01:00
test_2.py alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
test_dictionary.py läuft in Schleife und pusht SV 2017-06-03 19:17:41 +02:00
toFind.txt alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00
tv_wrapper.py aktueller Stand 2019-02-12 20:19:52 +01:00
txt2json.py alles,was sich so angesammelt hat 2017-12-01 18:51:46 +01:00

mpgScanner

holt die Vertretungspläne vom Schulserver und verschickt diese, sollten Aktualisierungen vorliegen, dann per Mail und/oder Telegram-Messenger an beliebige viele Empfänger (via Blindcopy, BCC),in Abhänigkeit davon, ob gerade Ferien oder ein Feiertag sind. Für Nutzer der Hausautomation "Homematic": Es wird eine Systemvariable "Ferien" automatisch auf "True" bzw "False" gesetzt, wenn man dies möchte. Zusätzlich werden einmal pro Tag ein "Zitat des Tages" angegeben. Beim Versand der PDF werden die jeweils aktuelle Temperatur,Luftfeuchte und der Wolkenstatus mitangegeben. Ein zufällig ausgewählter "Chuck-Norris-Fact" runden das ganze dann ab.

Installation

Das File downloaden und in einen beliebigen Ordner, in welchem man natürlich Schreibrechte besitzen muss, stecken. Nach dem ersten Start wird automatisch eine Datei pass.json im gleichen Verzeichniss erstellt und die Anwendung beendet sich selbst. Nun müssen folgende Angaben innerhalb dieser 'pass.json' gemacht werden:

  • "gmail_pass":Passwort für den eigenen G-Mail Account (wird zum Versenden der PDF´s benötigt)
  • "gmail_user":eigene Emailadresse des für die versendung zuständigen Accounts
  • "Land":Europäisches Kürzel für den eignen Wohnort (z.Bsp. RP für RheinlandPfalz)
  • "TOKEN":der Usertoken des Telegrammessengers (optional)
  • "Chat_ID":Chat_ID des Telegrammessengers (optional)
  • "ccu_ip":IP der CCU-Zentrale der Hausautomation 'Homematic' (optional)
  • "wetter_API": der API-Key von wunderground.com
  • "wetter_Ort": die ID der verwendeten Wetterstation

Weiterhin muss auf dem ausführenden System die Pythonbiliothek "pyTelegramBotAPI" installiert sein (wenn man Telegram nutzen möchte, sonst wird diese Funktion automatisch deaktiviert:

  • sollte pip noch nicht installiert sein: "sudo apt-get installe python3-pip"
  • pip3 install pyTelegramBotAPI

Bsp. für eine leere pass.json, wie sie automatisch nach dem ersten Start angelegt wird:

{ "Chat_ID": "", "Land": "rp", "TOKEN": "", "ccu_ip": "", "gmail_pass": "", "gmail_user": "", "mpg_pass": "", "mpg_user": "" }

Benutzung

Das Programm wird am besten über einen Cronjob periodisch aufgerufen, z.Bsp. Stündlich, immer zur halben Stunde, im Zeitraum von 7 bis 15 Uhr, an den Werk(Schul-)tagen Montag bis Freitag. Eintrag in der crontab sollte dann in etwa so ausschauen (Pfad zum Script bitte anpassen):

30 7-15 * * 1-5 python3 /home/carsten/Scripts/mpgScanner.py

Disclaimer

Diese Software benutz den Zugang zum Schulserver des Max-Planck-Gymnasiums in Ludwigshafen (http://www.mpglu.de/aktuelles/vertretungsplan.html), um dort die Vertretungspläne für den aktuellen und den darauf folgenden Schultag zu laden. Für die Feier- und Ferientagsdaten wird die API von smartnoob.de (https://robin.meis.space/2014/04/15/ferien-feiertag-api-fuer-deutschland/) benutz. Vielen Dank für die Bereitstellung der Daten. Für das "Zitat des Tages Feature" nutze ich die API von https://taeglicheszit.at Um die aktuelle Temperatur/Luftfeuchtigkeit und "Bedeckung" anzuzeigen, greife ich auf die API von http://www.wunderground.com zurück. Der Chuck-Norris-Fact wird von meiner eigenen API (api.hubobel.de/facts) bereitgestellt.

paypal