Ovo je skripta koja je nastala iz necega sto sam pre zvao "Bash organizer". Bash organizer je (i jos uvek jeste ali se vise ne razvija zbog svoje prenatrpanosti a i zbog cinjenice da mi vise ne treba skripta tih mogucnosti) skripta koja u sebi sadrzi adresar, gmail proveru (broj mailova), agendu i jos neke drangulije (vise se i ne secam). Iz svega toga sam odlucio da izdvojim deo za agendu i da pocnem da ga unapredjujem i to kao posebnu skriptu. I tako smo dosli do Alchajmer skripte.
Pre svega bih da naglasim da znam da ima gomila programa ovog tipa ali kao za inat ni jedan od njih ne radi onako kako bih ja zeleo (xpad nema terminal interfejs dok tomboy zavisi od gnome okruzenja tj. nekih gnome lib fajlova). Skripta nije zamisljena da bude super mega giga fensi i odlicna vec da jednostavno radi posao za koji je zaduzena i da me ne smara sa previse opcija etc. Sve u svemu to vam dodje moja verzija jednostavnosti...
Nemojte pogresno shvatiti ime skripte. Cilj nije da nekoga uvredim vec da imam neki zanimljivi naslov i da se sastoji iz karaktera koji su normalni za vecinu ljudi (ne cbt ili cwg ).
Elem, skripta koristi jako jednostavne metode rada:
- cat se koristi za user input
- grep i wc proveravaju da li ste uneli datum i vreme u ispravnom formatu
- zenity i xdialogs su zaduzeni za graficki prikaz obaveza
Grep obavlja najveci deo posla stoga vam je neophodan isti (pored wc, cut, sed i cat programa). Takodje se koristi i komanda date i to sa sufiskima koji daju datum koji ce biti za XX dana. Primer jedne takve komande:
`date --date="2 day" +%d-%m-%Y`
Sto se tice samog prikaza informacija, ova skripta lista obaveze koje vas cekaju:
- danas
- sutra
- prekosutra
- sledeceg meseca
+ obaveze koje nemaju vremensko ogranicenje
Opcije skripte su raznolike ali jednostavne. Evo liste opcija za v0.1a:
-o kreiranje obaveza koje nemaju vremensko ogranicenje
-t kreiranje obaveze sa datim vremenom
-p pregled obaveza
-pg graficki pregled obaveza
-c brisanje obaveza
Skripta cita stdin za opcije preko CASE-a
Alchajmer skripta na delu:
konzolni interfejs
xdialogs
zenity trenutno nemam pa nema shota tog interfejsa
U ovom postu sam linkovao v0.1a koja radi medjutim na njoj ima jos da se radi (kada mi vreme dozvoli).
Link: https://www.mycity.rs/must-login.png (v0.1a)
TODO za v0.1b:
- Srediti kod i uvlacenja redova (da izgleda jos vise fensi )
- Dopraviti opciju za brisanje proslogodisnjih obaveza
- Testirati grep sa opcijom -w kako bih video u kojim uslovima ta komanda radi (sada cas hoce cas nece da radi)
- Dodati prelamanje tekstova za zenity i Xdialogs (sada Xdialogs ne lomi tekstove pa se vide oni odvratni skrolbarovi).
- Dodati provere za programe koji se koriste u skripti!
- Koristiti stdin i stdout i cat za output koji kreiraju opcije za graficki prikaz. Tako se potreba za eksternim dodatnim fajlom, za graficki prikaz, gubi \o/
- Dodati funkciju za proveru baze podataka i to tako da se proverava da je svaka obaveza ispisana u jednom redu i da li svaka opcija sadrzi neophodne parametre (info o tome da li je to obaveza bez vremenskog ogranicenja ili ne, da li su datum i vreme validni...)
- Bolja upotreba $VAR-ova. Za sada je sve pomalo razbacano po skripti ali to se lako da srediti
- Razdvojiti prikaze o obavezama u vise funkcija kako bi korisnik mogao da pozove zeljeni prikaz kada on to pozeli (primer: ako korisnik zeli da pregleda obaveze koje su "zakazane" za prekosutra on ce to lako moci da ucini bez potrebe da gleda SVE obaveze i skroluje se kroz listu istih). Kada imate 20-ak obaveza u bazi, skripta ce izbacivati prilicno "nabijene" liste sto je pomalo iritirajuce. Verujte mi, imam bazu sa mnogo obaveza (koje me mrzi da brisem) i znam da ovo moze da vam pojede ganglije (na shotu nisam hteo da kacim pravu bazu buduci da ce ista da upropasti ovalo lep shot ).
- Dodati opciju za sortiranje obaveza po datumu i slovima (mozda i nepotrebno. Jos cu RAZMISLITI o ovome ali neka stoji u listi obaveza)
- Dodati opciju za html dump obaveza (sve obaveze ili samo zeljene)
Kada mi je dosadno ja ubacim po jednu-dve opcije i tako i ide razvoj ove skripte
Predlozi i komentari su dobrodosli...
|