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 3 sati, 47 minuta
  • dpasaric: Magic Mouse - lijep, ali rubno upotrebljiv! :)
  • superstric: ako netko treba, apple magic mouse 63,01 euro na amazon prime day
  • dpasaric: :)
  • smayoo: Čestitam svima Dan antifašističke borbe!
  • drlovric: Za nekih tjedan dana moj Macbook Pro M1 Pro 16" ide na prodaju. Ako nekoga zanima takvo racunalo (us layout, 16gb ram) neka se javi za dogovor.
  • dpasaric: Možda je to bio Belonguzije - androdi kojeg je predstavio LET 3 u Pikiju jednom davno... istina, imao je dosta ograničen rječnik... :)
  • accom: Evo, čitam o zidiću i gledam Baltazara... jel to bila prva AI mašina na svijetu?
  • dpasaric: To se i meni dogodilo par puta, uvijek prije objave napravim barem copy u buffer, a često ako je nešto kompleksnije, samo paste u TextEdit, just in case.
  • Yonkis: I pretraga je beskorisna, zato sam pisao novu temu jer mi je trebalo manje vremena da ju natipkam i dodam screenshotove nego da češljam rezultate pretrage.
  • Yonkis: Jedem ti jabucnjak, napišem novu temu i nisam odabrao Forum i sve mi izbriše kad sam kliknuo PROVJERI. Odsutajem, 20 min tipkanja otišlo u vjetar. Nikakav alert ili nešto da iskoči da me upozori.
  • ZeljkoB: Zaba na dev beti radi bez greske
  • dpasaric: Vidio sam neke na Twitteru da su stavili dev betu, ali nisu ovdje.
  • mbp2009: ne vidim neke konkretne info na netu za to
  • mbp2009: Ne znam odakle ove diskusije poticu, ali da vidim, ima li koga na dev beti ios? Pogotovo ovaj dio me zanima za PBZ i poslovnu PBZ, ako radi
  • dpasaric: Čekam da mi dođe jedan zanimljiv komad hardvera, pa ću finalizirati velik pregled monitora koji će mnogima biti koristan!
  • dpasaric: "Your request has been processed"
  • Ender: takodje i ja molim admina da obrise i moj korisnicki nalog. ostavljam mogucnost da se kasnije opet prijavim kad i ako se neke stvari promene. pozzz i svako dobro.
  • dpasaric: @Air U redu, razumio sam. Hvala ti na svemu onom pozitivnom, ono drugo će srediti vrijeme.
  • jura22: Vrijeđaj partizane i Tita pa da vidiš.
  • Air: Ako si razumio onda napravi to, a ne da moram pisali litanije za jednostavan zahtjev.
  • dpasaric: Air, naravno da je dovoljno, ako to želiš mogu i ja odmah, ali hej, jutro je pametnije od večeri, prespavaj, pa javi, najmanji je problem kliknuti na delete.
  • Air: Zanimljiv vam je latinski. Uživajte. Između vaših upisa napišite što je potrebno da zatvorim račun na Jabučnjaku ako nije očigledno dovoljno razumljivo ovo što sam napisao na vikalici.
  • smayoo: Canis mater studiorum. Stara studentska. :D
  • dpasaric: @Gjuroo: Per aspera ad astra!
  • Gjuroo: @Air: Illegitimi non carborundum.
  • dpasaric: Chill out i vidjet ćeš kako će ovo sada biti ugodnije, korisnije i pozitivnije mjesto za sve korisnike.
  • dpasaric: Joj ne drami.
  • Air: Molim odgovornu osobu da obriše Air račun.
  • Air: U ovim novim okolnostima transparentnog licemjerstva pojedinca podvlačim crtu. Ja nemam želudac za trpiti to da mi jedan licemjer briše čiste postove samo zato što on ima problem u svojoj glavi. Kako je tino1 rekao bilo mi je zadovoljstvo dolaziti na Jabučnjak radi ljudi. Ovim putem pozdravljam sve dobre ljude Jabučnjaka i HVALA vam! Nakon ovog upisa brišem svoj račun.
  • dpasaric: Sve što je sada obrisano u "kafanskim laprdanjima" je bilo u dogovoru s Djurom, počistili samo za sobom i tko hoće može tamo dalje s "lakim temama".
  • drlovric: @Rusty: Slazem se 100%. Svako bira za sebe. Jedna tema u sekciji Razno, nije smetala nikome ko je dosao da konzumira nesto drugo. Ako sam dosao u ducan da kupim povrce, zasto bi mi smetalo sto prodaju i hranu za bebe? :)
  • rusty: Evo kao dugogodišnji član foruma, moram priznati da niti jednom nisam otvorio političke teme niti sudjelovao u njima na forumu. Dolazim vidjeti non političke, non automobili teme. I jedna i druga su mi kao nogomet, besmislene i ne interesantne. Da li će mi faliti, ne. Da li ću manje dolaziti na forum, ne.
  • dpasaric: To je tvoje viđenje.
  • dpasaric: Obećajem da ćemo je izreklamirati na forumu, pa tko voli…
  • Air: Znam tvoje ovlasti. Nije u tome problem. Problem je što se Jabučnjak predstavlja kao pozitivan, a ovo što ti radiš je negativno!
  • dpasaric: Evo, pokreni i ti moderiraj Signal grupu za vaše političke rasprave.
  • dpasaric: I probaj biti koristan. Pokreni nešto pametno i svima korisno.
  • dpasaric: Pročitaj kućni red još jednom.
  • Air: @dpasaric Otvorio si javni komunikacijski kanal. Tko si ti da brišeš postove iste tematike o kojoj sam pišeš, ako ti postovi nisu uvredljivi i ne krše nikakav zakon?
  • dpasaric: Poanta je da je besmisleno dalje širiti raspravu.
  • Air: Fakat imaš teških osobnih problema
  • Air: Protiv "cara" se ne smije ništa pisati?
  • Air: Smetati osobno?
  • Air: i zašto si obrisao ovaj moj tekst is te teme?
  • Air: u temi kafanska laprdanja
  • Air: @dpasaric Samostalno, ničim izazvan optužio si Djuru za nešto. Djuro ti je odgovorio. Budi čovjek, pa kada si "zagrizao" odgovori čovjeku na njegovu cijelu obranu. - stavku po stavku.
  • Air: Skrećeš TEMUsa svojih LOŠIH djela na svoja DOBRA djela (koja nitko ne spori).;)
  • dpasaric: Propast su lijenost i jalovo lamentiranje. Tko je vrijedan i radi neće propasti.
  • dpasaric: Jabučnjak je do svoje punoljetnosti davao odličnu pomoć svakome tko je došao i bez vaših političkih prepucavanja.
  • dpasaric: Vaša hipoteze su potpuno promašene! :) Ono kao "super je imati stalno aktivnu crnu kroniku jer će onda puno ljudi to čitati, pa će ti koji to čitaju pomagati drugima." Bez brige, tko treba pomoć dobit će je i bez crne kronike.

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 0.55 Seconds

Provided by iJoomla SEO