| .gitignore | ||
| add_fix.py | ||
| create_spooldirs_from_spica.py | ||
| fix_events.py | ||
| garage_count.py | ||
| LICENSE | ||
| list_spica_employees.py | ||
| push_siemens_to_spica.sh | ||
| README.md | ||
| requirements.txt | ||
| rotate_events.py | ||
| siemens_spica_settings-example.py | ||
| siemens_to_spool.py | ||
| spool_to_spica.py | ||
| spooldirs_from_apis.py | ||
siemens-spica-rilec
Vmesnik za prenos podatkov iz sistema Siemens SiPass v sistem Spica time&space.
Uporablja se na UL FRI za evidenco prisotnosti na delovnem mestu. Skupaj s tem programom na istih podatkih dela spletna aplikacija registrator.fri.uni-lj.si.
Kako deluje
Nastavitve
Nastavitve so v datoteki siemens_spica_settings.py.
-
LOG_GLOB - datoteke, ki jih ustvari Siemens SIPASS
-
SPOOL_DIR - imenik z dogodki; v tem imeniku je za vsako kadrovsko št. podimenik.
-
SPOOL_FNAME - ime datoteke z dogodki, ki še niso bili obdelani
-
OLDEVENTS_FNAME - ime datoteke z dogodki, ki so bili obdelani / poslani naprej
-
FIX_FNAME - datoteka s popravki tipov dogodkov
-
NOCOMMIT_FNAME - datoteka, v katero se zapisujejo vklopi/izklopi prenašanja v SAP za zaposlenega
-
APIURL - URL, ki ga dobimo od Špice
-
SPICA_USER - uporabnik, ki ga dobimo od Špice
-
SPICA_PASSWD - geslo za uporabnika, ki ga dobimo od Špice
-
SPICA_KEY - API ključ, ki ga dobimo od Špice
Uporaba
- Sistem siemens v imenik pošlje datoteke room-access*.csv, ki vsebujejo kadrovsko številko in točen čas (siemensfiles).
siemens\_to\_spool.pydogodke v datotekah, ki ustrezajo LOG_GLOB, razporedi po kadrovskih številkah znotraj SPOOL_DIR, jih prekodira v UTF-8 in predela datume v standardni format; odstrani podvojene dogodke.add_fix.pyustvari popravek v FIX_FNAME. Vsak popravek vsebuje čas popravka in tip, v katerega se spremeni zadnji dogodek pred tem časom. Takšne popravke lahko ustvarja tudi spletna aplikacija.fix_events.py.spool_to_spicaprenese podatke v sistem Špica Time and Space, ki jih potem prenese naprej v APIS. Pri tem za vsakega uporabnika preveri, ali v imeniku z dogodki obstaja NOCOMMIT_FNAME (nocommit.csv); če ne obstaja ali se ne konča z "1", potem podatke pošlje naprej.
Kako se dejansko uporablja
Glej datoteko push_siemens_to_spica.sh
Spletna aplikacija
Za nastavljanje tipov dogodkov se lahko namesto add\_fix.py uporablja spletna aplikacija registrator.