This program aims to crawl a timetable of phone dates and transfer those via the sipgate api into the telefon system.
For progress please see our todo list.
Die NFS bietet 3 Telefonnummern an die ständig besetzt sein sollen. Die Telefonnummern bleiben immer gleich, aber werden entsprechend dem Dienstplan umgeleitet.
Es gibt täglich normalerweise zwei Schichten (20 Uhr - 08 Uhr
und 08 Uhr - 20 Uhr
) für die Personen/Nummern eingetragen sind.
Die Umleitung ist normalerweise für die gesamte Schicht gültig, es gibt aber manchmal bei einer Eintragung Kommentare wie 12:30-16:30 übernimmt Mr. Emil
. Diese müssen berücksichtigt werden und entsprechend gibt es eine temporäre Umleitung der Umleitung.
beautiful-soup
gecrawled (weil wir leider keinen Zugriff auf die Rohdaten haben)20-8 Uhr
Schicht
8-20 Uhr
Schichtbeautifulsoup4
to crawl the HTML website for the time schedule
python -m pip install beautifulsoup4
from bs4 import BeautifulSoup
phonenumbers
to parse phone numbersdataclasses
when using < Python 3.7
pytest
to run unit testsTESTING
to true or false
True
make sure to start the webserver via dummy_dienstplan/start_dummy_server.bat
config.json
python crawler.py
pytest -vv
to run all unit testspytest -vv .\test_file.py
to run only a specific set of unit testsconfig.json
config.example.json nach config.json
kopieren und Werte in [eckigen Klammern]
ersetzen.
Private nummern, müssen nur eingetragen werden
Öffentlich, muss gebucht werden von SIPGATE
w0
hat 3
RufnummernTelefone
)Rufnummer -> Anschluss -> Gerät -> Nummer
User Interface DE | API | id | url |
---|---|---|---|
Anschluss | activePhonelines | p0 |
GET /{userid}/phonelines |
numbers | GET /numbers GET /{userId}/numbers |
Use Cases
Priorität | Done Y/N | Als | Möchte ich | Um |
---|---|---|---|---|
Must have | N | Diensthabender | dass eine Rufumleitung auf meine Nummer nach Dienstplan geschieht | mich um die Anrufenden zu kümmern |
Must have | N | Chef | abends um 20 Uhr die Übersicht über den nächsten Tag bekommen | einzugreifen falls etwas falsch ist |
Must have | N | Chef & Devs | Fehlermeldungen direkt per Mail oder SMS bekommen | einzugreifen falls etwas falsch ist |
Nice to have | N | Chef | das Programm temporär abstellen | fehlverhalten zu vermeiden |
Nice to have | N | Diensthabender | eine SMS&/Mail kurz vor Schichtbeginn erhalten | vorbereitet zu sein |
Nice to have | N | Mitarbeiter | dass Änderungen am Dienstplan innerhalb von 5min übernommen werden | zeitnah Änderungen umsetzbar zu machen |
Extra | In progress :P | Telegram Bot!!!!! |
Mitteilungen könnten auch über Telegram versendet werden und Befehle wie stop/start erhalten werden.