script + automator?
(1 korsinik/a gleda/ju temu) (1) Gost

script + automator?


17.02.2011 | 03:26
Evo opet mene sa OSX sistemskim pitanjem...

Naime, pokusavam napraviti slijedece:

- izvuci iz imena vise PDF fileova datum (koji je uvijek u dd.mm.yyyy obliku i uvijek se nalazi na kraju prije extenzije)
- taj datum postaviti u comment field.


PDF-ovi su skenirani dokumenti tipa platne liste, odluke, rješenja, molbe, žalbe etc. Prilikom skeniranja, u ime filea je stavljen datum postanka dokumenta.

Cilj cijelog exercisea je da se može sortati po datumima kreiranja papirnatih dokumenata (znaci ne po datumu samog skeniranja doticnog dokumenta).


Hvala unaprijed na svakoj sugestiji i/ili riješenju u obliku linije koda (ako netko bude od volje i viška vremena... ) Trenutno sam zapeo na problemu izvlacenja datuma iz imena filea... Dakle, delako sam dogurao...
17.02.2011 | 08:53
Ja to tako rješavam da prvo u imenu dokumenta stavim datum u obliku yyyy-mm-dd pa onda ostatak imena i tako mi sam sistem sortira dokumente po nazivu i ujedno datumu

Znam, opet nije naučno rješenje i ne zahtijeva učenje skriptnog jezika, ali što mogu, ne da mi se više. Bio sam nekoć programer i nikad više. Sad se moja inventivnost očituje u umjeću izbjegavanja pisanja bilo kakvog koda ako je to ikako moguće.
17.02.2011 | 11:06
Mislim da od Automatora to ne možeš očekivati. Datume se iz imena datoteka može izvući unix shell skriptom, pomoću ls i grep (pipe izlaz od ls u grep a izlaz od grep redirect u neku datoteku).

(Nisam shvatio da li treba datotekama promijeniti ime, to se može pomoću mv.)

Kako ubaciti sadržaj u comment - možda se može pomoću Apple Scripta, ali mislim da Preview ne daje pristup do tih metapodataka (dakle, morao bi imati Adobe Acrobat instaliran). Jedino ako nisi mislio na Spotlight Comments (onaj koji se dobije sa cmd-I iz Findera)?

Probat ću se malo poigrati, samo moram uhvatiti vremena.
17.02.2011 | 15:46
Smayoo je već načeo dodatna pitanja, a i mene zanima slično:

- daj bar dva (2) konkretna primjera imena PDF-a, da vidimo pattern po kojem ih je najlakše parsati
- o kojem comment fieldu je riječ?
- svi PDF fajlovi koje trebaš obraditi su u istom folderu?
17.02.2011 | 15:47
@Sank: slozio sam si neki nacin arhiviranja koji je, mozda, malo konfuzan kad se promatra sa strane, ali sam shvatio da moj mozak tako najlakše pronalazi informaciju "at-a-glance", tako da mi ne odgovara mijenjanje naziva. Što se tiće samog formata datuma, ,oram ti priznat da mi je bilo koja druga varijanta osim ove naše uzasno nespretna. Trebam se zamisliti nad datumom da bi ga shvatio...

@smayoo: yes, mislio sam na spotlight comment. Mogu ga ukljucit kao kolumnu u finderu pa mi to super odgovara kao nacin sortiranja u folderu.
Hvala ti na usmjeravanju, poigrat cu se s time danas navecer!
17.02.2011 | 17:37
Automator+AppleScript rješenje se svodi na dva actiona. Prvi je "Get Selected Finder Items", a drugi "Run AppleScript" i u njemu:

on run {input, parameters}
  tell application "Finder"
    repeat with myFile in input
      set myFileName to (myFile as text)
      set myComment to ((characters ((length of myFileName) - 13) thru ((length of myFileName) - 3) of myFileName) as text)
      set comment of myFile to myComment
    end repeat
  end tell
end run

Selektiraš željene fajlove u Finderu, pokreneš workflow i to je to.

Skripta radi sljedeće: "on run" preuzima parametre prethodnog actiona (popis odabranih fajlova, točnije, reference/aliase na njih). Potom se obraćamo Finderu jer je preko njega najjednostavnije editirati Spotlightov comment. Ulazimo u petlju koja će se ponoviti onoliko puta koliko smo odabrali fajlova prije pokretanja workflowa. U svakom prolasku kroz petlju myFile varijabla sadrži referencu (alias) na pojedini fajl. Sa "set myFileName to (myFile as text)" prevodimo referencu/alias u običan string. U sljedećem retku iz tog stringa, hardkodirano, vadimo datum (uzimamo karaktere s desne strane: od 13. do 3.). I na kraju taj string (datum) postavljamo u comment polje fajla.
17.02.2011 | 19:02
Djipi kaže:
Smayoo je već načeo dodatna pitanja, a i mene zanima slično:

- daj bar dva (2) konkretna primjera imena PDF-a, da vidimo pattern po kojem ih je najlakše parsati
- o kojem comment fieldu je riječ?
- svi PDF fajlovi koje trebaš obraditi su u istom folderu?



Sorry Djipi, odgovarali smo u isto vrijeme pa nisam vidio tvoj post.

Tvoj kod ce mi rijesit problem! Samo jedno pitanje: u kodu oznacavas string od -13 do -3 a u objašnjenju navodiš do -4. Jesam li dobro shvatio da je, u stvari, u pitanju preuzimanje i točke od extenzije kao točke nakon godine?

Još, pritom, nastavljam sa učenjem... Na PrC-u nikad nisam bio pretjerano zagrijan za programiranje, ovdje mi se budi želja da nešto, stvarno, i naučim.

Hvala!
17.02.2011 | 19:13
Samo jedno pitanje: u kodu oznacavas string od -13 do -3 a u objašnjenju navodiš do -4.

Pogrešno sam napisao u objašnjenju (evo, sad ću ispraviti pa će biti OK) - kod je ispravan.

Jesam li dobro shvatio da je, u stvari, u pitanju preuzimanje i točke od extenzije kao točke nakon godine?

Da, dobro si shvatio - preuzima i točku prije ekstenzije, tretira je kao točku nakon godine.

Na PrC-u nikad nisam bio pretjerano zagrijan za programiranje, ovdje mi se budi želja da nešto, stvarno, i naučim.

Ljudi obično izgube volju za programiranjem kad switchaju na Mac. Uživaj dok želja traje.
09.03.2011 | 21:45
Djipi, evo da se javim da mi je ona skripta rijesila problem. Sve sam odradio bez problema onako kako sam i htio, međutim, to zapravo nije ono što mi treba...
Kao i obično, user je glup a comp je u pravu...

Treba mi, naime, obrnuti redoslijed datuma, tj NE u obliku dd.mm.yyyy (jer mi to apsolutno ne pomaže u sortiranju u Finderu) nego mi treba yyyy.mm.dd.
Probao sam biti pametan pa proširio ovu tvoju skriptu u:


on run {input, parameters}
tell application "Finder"
repeat with myFile in input
set myFileName to (myFile as text)
set myComment1 to ((characters ((length of myFileName) - 7) thru ((length of myFileName) - 3) of myFileName) as text)
set myComment2 to ((characters ((length of myFileName) - 10) thru ((length of myFileName) - 8) of myFileName) as text)
set myComment3 to ((characters ((length of myFileName) - 13) thru ((length of myFileName) - 11) of myFileName) as text)
set myComment to {myComment1, myComment2, myComment3}
set comment of myFile to myComment
end repeat
end tell
end run


međutim, ne radi. Molim te, ako mi možeš objasnit gdje griješim (vjerovatno u sintaksi spajanja tri u jednu varijablu)...
Hvala unaprijed!
10.03.2011 | 00:34
Molim te, ako mi možeš objasnit gdje griješim (vjerovatno u sintaksi spajanja tri u jednu varijablu)...

Da, u sintaksi. Stringove (text) spajaš sa "&":

set myComment to (myComment1 & myComment2 & myComment3)
10.03.2011 | 09:28
Hvala!
11.03.2011 | 02:15
Eto da javim da je sve odradilo savršeno!
Hvala još jednom!
Karma +
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 4 dana, 1 sat
  • smayoo: Rijeka je treći grad u Europi po godišnjoj precipitaciji. Prva je Genova u Italiji, a drugi je Nikšić u Crnoj Gori
  • smayoo: Nije istina. London ima više kišnih dana godišnje, ali Rijeka ima veću godišnju precipitaciju (kumulativnu količinu padalina u mm po m2)
  • hal9000: @yonkis • Navodno je.
  • Yonkis: Jel' ovo istina za Rijeku? [link]
  • smayoo: Riječani i ostali zainteresirani, kavica i ćakula ovu subotu (30.08.) ujutro u 10h u gradskoj kavani Renard
  • drlovric: @vanjus: Barem si imao mogucnost izbora. Odaberes banku koja ima Apple Pay i cao :) biH je doslovce prije tjedan-dva dobila Apple Pay, nije uopce bilo dostupno u drzavi.
  • VanjusOS: pa znam da je Apple pay bio dostupan preko PBZ-a već godinama, ali tek od jučer je to moguće i preko HPB.
  • Yonkis: @smayoo - mogli bi subotu ujutro. Ima li još zainteresiranih, gdje je tino1?
  • Yonkis: @VanjusOS - to misliš kao "napokon" tj sarkastično?
  • smayoo: @yonkis - ja mogu u subotu ujutro. U nedjelju popodne-navečer možda također, ali nisam siguran.
  • VanjusOS: ljudi, tehnološka revolucija! od danas Apple Pay i preko HPB-a!!
  • Yonkis: Jel netko za kakvu kavu ovaj vikend? U Ri mislim :)
  • Yonkis: Glede Tita.. u Splitu: [link]
  • smayoo: @drlovric, nema na čemu, drago mi je. :)
  • mbp2009: Titini kriteriji: onaj koji je bio protiv njega. Kao i kriteriji svakog drugog kriminalca i diktatora :)
  • drlovric: @Smayoo: Isli u plavo bijeli. Sasvim pristojna hrana. Nismo uopce razocarani. Hvala :)
  • jura22: Da, tocno tako. Sakupljao po ulici! Zene, djecu, starce. Po redu. Bez kriterija.
  • smayoo: U samom Osijeku, nažalost, po mom iskustvu ništa nije baš trajno na visokom nivou. Ako bih morao preporučiti bar jedno mjesto, to bi bio "Plavo-bijeli". Klasični restoran, kad vidiš kako su konobari odjeveni, izgleda kao da su još osamdesete, ali hrana je konzistentno vrlo dobra. Ali to je nekakav standardni restoranski jelovnik, nema nekih baš tradicionalno slavonskih jela
  • smayoo: Varga u Bilju, pojeli smo zbilja dobar čobanac prije koju godinu. Još je bolji u Sokaku u Đakovu, kod ergele, ali to ti nije blizu Osijeka
  • drlovric: Sutra sam u Osijeku. Molim lokalce za preporuku za dobru slavonsku hranu.
  • Air: U protivnom je imao vanzemaljsku sreću da je baš smaknuo one koji su mu smetali.
  • Air: @jura22 ja sam nekoj logici siguran da je Tito imao kriterije po kojima je to činio.
  • smayoo: Kako misliš - da je nekog dao smaknuti bez kriterija? Skupljao je nasumično ljude po ulici pa ih vodio na smaknuće?
  • Yonkis: Što je kriterij?
  • jura22: “kriterija”
  • smayoo: Što je krizerij?
  • jura22: Danas se sjecamo svih koje je Tito dao smaknuti bez krizerija.
  • Bertone: e da je ufatiti svu tu struju nekako i pospremiti je za kasnije ;D
  • smayoo: Leleee... :)
  • Yonkis: Evo par slika od jutros, slikano iPadom: [link]
  • mbp2009: Sve ok, pbz radi na beti
  • ZeljkoB: Moze se napraviti downgrade na iOS18.x ako nesto ne radi....
  • mbp2009: Nije problem staviti bankarstvo na betu, samo ako ne radi, onda mi se ne da do banke :D
  • big_mac: Jel radi pbz na 26 beta 7?
  • Riba: Mislim da ovdje mijesamo beta aplikacije sa trojancem.
  • dpasaric: Tako da o tome treba voditi računa kada se igra sa softverima još u razvoju.
  • dpasaric: Da se nešto slučajno dogodi sva odgovornost je na beta korisniku.
  • drlovric: Tako je moj prijatelj prije par godina crackiran password manager pa upao u probleme.
  • drlovric: Stavljati bankarstvo na beta aplikacije ne bih nazvao pametnom zivotnom strategijom :)
  • ZeljkoB: IOS26 dev Beta 6, ZABA, OTP, Revolut, Finax…. Sve radi od potencijalno problematičnih app
  • ZeljkoB: iOS26 public beta 2 - ZABA i OTP rade
  • ZoPaj: a Rolling Stonesi planiraju turneju 2026…
  • ZoPaj: RIP! odlaze legende …
  • Gjuroo: Počivala u miru...
  • smayoo: RIP Gabi Novak
  • VanjusOS: možda nije obrisano zbog "piratstva" već zbog toga što se u vikalici ne bi trebamo objašnjavati nego u temama?
  • drlovric: Svi gledamo nesot piratsko. Apsurd je pricati o tome. Ja Hajduku placam pretplatu i clanarinu, a kradem HDTV od 2e, jer ne postoji nacin da ga legalno kupim :)
  • Zdravac: Eto, malo analogije za kraj!
  • Zdravac: Ali ok, svaki privatnik u svome restoranu može svojevoljno određivati cijene, a na nama je opet volja hoćemo li ići u taj restoran ili ne.
  • Zdravac: Shvatite da NIJE ilegalno instalirati Kodi na AppleTV

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Riba, Anonimci (3671)

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 1.16 Seconds

Provided by iJoomla SEO