alchajmer- agenda u bashu :)

alchajmer- agenda u bashu :)

offline
  • Pridružio: 20 Feb 2005
  • Poruke: 4505
  • Gde živiš: planeta Zemlja

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 Twisted Evil).
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 Sad


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 Smile )
- 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 Smile
- 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 Mr. Green).
- 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 Mr. Green
Predlozi i komentari su dobrodosli...



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 20 Feb 2005
  • Poruke: 4505
  • Gde živiš: planeta Zemlja

Dodao sam novu verziju i premestio riznicu na github (tamo možete uvek videti poslednju razvojnu verziju):
https://github.com/djura-san/code/blob/master/sh/alchajmer

v0.1a3
- ispravljena je funkcija za brisanje prošlogodišnjih obaveza (ostavio sam u kodu 2 alternativna rešenja ali nisam probao);



offline
  • Pridružio: 20 Feb 2005
  • Poruke: 4505
  • Gde živiš: planeta Zemlja

v0.1a4:
- Ispravljen je bag sa prikazom obaveza (ranije su se videli "Oo-" i "Tt-" ispred obaveze).

Ko je trenutno na forumu
 

Ukupno su 732 korisnika na forumu :: 36 registrovanih, 8 sakrivenih i 688 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: _Sale, ALBION101, aleks, Atomski čoban, bato, Dannyboy, Doca, dragon986, Drug pukovnik, FOX, gasha, goflja76, goxin, GveX, Helket, janezek67, kaisarevic1, kovinacc, krlebgd77, kuntalo, MB120mm, Milan.1976, Mixelotti, nenad81, pavle_pzs, Pohovani_00, raykan, Regrut Boskica, rodoljub, Sale.S, Sirius, Toni, Trpe Grozni, vasa.93, vlvl, W123