Kyberdigi Labs

Menstruační kalendář

C. McCohy <mccohy@kyberdigi.cz>
Actuální verze: 2.3
Používejte váš počítač k přesnému načasování všech vašich činností cz en
Kyberdigi Labs
Projekty
Mencal
Požadavky
Licence
Download
Instalace
Spouštění
Ukázky
Chyby
Změny
Archiv
Ostatní

Počet přístupů
Counter

Menstruační kalendář

Mencal je jednoduchá prostá obdoba známého linuxového progámku cal. Hlavní rozdíl spočívá v tom, že některé dny je možno periodicky obarvovat. Díky tomu lze přehledně sledovat menstruační (ale i jakékoliv jiné) cykly.

Požadavky

Program je napsán v jazyce perl. Kromě něj využívá ještě systémové přikazy strftime a mktime. Nevím, na kterých všech systémech se tyto tři věci sejdou, každopádně téměř v libovolné distribuci operačního systému Linux byste neměli mít problémy s rozchozením tohoto programu.


Licence

Software může být volně distribuován za podmínek stanovených v licenci GPL.
Tuto licenci si můžete přečíst např. zde.


Download

Celkový balík si jednoduše můžete stáhnout přes HTTP protokol. Zatarovaný gziplý balík je k dispozici:

mencal-2.3.tar.gz

Velikost: 19169 bytů
MD5: e0fa5665b8f7772521bb95379bfdec20


Instalace

První krok: rozbalte balík
$ tar xzf mencal-2.3.tar.gz
Nyní vstupte do adresáře mencal-2.3, který se vytvořil.
$ cd mencal-2.3
No, a to je vlastně všechno. V tomto adresáři je krátký README soubor, licence k programu a hlavně soubor mencal. Ten můžete i jako obyčejný uživatel spouštět příkazem ./mencal. Soubor si můžete nakopírovat po vašem disku kam je jen libo.


Spouštění

Program se spouští takto:
$ mencal [parametry] [ soubor1 soubor 2 ... -c CONF1 -c CONF2 ... ]
Parametry pro výstup:
  • -m nebo --monday - vypisuje pondělí jako první den měsíce (standardně je to neděle)
  • -1 - vypisuje jeden aktuální měsíc (standardní volba)
  • -3 - vypisuje předchozí, aktuální a následující měsíc
  • -y [rrrr] - vypisuje kalendář pro celý rok yyyy. Pokud není rok zadán, zobrazí aktuální rok
  • -q nebo --quiet - nebude vypisovat úvodní informace
  • -n nebo --nocolor - výstup nebude barevný
  • -i BARVA nebo --icolor BARVA - průniková barva (standardně red (červená), další možnosti jsou green (zelená), blue (modrá), yellow(žlutá), violet (fialová), cyan (bledě modrá), shiny (výrazná bílá) a bold (tučné písmo))

Parametry menstruace:
-c nebo --config s=[RRRR]MMDD,l=DD,d=T,n=JMENO,f=SOUBOR,c=BARVA

Druhý parametr následující za přepínačem -c nebo --config je seznam nastavení oddělených čárkou. Mezery nejsou přípustné. Programu je možné zadat více parametrů -c nebo názvů souborů.

  • s,start=[RRRR]MMDD - začátek cyklu (standardně aktuální den)
  • l,length=DD - délka cyklu ve dnech (standardně 28)
  • d,duration=T - trvání menstruace ve dnech (standardně 4)
  • n,name=JMENO - jméno subjektu
  • f,file=SOUBOR - jméno souboru, do kterého má být konfigurace uložena (budou se ukládat pouze parametry menstruace)
  • c,color=BARVA - barva pro vyznačení menstruačních dnů (možno zadávat stejné hodnoty jako u parametru --icolor, pokud byl zadán paremtr -n, bude toto nastavení barev ignorováno)

Informační parametry:

  • -h nebo --help - vypíše nápovědu - seznam parametrů
  • -V nebo --version - vypíše informace o verzi


Ukázky

  • Ukázka 1 - jednoduchá ukázka tří aktuálních měsíců
  • Ukázka 2 - ukázka plného nastavení konkrétního menstruačního cyklu v netradiční žluté barvě
  • Ukázka 3 - ukázka celoročního kalendáře dvou sledovaných osob, nastavení jedné se bere ze souboru maruskarc, dny, kdy menstruují obě osoby, jsou označeny červeně
  • Ukázka 4 - stejné nastavení jako v ukázce 3, bezbarevná verze (vhodná pro tisk nebo některé terminály, které nezvládají barvy), bez úvodních informací
  • Ukázka 5 a ukázka 6 - takto nějak to může vypadat, když se to všechno moc přežene ...


Chyby

Chybné zobrazování názvů dnů
Při opužití některých locales (např. hu_HU) se chybně zobrazovaly názvy dnů. Některé dny totiž mají v názvu pouze jedno písmeno, čímž došlo k rozhození celé tabulky měsíce. Na chybu upozornil Peter Gervai.
Řešení: upgradujte na verzi 2.3.

Překlep v chybové hlášce
Na malý překlep v jedné z hlášek při nesprávném zadání parametrů upozornil Micah Anderson.
Řešení: upgradujte na verzi 2.2.

Příkazy more, less
Jediný vážnější problém se jeví používání příkazu more v kombinaci s barevným výstupem, např. $ mencal -y -c c=red | more ... prostě se to celé rozhodí
Řešení: použijte more -f nebo less -R. Tuto radu zaslal Peter K. Gale.

Rok musí být větší než 1900
Bohužel nelze zadávat roky nižší než 1900. Je to tím, že perl pracuje s rokem tak, že od něj odečítá 1900. Tedy pokud zadáte rok 2002, perl si to musí převést na 102. A samozřejmě odmítá používání záporných cifer. Pokud někdo víte, jak to obejít, pošlete návod.

Lokalizace
Názvy dnů a měsíců se berou z locales, takže by asi bylo fajn někdy nějak lokalizovat help a pomocné a chybové hlášky. No, těch hlášek zas tak moc není, no ... prostě až někdy jindy ;-)

Barevný tisk
Mám zprávy, že nejde barevně tisknout ($ mencal | lpr), že výpis na papíru vypadá opravdu ošklivě. Je to možné, bohužel to nemám kde otestovat ani kde vyladit. Pro tisk tedy použite přepínač -n (vypne barvy).

$ mencal -n | lpr

Přelom roku
Při vypisování třech aktuálních měsíců (parametr -3) na přelomu roku (např. listopad, prosinec, leden) se některý měsíc nevypíše vůbec.
Řešení: upgradujte na verzi 2.1, ve které je již tato chyba ošetřena. Chybu reportoval Jára Altmann.

Chyby z verze 1.1
Vzhledem k tomu, že z verze 1.0 zůstalo jen pár řádek a zbytek byl úplně přepsán, chyby zdá se zmizely. Konfigurace platí i příští rok, po Novém roce nemusíte všechno přenastavovat. Navíc odpadly brutální potíže a těžkopádnost konfiguračních souborů.

Pokud jste našli nějakou chybu, neváhejte použít vašeho oblíbeného poštovního klienta a poslat mi e-mail.


Změny


2.3. (17. července 2003)

- oprava chybného zobrazování některých názvů dní

2.2 (22. května 2003)

- oprava překlepu v chybové hlášce

2.1 (9. prosince 2002)

- řešení chyby: nevypisovaly se měsíce při přelomu roku
- optimalizace počítání menstruačních dnů

2.0 (29. března 2002)

- úplné přepsání původní primitivní verze
- možnost mít více konfigurací
- překryvy jednotlivých konfigurací
- změny parametrů
- možnost nebarevného tisku
- tisk aktuálních třech měsíců

1.1 (25. října 2000)

- možnost ukládání konfigurace
- řešení menších chyb
- lokalizace (použití locales)

1.0 (druhohory)

- úvodní primitivní verze

Archiv


Ostatní

Za velmi vysokou míru spolupráce, inspirace o propagace děkuju Vinilovi (ta hláška o načasování tam nahoře je také od něj) a za vysokou míru testování, morální podpory a korekcí JDmu.

A jeden opravdu vydařený ohlas přišel od správce balíku mencal z distibuce Debian: I really love this script, because nobody but you ever bothered writing it :-) I am very proud of you because you wrote this for your girlfriend and I guess that was an act of love :-)

Valid HTML 4.01 Kyberdigi Labs