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...
  • Sank
  • Moderator
  • 221
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 2 dana, 2 sati
  • jmustac: poslano
  • Riba: Javi se meni s detaljima.
  • jmustac: kako obrisati profil na ovom forumu?
  • rusty: @marioart - ovisi o hipervizoru, ali ukratko da. Moguće je dobiti emulaciju x86 na ARM bare metal stroju. UTM hypervisor kojeg osobno koristim nudi u mogućnost. Jasno, to zovu emulacijom, ne virtualizacijom ali eto
  • marioart: @rusty .. moze li se ikako dobiti x86 win kroz virtualizaciju?
  • stefanjos: drlovric. pa odgovaranje poruka na aplikacijama koje namu mac app i ako se puni da ne secem po mob, rijesim preko maca i to je to
  • rusty: Virtualizacija bi bio moj odabir, e sada da li je besplatno ili ne, ovisi o tome kako ćeš tu kopiju licencirati
  • VanjusOS: ima li nekakav besplatni način za imati Windows na Macbook sa M čipovima?
  • drlovric: Za sta ti konkretno mirroring sluzi? Ja mu nisam nasao primjenu :/
  • stefanjos: affinty na popustu 50%. ja sam si uzeo novu licensu. do sada sam bio na v1
  • stefanjos: tako da, meni je to top feature
  • stefanjos: ja imam australski app store i iphone mirroring koristim svaki dan
  • drlovric: To ces probati jednom i nikad vise. Nema razloga za biti razocaran :)
  • Zdravac: - NIJE :/
  • Zdravac: Jel proradio iPhone Mirroring? :)
  • Yonkis: iOS 18.1.1 / macOS Sequoia 15.1.1 [link]
  • kupus: pretpostavljam da to ide meni, znaci fino radi.
  • kupus: hahaha
  • drlovric: Znas kako lijepo klepece. Mozes i mijenjati zvuk. Merak pravi ????????
  • kupus: svejedno hvala smayoo
  • smayoo: Ma nemoj me zajebavat... :D
  • drlovric: Prekrasna aplikacija ako zelite zvuk fancy mehanicke tipkovnice :) [link]
  • drlovric: I ja to ocekujem. Na proljece cu u USA i iskreno se nadam da ce izaci do tada. Da donesem makar dva komada :)
  • Borisone: Osim ako nisi na ti s Tim Cookom, najbliže nagađanju kada je: [link]
  • VanjusOS: zna li netko, hoće li izaći uskoro Air sa M4 čipom?
  • smayoo: Pokušao sam, ali sam odustao kad me zavrtio u krug s registracijom i sign-inom na Epic games. Najprije kaže da može iskoristiti moj AppleID, kad napravi login preko AppleID i kažem da ne želim pokazati svoj AppleID onda me opet svejedno traži login. Tako da... sorry, ne bih.
  • kupus: hvala
  • kupus: moze li netko probat ovaj besplatan virtualan masterpiece na m macovima? [link]
  • ping: @drlovric imaš besplatne konvertere na netu pdf to excel ili konvertiraj u jpeg pa potrazi online free konverter ocr to excel
  • drlovric: nemam Acrobat....smo PDF Exprt i Wondershare.... Raspadne se na oba
  • drlovric: Daj mi mail na poruku pls, pa da ti posaljem....a kakav Pentagon, prosla su ta vremena, glupost neka :)
  • Zdravac: negdje ju uploadaj, pošalji mi link pa ak hoćeš, da vidimo kak će ispasti (osim ako nisu neke secret Pentagon pi*darije :)
  • Zdravac: @drlovric - "export to excel" ?! Adobe acrobat
  • drlovric: Imam fakturu u PDF, htio bih od nje napraviti Excel file. Sta da radim? :)
  • mariolino1971: Pozdrav. Pokušavam poslati oglas no stalno dobivam poruku 413 Request Entity Too Large. U čemu je problem?
  • kupus: UK korisnici vs Apple [link]
  • Yonkis: Jeste li znali da se iPhone sam reboota ako nije otključan u 72 sata? [link]
  • Yonkis: jeste čitali komentare na [link]
  • Ender: takodje zainteresovan za neki IPTV, predlog moze u PM.
  • cariblanco: Ako hočeš ja ti svog "provajdera" kojeg koristim 4-5 godina, pošaljem na pp ?
  • cariblanco: Kako veli Zdravac dobar iptv za 10 E i imaš sve i gdjedaš od kud hočeš. Meni je to jako važno pošto puno putujem, trebam samo dobar net i mirna bosna
  • drlovric: Moj Telemach nema Arene vec Sport Klubove....ali postoji kabelska u zgradi koja ima Arene, preko koaksijalnog kabela.... Pa sam se tehnloski vratio deteljece unatrag. Ali radi evo :)
  • Zdravac: Ali to je paket ex yu kanala, nema samo sport vec sve
  • Zdravac: Kvalitetni, koji mogu preporučiti 10 eur/mj
  • Zdravac: Ima, iptv
  • kupus: hometv to go ili kako već
  • kupus: znači ide i eronet aplikacija
  • kupus: u bih prava ima arenasport ako se ne varam
  • drlovric: Jel ima neki nacin da se HNL Supersport liga gleda online? Neki app? Streaming? Iptv?
  • cariblanco: Prošlo iz petog pokušaja...bit će da je Riba na suhom ;)

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 1.25 Seconds

Provided by iJoomla SEO