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 12 sati, 24 minuta
  • Piko: Odabereš video i titlove, a SubSync analizira govor, uspoređuje ga s tekstom titlova i automatski prilagođava njihovo vrijeme prikaza da budu usklađeni sa zvukom.
  • drlovric: Piko: Izgleda zanimljivo. Kako radi ovo? :)
  • Piko: [link] evo, ARM verzija aplikacije ... autor je to napustio a aplikacija radi super .... no originalna je intel only, radi preko rozete .... pa sam forkao i složio ARM verziju
  • Yonkis: Super mi je kad napišu "Download for free on the App Store." Najbolje da mi naplate skidanje i instalaciju. Jako duhovito.
  • ZoPaj: [link]
  • Yonkis: Jako gledljiv. Meni.
  • Riba: Ne, je li gledljiv?
  • Yonkis: Gledao jučer dokumentarac MUSK, gledao još netko?
  • smayoo: Ajd... :)
  • CoffeePod: [link]
  • CoffeePod: Čudo
  • CoffeePod: Pogledajte ovo čudi
  • smayoo: Koji ZIPani post... :D
  • Riba: Opera radi nakon brisanja cachea, vjerojatno ce i Safari na iPadu. RIP Miso, i za drlovrica uskoro lijepe novosti.
  • Riba: +
  • Riba: + Opera
  • Gjuroo: Laka mu zemlja...
  • smayoo: Ae, partija nan je Mišo... :(
  • jura22: iPad Sfari nema pluseva.
  • jura22: iPad
  • drlovric: Tako da cekamo i dalje. Nije belaj :)
  • drlovric: Za sta koristite te pluseve pa tolika euforija :) Ja cekam davno obecani responsive forum ali bice da nam je Riba previse zauzet :/
  • Riba: Pogledam sutra na Operi, Firefox je ok.
  • jura22: Ovo je Safari, a na Operi na radi.
  • jura22: ++++
  • smayoo: Bajdvej, na kraju nisam brisao browser cache.
  • smayoo: Eeeee, ček sad dok nadoknadim sve izgubljene pluseve... ++++++ ++++ +++ ++++++ +++ +++ +++++++ +++ :P
  • smayoo: +++++++
  • smayoo: +
  • Riba: a+b
  • Gjuroo: Radi!
  • Gjuroo: plus
  • ZoPaj: a b
  • Riba: Obrisite browser cache, n00bs.
  • Riba: +
  • jura22: i opet ništa
  • jura22: a b
  • smayoo: +
  • smayoo: RIP :(
  • zoranowsky: R.I.P. Sir Patrick Stewart
  • jura22: h
  • jura22: Zašto plus ne ide?
  • jura22: A B
  • jura22: A B
  • dpasaric: Haha! :)
  • Yonkis: Riba - vikao sam na vikalici ali nije radila. :)
  • dpasaric: Slobodno tamo komentirajte!
  • dpasaric: Osvrt na naslovnici! :)
  • CoffeePod: Apple glowing logo je back i želim ga na i non-touch Macovima
  • CoffeePod: Broj puta kad sam htio dotaknut MacBook ekran u svom životu: 0

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.81 Seconds

Provided by iJoomla SEO