Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

API für die in Deutschland verbreitete DSBmobile App für Vertretungspläne an Bildungseinrichtungen

License

NotificationsYou must be signed in to change notification settings

nerrixde/DSBApi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️ Unzuverlässig. Es scheinen Bugs vermehrt aufzutreten. Maintainer gesucht (#24)

Eine API für die DSBMobile Vertretungsplan-Lösung, welche viele Schulen benutzen.

  • Funktioniert Stand 10.11.21 (Jetzt via Android-API (nach Problemen in 0.0.3), seit 2015 stable
  • Aktuell in Version 0.0.14
  • Aktuell stable
  • Units 2020 nicht vollständig unterstützt, PRs welcome, aber Kompatibilität berücksichtigen!

Bei Problemen und/oder Fragen, gerne ein "Issue" eröffnen.

Installation:

pip install dsbapipyoder manuell:pip install git+https://github.com/nerrixDE/DSBApi.git#egg=dsbapipy

Datensatz:

JSON Liste an Arrays. Ein Array sieht so aus:

KeyValueNotiz
typeVertretungArt des Eintrags
class5DKlasse
lesson12Schulstunde
roomR404(Neuer) Raum
new_subjectM-GK1Neuer Kurs
subjectIF-LK4Ursprüngliches Fach / Kurs
new_teacherNEUMNeuer Lehrer
teacherBIMMUrsprünglicher Lehrer
date01.01.2019Datum
dayMontagWochentag
updated02.02.2019 12:13Letztes Update

Hinweise zum Key "class"

Der key "class" wird speziell behandelt, indem der Inhalt der Schulklasse bei der Zeichenfolge "," geteilt wird.Diese Teilung wird verwendet um bei kombinierten Klasseneinträgen, die Daten für jede Klasse einzeln aufzusplitten.

Implementierung:

Beispiel 1

importdsbapidsbclient=dsbapipy.DSBApi("benutzername","passwort")entries=dsbclient.fetch_entries()forsinrange(len(entries)):foriinrange(len(entries[s])):print(entries[s][i]["date"])

Beispiel 2: Anderes Tabellenformat

Schulen sind relativ frei in der Gestaltung Ihrer Datensätze. Daher kann der oben beschriebene Standard wiefolgt überschrieben werden:

importdsbapiownFields= ['class','lesson','new_subject','room','subject','new_teacher','type','text']dsbclient=dsbapipy.DSBApi("benutzername","passwort",tablemapper=ownFields)entries=dsbclient.fetch_entries()forsinrange(len(entries)):foriinrange(len(entries[s])):print(entries[s][i]["date"])

Beispiel 3: Nützliches Beispiel

Ein real-world Beispiel:

importdsbapiasdsbapipyimportjsonimportdatetimedays= ["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]klasse= "10bownFields= ['class','lesson','new_subject','room','subject','new_teacher','type','text']dsbclient=dsbapipy.DSBApi("benutzername","passwort",tablemapper=ownFields)entriesdsbclient.fetch_entries()final= []forsinrange(len(entries)):foriinrange(len(entries[s])):day=days[datetime.datetime.today().weekday()+1]ifentries[s][i]["class"]==klasse:ifentries[s][i]["day"]==day:lesson=entries[s][i]["lesson"]subject=entries[s][i]["new_subject"]teacher=entries[s][i]["room"]oldsubject=entries[s][i]["subject"]room=entries[s][i]["new_teacher"]vertreter=entries[s][i]["type"]text=entries[s][i]["text"]final.append({"lesson":lesson,"new_subject":subject,"room":room,"old_subject":oldsubject,"teacher":teacher,"type":vertreter,"text":text})message=f"Am{day} gibt es{str(len(final))} Einträge. "forsinfinal:message+=f"In der{s['lesson']}. Stunde hast du{s['new_subject']} mit{s['teacher']} in{s['room']}. "print(message)

About

API für die in Deutschland verbreitete DSBmobile App für Vertretungspläne an Bildungseinrichtungen

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp