cwg- bash skripta za pravljenje web albuma (v0.3.0b4)

2

cwg- bash skripta za pravljenje web albuma (v0.3.0b4)

offline
  • Pridružio: 17 Apr 2008
  • Poruke: 770
  • Gde živiš: Taurunum

Evo kompajliranog CWG

https://www.mycity.rs/must-login.png

Lepo urađeno, puno truda.

Dopuna: 09 Nov 2008 0:38

Nisam skinuo "TARABE" ili '# ' tako da je moguće da neće raditi.

Dopuna: 09 Nov 2008 1:20

https://www.mycity.rs/must-login.png

Evo novog malo dorađenog mislim da će ti se svideti.




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

@cerveni
Druze ja vidim da si ti ubacio boje medjutim ja iste ne vidim u svom gnome-terminalu!?

inace ima jedan bag u skripti (objasnicu ga pomocu primera):
Imamo sliku 32x32px (original velicina). Kada ja izaberem da mi velicina svih thumbnailova bude 120x120px onda dobijam brlju od slike (slika od 32 px ce se razvuci na 120px). Ovo je bag medjutim imam neko brzo resenje:
1. Pomocu neke komande proveriti velicinu slike
2. Ako je velicina slike manja od velicine thumbnailova onda se slika nece "thumbnailovati" tj. necemo praviti thumbnail od nje.

Ovo cu srediti (valjda)...



offline
  • Pridružio: 17 Apr 2008
  • Poruke: 770
  • Gde živiš: Taurunum

Evo linka ka shell kompajleru možeš sam da kompajliraš tvoj sh

http://www.datsi.fi.upm.es/~frosal/

a evo i cwg originala

https://www.mycity.rs/must-login.png

Javi mi na PP da li si završio scriptu.

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

Upravo sam ispeglao tamnu temu i sada je vrlo prijatna za oko. Generalno gledano sam izgled ispeglao pa se sa time necu vise zamajavati Wink. (videcete je kada ispravim bag za koji cu vas pitati u nastavku teksta).

treba mi pomoc oko opcije za prepoznavanje velicine slike. Recimo da bi kod mogao da bude ovakav (gruba skica onako iz glave):
for $ž in *; do
$KOMANDA | grep "size:" | sed (videti kraj poruke za svrhu ove komande) > ./size
if [ `cat ./size` < $unesena-vrednost-thumbnaila ]: then
echo "Slika \"$f"\ nece biti obradjena buduci da je manja od velicine thumbanila koji ste uneli"
else
komanda za resize blah blah blah
fi


Problem je u tome sto ja ne mogu da izvedem 2 stvari:
1. Ne znam kako da saznam velicinu fajla (dovoljna je samo x velicina tj. sirina)
2. Ne znam kako da zadam expr za slucaj kada je n manje od m (lupio sam slova)

Inace gore treba da stoji i sed komanda koja bi sluzila za brisanje svih brojeva osim prvih (prvih 3-4 broja do slova x buduci da ce size biti nesto tipa: 1024X800 px...). Ne znam kako da ovo izvedem pa je svaka pomoc dobrodosla ( u medjuvremenu cu ja da ponovo prelistam Advanced Bash shell scripting guide pa mi mozda sine neka ideja).

Dopuna: 08 Jan 2009 16:18

cwg update:
- Sada vise slike nece imati nekakav glupavi naziv poput "fulslika-slika-10.jpeg" vec ce slika u punoj velicini da bude nazvana po imenu fajla. Posto sam ovo dodao stvorio sam sebi mogucnost da na svakoj strani, gde je slika u punoj velicini u TITLE-u prozora i u headeru galerije, vidi pravo ime fajla (poput: "moja mala slika.jpeg").
- Ime galerije sada moze da sadrzi svakakve karaktere poput !"#$%&/\| buduci da sam ubacio komandu za brisanje istih iz naziva. To znaci da cete na svakoj html strani videti te karaktere medjutim sama galerija (folderi, slike i sl.) nece sadrzati ove karaktere. Jos ima da se radi na ovome ali sam dobar deo stvari vec pokrio Smile
- Svaka strana sada sadrzi favicon (iz Tango seta)
- Svaka strana sadrzi info o galeriji (broj slika i datum kreiranja). Ovo sam uradio tako sto sam dodao js hover efekat pa cete tako, kada prevucete misem preko linka "Info o galeriji" dobiti sve informacije u jednom redu.
- Sada pise info o tome gde kliknuti za punu velicinu slike (ovo mi je falilo)

Ono sto mi jos fali jeste mogucnost pokretanja na svakom racunaru! Mogao bih da napravim neki config fajl koji bih stavio u ~/ dok bi sama aplikacija bila u /usr/share/. Ovo cu jos da probam buduci da ne znam kako se radi "include" za eksterne fajlove u bashu Smile

link za download:
https://www.mycity.rs/must-login.png

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12509
  • Gde živiš: Južni pol

.::Wizard::. ::Ono sto mi jos fali jeste mogucnost pokretanja na svakom racunaru! Mogao bih da napravim neki config fajl koji bih stavio u ~/ dok bi sama aplikacija bila u /usr/share/. Ovo cu jos da probam buduci da ne znam kako se radi "include" za eksterne fajlove u bashu Smile

Kako bre ne znaš? Ccc... A onaj sors koji sam ti slao? Sve k'o na papiru. Wink

offline
  • pixxel  Male
  • Legendarni građanin
  • Pridružio: 21 Jun 2005
  • Poruke: 9091
  • Gde živiš: Tu i tamo...

ta convert komanda bi trebalo da ima opciju -thumbnail, kojoj samo zadas velicinu, i ona automatski sve smanji... pogledaj malo man...
A sto se tice dimenzija, imas identify komandu u imagemagick paketu, mada bi tu trebalo da se proparsira da bi dobio samo velicinu...

Dopuna: 08 Jan 2009 21:25

Pogledaj malo i ovo: http://www.stokebloke.com/bash/index.php

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

Oket. Bice pogledano ovih dana (dok jos imam vremena) pa cu da sredim.
btw convert -thumbnail i koristim za pravljenje thumbova

Komanda file oce da cita samo velicinu PNG slika ali ne i gif, jpeg i jpg. Sto se tice skripte za uporedjivanje to je vec gotovo samo mi treba komanda kojom cu da vadim ovaj info Smile

Dopuna: 14 Jan 2009 15:08

Uspeo sam. Sada ce skripta da proveri i to 2 puta:
1. Ako je Velicina originalne slike manja od velicine thumbnaila onda ce skripta da taj fajl ostavi u toj velicini
2. Ako je velicina pune slike (za permalink) manja od velicine pune slike onda se ni ona nece obradjivati i ostace u toj velicini

Dalje sam uveo check kako bi se proverilo da li radi x server. AKo je X aktivan onda ce se pokrenuti web browser kako bi videli galeriju na delu. Ovo je korisno ako zelite da pravite galeriju kada vam nije ukljucen X (a niko ne zeli da u skripti vidi nesto tipa: "error" ili "unexpected string"...).

Jos dalje: input nece biti proveren! Nema potrebe za ovim smaranjem. Kada sve unesete bicete pitani za ispravnost podataka. Ako nesto ne stima onda mozete sve ponovo Mr. Green

Jos: Iako je ncftp neophodan, ako zelite da dignete galeriju na net, ako nemate taj program skripta ce samo da nastavi dalje sa obavestavanjem da ncftp nije nadjen.

I jos: skripta se sada pokrece sa opcijama. Nema vise menija (bar ne onog standardnog) no malo ih je (svega 2). Kada ukucate samo cwg u terminalu opcije ce vam biti izbacene pa vi birajte.

I poslednja novina u skriptI: cwg sada koristi eksterni konfiguracioni fajl. Imate README u arhivi pa vi bacite pogled na isti (ima nesto malo infoa o tome). U principu vi treba samo da:
- raspakujete negde ovu kompresovanu zip arhivu
- odradite sudo/su ln -s "putanja do raspakovane cwg skripte" /usr/bin/
- prebacite .cwg-rc u ~/
- otvorite ~/.cwg-rc kako bi editovali podesavanja

Sto se tice samih kodova evo kako sam resio probleme (redom cu bacivati source-eve):

kako promeniti ime fajlu bez upisivanja u eksterni fajl:
for f in *; do mv "$f" `echo "$f" | tr -d "!()~#$%&=?*\|[]{}/" | tr -s " " "-" | tr A-Z a-z` 2>/dev/null ;done

Provera fajla kako bi videli da li je velicina fajla manja nego velicina thumbnaila:

for f in *; do
#
sajz=`identify -ping -verbose "$f" | grep -w "Geometry:" | awk '{ print $2}' | tr -s "x" " " | awk '{ print $1}'`
if (( $thumb < "$sajz" )); then
convert -thumbnail $thumb "$f" umanjena-"$f"
else
cp "$f" "umanjena-$f"
#
fi; done

Bolja ideja za sajz mi nije pala na pamet ali ovako ce da radi jel? Nisam bas vican upotrebi awk-a ali je on za ovo najbolji koliko ja vidim (ima jos neka fora sa echo ${} ali ja jos nisam prokljuvio to dovoljno).


Link za download finalne 0.1 verzije (sa ispravljenim bagom koji sam danas otkrio. Pogledajte dno poruke za vise infoa o istom):

link#1:
https://www.mycity.rs/must-login.png

link2#:
cwg.zip


NOTE: Dobro pogledajte podesavanja u ~/.cwg-rc kako ne bi bilo gresaka prilikom rada skripte. Znajte da ako direktorijum za napravljenje galerije, ne postoji, biti kreiran automatksi stoga vi samo navedite putanju u konfig fajlu a skripta ce da se pobrine za ostatak.

U README-ju se nalazi i ino o tome kako da namestite "default" podesavanja tj kako da iskljucite upite o velicini thumba, pune slike i kvalitetu. Tako dobijate na automatizaciji i proces manje smara (posto vidim da se bocke malo zali na to Mr. Green).

Za kraj cu napomenuti da se u arhivi nalaze 2 primera galerije (koji su azurirani poslednjom verzijom cwg-a). Kvalitet slika je 10 ili 15 ali to mi se moze oprostiti buduci da sam hteo da arhiva bude sto manja (ali da ipak sadrzi oba primera galerije).

Testirao sam par puta i sve radi. Ako naletite na gresku ovde mozete da javite Smile

p.s. 2 stvari mozete sami da odradite ako zelite (ja smatram da su nepotrebne no ako neko zeli niko mu ne brani da to unese):
- Dodate opcije za rotiranje skripte (ovo vredi samo na slikama koje imaju EXIF info o tome da li je i kako rotirana slika (ako sam ja dobro razumeo celu tu pricu)). Nesto nisam video EXIF info na mojim slikama pa nisam ni hteo ovo da ubacujem. Smatram da je za ovako nesto rucna izmena slike mnogo bolji nacin.
- Dodate info o samoj slici na svakom permialinku. Buduci da sam hteo da odradim nesto sto ce lako da kreira galerije koje su "pljunute" google picasa galerije, ovo nisam stavio. Samo bih zakomplikovao stvari a skripta ovako radi bez problema pa...


[ Update ]
Beda i jad... Nasao sam gresku i odmah sam je ispravio. Malo sam se hvalio drugaru pa reko da pokazem kako to radi medjutim naleteo sam na bug: kada x server nije pokrenut skripta ce da izadje. Ostavio sam exit 1 negde na dnu i nisam ga uklonio. Sada je sve ok.

Dopuna: 28 Mar 2009 20:56

** Update **
male izmene:
- izbacen eksterni fajl .cbt-rc! Sada se sve nalazi u samoj skripti i sve ce biti samo napravljeno ako taj fajl ne postoji
- dodata provera za image magick (ako ga nemate nema ni smisla da se skripta pokrece zar ne?)
- artwork sada sadrzi Tango ikonice (gnome-brave set (ikonice koje sam koristio) mi je previse ozbiljan sa mnogo "ozbiljnim" bojama)
- popravljen layout web strana (sada ima malo vise prostora ispod naslova web galerije i ne izgleda zbijeno (stavio sam Tango ikonicu koja daje lepsio vizuelni efekat kada postoji vise slobodnog prostora)
- izbacen bc za racunanje broja slika. sada sve racunam preko basha a evo i kako sam to ucinio:
broj="1"
let broj-=1
echo "$broj"

Ovaj primer nam pokazuje da ce se od "broj" oduzeti 1! Em sam nesto novo naucio em sam se otarasio bc-a. Simple a i bolje buduci da neki linuxi ne dolaze sa bc-om (recimo ja sam instalirao Zenwalk i on nema bc po defaultu a buduci da je to mali paketic nema smisla da se zamlacujem instaliranjem istog i mnogo je prakticnije da koristim bash buduci da isti dolazi u najvecem broju GNU/Linux sistema).


Todo:
- ubaciti ftp i izbaciti ncftp (ftp je default program i samim tim je bolje da njega koristim no imao sam pre problema sa istim pa ne znam da li je sada sve ok). Ovo iovako moram da uradim u jos jednoj skripti pa necu zaboraviti na ovo Mr. Green


Link:
https://www.mycity.rs/must-login.png

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12509
  • Gde živiš: Južni pol

Pre neki dan sam poradio malo na ballery skripti. Prva funkcionalna verzija je malo malerična, ali radi. Smile Kad iščačkam to i sredim jedan dan, postaviću.

btw...

broj="1"
let broj-=1
echo "$broj"


isto tako:
broj=1
broj=$((broj-1))

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

Znam... Bas sam ciato neki text o tome medjutim jos uvek ne poznajem to sa yagradama pa sam ostavio let komandu Smile

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

Log za poslednju verziju:
-Ispravljen bag sa definisanjem parametara u ~/.cwg-rc
-dodam sam verziju (0.1)
-dodao sam metatag, u deo za generisanje html strana, ciji je cilj da prikaze autora galerije ("author")

Pre ste mogli da uklonite komentar na nekim promenljivim (thumb, kval, fsize, tema) u ~/.cwg-rc kako bi izbegli podesavanje opcija u dijalozima koje je skripta izbacivala. No tu je bio bag pa bi skripta uvek pitala za (gore navedene) promenljive i tako vam podesavanje istih u ~/.cwg-rc nije nista znacilo. Sada sam to ispravio (sasvim slucajno sam i otkrio ovo buduci da sam trebao drugaru da napravim par html galerija i naravno da me je mrzelo da 5x kucam istu velicinu thumbnailova, punih slika etc.).

Link: https://www.mycity.rs/must-login.png

p.s. Link do poslednje verzije je samo u ovom postu Wink

Ko je trenutno na forumu
 

Ukupno su 923 korisnika na forumu :: 15 registrovanih, 3 sakrivenih i 905 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: Atomski čoban, Bobrock1, dragan_mig31, goxin, ILGromovnik, Kubovac, kybonacci, Lieutenant, mkukoleca, Nikolaa11, nikoladim, raptorsi, S2M, vandrej, zlatkoa987