Jednoduchý terminálový program a knihovna pro tvorbu výkazů práce. Vytvořená dohoda je totožná a kompatibilní s DPP užívanými na Smíchovské střední průmyslové škole.
Program vytvoří PDF na základě poskytnuté TOML konfigurace z stdin
(Možno přesměrovat obsah souboru viz. níže) a uloží ho do aktuální složky.
Název výsledného souboru je kombinace prefixu DPP_ a přijmení zaměstnance (Pokud je uvedeno).
dohoda_ssps < konfigurace.toml
S přepínačem --
podporuje program vypsání PDF souboru do stdout
, tento výstup je tedy možné přesměrovat do libovolného souboru.
dohoda_ssps -- < konfigurace.toml > ../mojedohoda.pdf
Vypsání nápovědy
dohoda_ssps -h
DohodaProvedeniPrace (https://github.com/EETagent/DohodaProvedeniPrace)
Použití programu: ./dohoda_ssps [-hnstf] < soubor
-h Vypsání této nápovědy
-n Seřazení položek od nejnovější
-s Seřazení položek od nejstarší
-t Vypsat počet odpracovaných hodin
-p Vypsat celkovou částku za odpracované hodiny
-w Živé sledování změn v souboru - watch
-f Cesta k souboru
-- Vypsat PDF do stdout (Musí být na konci příkazu)
PŘÍKLADY:
./dohoda_ssps < vykaz.toml
./dohoda_ssps -s < vykaz.toml
./dohoda_ssps -- < vykaz.toml > dohoda.pdf
./dohoda_ssps -n -f /home/thinkpad/vykaz.toml -- > dohoda.pdf
[dohoda]
nazev = "Program na tovrbu výkazů pro dohody o provedení práce"
kde = "V Liberci"
zastupce_email = "aramis.tochjan@ssps.cz"
[zamestnanec]
jmeno = "Franta Novák"
email = "franta.novak@ssps.cz"
rodne_cislo = ""
banka = ""
misto_narozeni = "Praha"
adresa = "Novákových 123/2, Praha"
pojistovna = "VZP - xxxxx"
[[prace]]
datum = "14.8"
cinnost = "Hodně jsem pracoval"
hodiny = "4"
poznamka = ""
[[prace]]
datum = "15.8"
cinnost = "Další práce"
hodiny = "2"
poznamka = ""
[[prace]]
datum = "16.8"
cinnost = "Třetí položka už"
hodiny = "9"
poznamka = ""
[[prace]]
datum = "17.8"
cinnost = "Poslední testovací blok"
hodiny = "2"
poznamka = ""
Další příklady v toml/
K sestavení projektu jsou potřeba následující závislosti:
- C11 kompilátor (gcc / clang)
- cmake
- ninja nebo make
Stažení projektu:
git clone https://github.com/EETagent/DohodaProvedeniPrace.git
Sestavení aplikace:
mkdir build && cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
ninja
Součástí projektu jsou i zabudované testy:
PDF_TEST
-> Zda je výstup PDF totožný k jeho TOML konfiguraciPDF_VELKE_TEST
-> Zda je výstup PDF totožný k jeho TOML konfiguraci větší než 15 položekPDF_RAZENI_TEST
-> Zda jsou položky v PDF správě seřazeny, jinak stejný jako PDF_SAME_HASH_TESTPDF_VELIKOST_TEST
-> Zda je výsledné PDF menší než 1 MB
ninja test
Alternativa k terminálovému programu. GUI napsané v nejnovějším přenosném frameworku GTK4.
Zatím není propojenou s knihovnou, jinak je UI plně funkční, vytváří TOML konfiguraci, která je posléze vypsána do STDOUT.
- Řazení podle data
- Optimalizace kódu a dokumentace
- Výpis počtu odpracovaných hodin
- Dynamický počet maximálních možných položek
- UTF-8 ready omezení délky textu
- Vícestránkový dokument
- CGI interface a webový frontend