AScript: Digicam files drehen/umbenennen

Dieses Thema im Forum "Software" wurde erstellt von Tambo, 1. Juli 2002.

  1. Tambo

    Tambo New Member

    Hallo, habe mir heute mal ne Digicam ausgeliehen, um mir mal nen Überblick über die bevorstehende Arbeit zu machen- dafür war die coolpix 990 praktisch - ne grössere Kunstsammlung soll später analog fotografiert werden.
    Die Umwandlung der Kodak View-files in image viewer/PhotoShop habe ich via Script geschafft, ebenso das script um die datei "vornamen"(DCSN) webzubeamen jedoch nervte es mich , die files einzeln ins hochformat zu drehen; gibts da kein script ??

    Im GC müsste das ja gehen, wollte jedoch nicht GC brauchen, da die files vom Auftraggeber auf Dosen geöffnet werden müssen, da ziehe ich den image viewer vor....(damit die nicht den wollen Sie...-Dialog haben...)

    Weiss jemand Rat ??

    tAmbo
     
  2. alf

    alf New Member

    Wo ist denn das Problem, wenn du die Batch-Konvertierung des GC benutzt. Ein tiff oder ein jpg bleibt auch auf der Dose ein tiff oder ein jpg.
     
  3. Tambo

    Tambo New Member

    der "imageviewer"der Dosen , kenn den Namen nicht.... öffnet doch ein (mac) ImageViewer-jpg ohne diese lästigen Dialoge, oder liege ich da falsch ???
     
  4. Folker

    Folker New Member

    file creator' via AppleScript setzen! Ist dann doch völlig wurscht welches Proggi Du zum drehen verwendest.

    set theF to (choose folder)
    tell app "Finder"
    set creator type of (every file of theF where creator type = "????") to "????"
    end tell

    Die creator type (s) habe ich hier nur Beispielhaft eingesetzt. Um die entspr. creator type (s) zu erhalten:

    set temp to (choose file)
    tell app "Finder" to get creator type of temp

    Gruß,
    Folker

    PS: War das jetzt heiße Luft ;-)?

    PSS: Kenne Imageviewer nicht, habe ich nicht, kann der/das AppleScript? Wie komme ich an das Dictionary? (Bin selbst viiiiel zu faul :)
     
  5. macfaniac

    macfaniac New Member

    pfpfpfpuuuh ; )
     
  6. Tambo

    Tambo New Member

    sorry, swar natürlich der (apple) picture viewer nicht der image viewer, habe vor lauter Bäumen.....

    @ folker: creator und type setzen... kein prob, das script lief ja wie am schnürchen, ebenso die lästigen DNCS-Endungen, jedoch was ich suche ist dasjenige script, das mir im picture viewer, nach erfolgter Umwandlung (creator...) quer- ins hochformat setzt und umgekehrt.....

    und zum nachhaken: wären das alles auch in einem script kombinierbar ?? (creator-umwandlung+lästige Namen weg und Hochstellen.. ... (von wegen...heisse Luft ;-))) )
     
  7. Folker

    Folker New Member

    on Teil ohne Rekursion - bin ja soo faul)?
    Sind das alles JPEG's (macht et einfacher, wir müssen ja die Dateien eingrenzen, wollen ja nicht versehentlich ein Icon oder was weiß ich drehen)?

    Ja, und den 2. Teil des Jobs haben wir ja schon (siehe mein 1. Posting) *g*
     
  8. Folker

    Folker New Member

    So, als 1. Teil würde ich mal vorschlagen:

    set theF to (choose folder)
    tell application "Finder"
    set theL to every file of theF where file type of it = "JPEG"
    end tell

    tell application "GraphicConverter PPC"
    activate
    repeat with i in theL
    open (contents of i as string) without messages
    tell window 1 to rotate to angle 90.0 -- (270.0)
    close window 1 saving yes
    end repeat
    end tell

    Zugegebenermaßen sehr simpel, die Kür kann dann ja anhand des dictionary's erfolgen.
    Achso, immer VORHER ein Backup machen, vor allem wenn es Unikate sind *g*

    Gruß,
    Folker
     
  9. Tambo

    Tambo New Member

    kum grad, muss nem architekten der morgen abgabe hat, via telefon den mac wieder hochbekommen......
    der hat sein system geschrottet *g*
     
  10. Tambo

    Tambo New Member

    s text item delimiters to {":"}
    set fileAliasName to last word of (fileAlias as text)
    set AppleScript's text item delimiters to savedDelimiters
    --display dialog fileAliasName
    set targetFileName to my FileNameFromNumber(itemNumber)

    tell application "Finder"
    if file targetFileName of folder destinationDir exists then
    if replaceAll is "no" then
    display dialog ¬
    "file exists" buttons {"replace all", "cancel"} default button 2
    if button returned of result is "cancel" then
    tell me
    quit
    end tell
    end if
    --user authorises total replacement
    set replaceAll to "yes"
    end if -- if replaceAll is "no"
    --display dialog "deleting " & targetFileName
    try
    delete file targetFileName of folder destinationDir
    on error errorMsg
    display dialog errorMsg ¬
    buttons {"stop", "continue"} default button 1
    if button returned of result is "stop" then
    tell me
    quit
    end tell
    end if
    end try
    end if -- if targetFileName exists

    duplicate fileAlias to destinationDir replacing yes -- copy old file
    set duplicatedFile to result
    set creator type of duplicatedFile to "GKON"
    set file type of duplicatedFile to "JPEG"
    set name of duplicatedFile to targetFileName -- change its name to number

    end tell

    end HandleFile

    -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    on HandleFolder(DirAlias)
    global destinationDir
    tell application "Finder"
    -- set numberOfItems to count of each element of DirAlias
    -- display dialog (numberOfItems as string) buttons {"ok"}

    set folderItems to contents of alias DirAlias
    repeat with folderItem in folderItems
    set className to class of folderItem
    if className is folder then
    my HandleFolder(folderItem)
    else
    if className is document file then
    my HandleFile(folderItem)
    end if
    end if
    end repeat
    end tell

    end HandleFolder

    -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

    on FileNameFromNumber(MyNumber)
    set numberString to (MyNumber as string)
    set numberLength to length of numberString
    repeat 3 - numberLength times
    set numberString to "0" & numberString
    end repeat
    return numberString & ".jpg"
    end FileNameFromNumber<

    tAmbo
     
  11. Folker

    Folker New Member

    Werde mir das Script erst später näher anschauen, die Zeit :( - nur soviel: PS 7, weiß ich nicht - aber Adobe hat einige AppleScript-Entwickler schon vor Monaten eingekauft und behauptet, dass ALLE Produkte über kurz oder lang komplette AS-Unterstützung erfahren - ich bin gespannt!
    Limits: Ja, der Apple AppleScript-Editor macht bei 32 k dicht. Da muss man sich dann mit Scriptobjekten, also externen Scripts die in das ausführende Script "geladen" werden aushelfen - aber wer benutzt denn auch Apples Editor? Smile ist eine kostenlose Alternative, kann wesentlich mehr und hat als Limit auch nur den verfügbaren RAM des Programms &

    Gruß,
    Folker

    PS: Achso, "name" ist ja auch ein property eines Files. Der kann auch geändert werden. Der neue Name kann natürlich aus Variablen gebastelt werden (z.B. Zählvariable 1- n)
     
  12. Tambo

    Tambo New Member

    hi Folker

    praktisch wäre natürlich die Kombination dieser beiden scripte
    .....und wenn man dem SkriptEditor mehr Speicher zuweist ?? Das geht ja immerhin.....
    Ok, im X wird alles anders/besser ;-)

    Gruss, tAmbo

    muss mal wieder arbeiten, bis später....
     
  13. Folker

    Folker New Member

  14. Folker

    Folker New Member

    s sein, oder? Was den Terminus 'name of it contains ".jpg" - ist natürlich nur ein Beispiel, aber so lassen sich die gewünschten Dateien eingrenzen - willst ja nicht versehentlich ein text clip o.ä. mitnehmen &
    Ja, und wenn da noch aussortiert werden soll, dafür gibt es im GC ja so Überblickfunktionen o.ä.

    property thenum : 0 -- nach jedem Durchlauf neuen Startwert setzen
    property thedestination : ""

    set theStart to (choose folder with prompt "Startordner wählen:")
    set thedestination to (choose folder with prompt "Zielordner wählen:")
    do_firstJob(theStart)
    --creator type würde ich auf einen Rutsch am Ende auf den gesamten Zielordner anwenden, also hier! (evtl. auch die Drehgeschichte &) - geht schneller

    on do_firstJob(theStart)
    tell application "Finder"
    set temp to (duplicate (every file of theStart where file type of it is "JPEG" and name of it contains ".jpg") to thedestination)
    repeat with i in temp
    set name of (contents of i) to (my get_newname())
    -- Drehwurm?
    end repeat
    set theFolList to every folder of theStart
    repeat with i in theFolList
    my do_firstJob(i)
    end repeat
    end tell
    end do_firstJob

    on get_newname()
    set thenum to (thenum + 1)
    return (((text items -1 thru -4 of ("0000" & thenum as string)) as string) & ".jpg")
    end get_newname

    PS: Achso, unnötig zu erwähnen - das ganze wird enorm kürzer und wird auch dem besch& Apple AppleScript Editor nicht aushebeln *g*
     
  15. *ist von solcherlei Dingen immer wieder beeindruckt.*

    Hast Du irgendwelche Bücher als Empfehlung für einen Anfänger der Basic und Co vor 10 Jahren aufgegeben hat und heute nur noch in Flash programmiert?

    Ich will sowas auch können :)
     
  16. Folker

    Folker New Member

    Im Moment ist es schwer eine Empfehlung auszusprechen - Dank OS X ändert sich natürlich auch einiges an AppleScript - andererseits ist AS laut Apple eine sog. "Schlüsseltechnologie". Dabei ist es auch interessant zu erwähnen, dass Adobe schon vor Monaten von Apple Top-AS-Entwickler "bezogen" hat um die "gesamte Produktpalette komplett AppleScriptfähig zu machen". Die Empfehlung bis vor kurzem war:
    "AppleScript in a nutshell" von Bruce W. Perry im Verlag O'Reilly, ISBN 1-56592-841-5
    und natürlich das Internet! Da sind auf alle Fälle erwähnenwert:
    http://www.Fischer-Bayern.de/applescript/
    (die Nachfolgesite inkl. Forum von ScriptMyMac)
    http://www.AppleScriptSourcebook.com/
    http://macscripter.net/
    und natürlich
    http://www.apple.com/applescript/

    Gruß,
    Folker
     
  17. Tambo

    Tambo New Member

    .....Folker ist hier schon der Hardcoreler...... ich bin dagegen Feld/Wiesen/Wald-scripter..;-) habe glatt vergessen, dass ich das smile auf ner anderen partition habe.....

    aber sag mal Folker, zunächst danke fürs script, werd's gleich mal ausprobieren......wie werden die skripte im X eingebunden; Finder Pop ist ja da :-(( -nicht gegeben, habe mir eben mal das Xer smile gezogen.... und der GC läuft schon im X.....
    muss man denn fürs X neu schreiben, oder sind die Skripte OS-9 X-compatibel ??
    Gruss, tAmbo
     
  18. Folker

    Folker New Member

    Also, Scripte vorsichtshalber immer neu kompilieren. Manches geht im X NICHT. Schau mal ins dictionary - vielfach stösst man auf "(NOT AVAILABLE YET)" o.ä. Nach wie vor gibt es Probleme, wie seit AS Version 1.7 mit "Umlauten" in Dateinamen, ja in D. natÜrlich nicht unbedingt prall. Ja und die Pfade sind natürlich subtiler & Schau mal ins AppleScript Forum bei Fischer-Bayern.de, da ist jetzt doch schon einiges an X-ungereimtheiten zu finden.
    Vieles geht aber schon, wobei man jetzt einige Dinge beachten muss. Mit den Userrechten habe ich mich noch nicht beschäftigt (bin immer Admin ;-) aber da wird's sicher noch spannende Fallen geben.
    Obiges Script habe ich allerdings im 9er zusammengefriemelt und noch nicht unter X getestet - doch jetzt gerade, da muckt er nach einigen Unterordnern rum - hmm, kann aber auch nicht so doll werden, darum im Prinzip geht es auch im X, aber obiges Script ist erstmal fürs 9er (ich poste dann die Xer Änderung *g*)

    Gruß,
    Folker
     
  19. Folker

    Folker New Member

    So, nun habe ich es mal nachvollzogen - Problem beim Xer ist, das der Finder einige Dateien doppelt in die fileList aufnimmt - warum ist mir nicht ganz klar, ich forsche erstmal nach Finderbugs betr. der whose/where clause.
    Du siehst, da steht unsereiner auch wieder am Anfang *g*
     
  20. Tambo

    Tambo New Member

    .....Folker ist hier schon der Hardcoreler...... ich bin dagegen Feld/Wiesen/Wald-scripter..;-) habe glatt vergessen, dass ich das smile auf ner anderen partition habe.....

    aber sag mal Folker, zunächst danke fürs script, werd's gleich mal ausprobieren......wie werden die skripte im X eingebunden; Finder Pop ist ja da :-(( -nicht gegeben, habe mir eben mal das Xer smile gezogen.... und der GC läuft schon im X.....
    muss man denn fürs X neu schreiben, oder sind die Skripte OS-9 X-compatibel ??
    Gruss, tAmbo
     

Diese Seite empfehlen