[GastForen Programmierung/Entwicklung AppleScript RiP-Ergebnisse vergleichen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

RiP-Ergebnisse vergleichen

Anonym
Beiträge gesamt: 22827

16. Jan 2007, 20:11
Beitrag # 1 von 19
Bewertung:
(3840 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
hallo Forum,

nachträglich noch ein Gutes neues Jahr!

Habe folgendes Problem.
Da ich die Unterschiede des aktuellen RiPs zur neuen Version testen will,
möchte ich 2 Ordner überwachen, d.h. die PDFs werden jeweils über das alte und das neue RiP zu JPG geript.

"RiPErgebnis_v402" hier kommen die Daten (jpg) des aktuellen RIPs an
"RiPErgebnis_v416" hier kommen die Daten (jpg) des neuen RIPs an

Bei Namensgleichheit d.h. wenn in beiden Ordner das gleiche JPG-Files liegt, sollten beide in Photoshop-CS2 geöffnet werden - den Rest erledige ich mit einer Aktion.
Die Daten liegen auch erst dann ab, wenn sie fertig geript sind.

Die abgearbeiteten JPGs sollten in Backup_v402 bzw. Bachup_v16 landen.

gibt es diese Möglichkeit?
Gruss und vielen Dank
willem
X

RiP-Ergebnisse vergleichen

Hans Haesler
  
Beiträge gesamt: 5826

16. Jan 2007, 23:00
Beitrag # 2 von 19
Beitrag ID: #421424
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

auch Dir ein gutes neues Jahr!

Zu Deinem Problem: Theoretisch sollte es möglich sein, die Dateien
zu öffnen. Aber in der Praxis sehe ich Probleme beim Ablauf.

Ordneraktionen setzt man doch ein, wenn eine Aufgabe automatisch und
möglichst rasch erledigt werden muss.

Da Du aber die beiden geöffneten Dateien vergleichen musst und dazu
sicher eine Weile brauchst, wäre es nur störend, wenn plötzlich eine
dritte und vierte geöffnet würde. Oder werden die nächsten zwei Dateien
erst losgeschickt, wenn Du bereit bist?

Unklar ist auch, wie das Verschieben in die Backup-Ordner ausgelöst
werden soll.

Ich werde dennoch morgen versuchen, wenigstens den ersten Teil meiner
Idee in zwei Scripts umzusetzen.

Gruss, Hans


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Anonym
Beiträge gesamt: 22827

17. Jan 2007, 06:01
Beitrag # 3 von 19
Beitrag ID: #421425
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

die geöffneten Dateien werden per Phs-Aktion gemergt, gespeichert und geschlossen so daß die nächsten beiden geöffnet werden können. Ich möchte nicht innerhalb der Aktion vergleichen sondern erst danach die Ergebnisse aus der Aktion.

Wenn die 2 gleichnamigen Seiten geöffnet sind, wird die Phs-Aktion Mergen, Speichern und Schliessen.

Hier ein Script von Dir aus 2003 für OS-9,
http://www.page-online.de/page/forum/viewthread/2003/

Herzliche Grüsse
willem


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Hans Haesler
  
Beiträge gesamt: 5826

17. Jan 2007, 08:52
Beitrag # 4 von 19
Beitrag ID: #421426
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

hier – wie angekündigt – der erste Teil. Damit werden die beiden gleichnamigen Dateien
schon mal in Photoshop geöffnet.

Zuerst in der ersten Zeile den Pfad zum ersten Hotfolder an Deine Umgebung anpassen und
das Script sichern. Anschliessend in der ersten Zeile den Namen des Ordners ändern und
das Script unter einem anderen Namen sichern. Den beiden Hotfoldern das entsprechende
Script als Ordneraktion anhängen.
---
property otherFolder : "HD:Users:willem:Documents:RiPErgebnis_v402:"

on adding folder items to thisFolder after receiving itemList
   set thisList to list folder thisFolder without invisibles
   set otherList to list folder otherFolder without invisibles
   repeat with thisFile in thisList
      if thisFile is in otherList then
         set fileOne to (thisFolder & thisFile) as string
         set fileTwo to (otherFolder & thisFile) as string
         openFiles(fileOne, fileTwo)
         exit repeat
      end if
   end repeat
end adding folder items to

on openFiles(fileOne, fileTwo)
   tell application "Adobe Photoshop CS2"
      activate
      open file fileOne
      open file fileTwo
   end tell
end openFiles
---
Gruss, Hans


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Anonym
Beiträge gesamt: 22827

17. Jan 2007, 17:55
Beitrag # 5 von 19
Beitrag ID: #421427
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank,

die beiden Files werden in Phs-CS2 geöffnet, nur die Aktion startet nicht.
Woran könnte das liegen?

property otherFolder : "ONE HD:WORKFLOW:RipTest:Rip_Alt:"

on adding folder items to thisFolder after receiving itemList
set thisList to list folder thisFolder without invisibles
set otherList to list folder otherFolder without invisibles
repeat with thisFile in thisList
if thisFile is in otherList then
set fileOne to (thisFolder & thisFile) as string
set fileTwo to (otherFolder & thisFile) as string
openFiles(fileOne, fileTwo)
exit repeat
end if
end repeat
end adding folder items to

on openFiles(fileOne, fileTwo)
tell application "Adobe Photoshop CS2"
set display dialogs to never
activate
open file fileOne
open file fileTwo
do action "Rip_Vergleich_JPG" from "AktionSet"
end tell
end openFiles


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Hans Haesler
  
Beiträge gesamt: 5826

17. Jan 2007, 21:46
Beitrag # 6 von 19
Beitrag ID: #421428
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

bitteschön.

> die beiden Files werden in Phs-CS2 geöffnet, (...)

Das ist doch schon mal was! ;-)

> (...) nur die Aktion startet nicht.
>Woran könnte das liegen?

Also wenn ich das wüsste? Doch dazu bin ich denkbar schlecht gerüstet.
Ich benutze weder Ordner- noch Photoshop-Aktionen.

Aber bei mir wird die Aktion problemlos ausgelöst. Allerdings bemerkte
ich, dass es anfänglich nur klappte, wenn zuerst der "Neu"-Ordner bedient
wurde. Umgekehrt (zuerst eine Datei in den "Alt-Ordner" geschoben)
öffneten sich zwar beide Dateien. Aber dann tat sich nichts.

Dann legte ich einen 'try'-Wickel um den Befehl ...
---
try
   do action "willem" from "dualAction"
end try
---
... und seither spielt die Reihenfolge keine Rolle mehr.

Vielleicht hilft das 'try'. Oder ganz einfach eine kleine Änderung im Script
und erneut sichern. Zwingend sei auch eine genaue Übereinstimmung der
Namen (Gross- und Kleinschreibung).

Hast Du schon mal erfolgreich eine Photoshop-Aktion per Script gestartet?

Sonst hat vielleicht der Zwischenraum im Namen Deiner Harddisk einen
Einfluss. Und die Tatsche, dass sich der Order "WORKFLOW" direkt im
reservierten Raum befindet (anstatt in "Benutzer:willem:Dokumente:").

Gruss, Hans


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Anonym
Beiträge gesamt: 22827

18. Jan 2007, 04:50
Beitrag # 7 von 19
Beitrag ID: #421429
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

das war die Lösung,
nun startet die Aktion wie gewollt. :-))

-- > Hast Du schon mal erfolgreich eine Photoshop-Aktion per Script gestartet?

Wenn man das sichern/schliessen in die Aktion mit aufnimmt, funktioniert es einwandfrei.

Da wäre noch:
Wenn mehrere Files im Ordner "Alt" liegen und im Ordner "Neu" kommen ebenfalls mehrere Files an,
wird nur das erste "Paar" geöffnet,
nach der Aktion (Alle Dateien sind geschlossen) werden keine weiteren Files (Paare) geöffnet.

Gruss, willem


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Hans Haesler
  
Beiträge gesamt: 5826

18. Jan 2007, 08:01
Beitrag # 8 von 19
Beitrag ID: #421430
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

das Öffnen wird durch das Eintreffen der Dateien in die überwachten
Ordner ausgelöst. Idealerweise müssten die beiden geöffneten Dateien
sofort in die Backup-Ordner verschoben werden. Zum Vergleichen
müssen sie nicht mehr im Hotfolder liegen. Aber In der Photoshop-Aktion
darf nur ein "Schliessen" den Abschluss machen (kein "Sichern").

Und der Fluss der Dateien müsste so gesteuert werden, dass das
nächste Paar erst losgeschickt wird, wenn die Überprüfung des
aktuellen abgeschlossen ist.

Falls dies nicht möglich ist, bleibt keine andere Wahl als auf
die Ordneraktion zu verzichten und ein normales Script einzusetzen.
Also zuerst alle Dateien produzieren, dann das Script starten.

In diesem Script müsste ein 'delay' eingebaut werden, welcher die
Ausführung lange genug aufhält, bis das aktuelle Paar von Dateien
erledigt ist.

Ich kann aber nicht vor heute Abend versuchen, eine solche Lösung
zu entwickeln.

Gruss, Hans


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Anonym
Beiträge gesamt: 22827

18. Jan 2007, 17:34
Beitrag # 9 von 19
Beitrag ID: #421431
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank

--> Also alle Dateien produzieren, dann das Script starten.

Wäre ideal, da die Dateien erst auf den lokalen Rechner kopiert werden.

Gruss willem


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Hans Haesler
  
Beiträge gesamt: 5826

18. Jan 2007, 22:25
Beitrag # 10 von 19
Beitrag ID: #421432
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

also ... die "alten" und die "neuen" Dateien sind in ihrem Ordner.

Bitte im folgenden Script die Pfade überprüfen und anpassen und den
'delay'-Wert, welcher die Ausführung des Scripts anhält, damit die
Photoshop-Aktion nicht gestört wird, auf den notwendigen Wert setzen.

Das Script am besten als Programm sichern. Dann kann es per Doppel-
klick gestartet werden.
---
property oldFolder : "ONE HD:WORKFLOW:RipTest:Rip_Alt:"
property newFolder : "ONE HD:WORKFLOW:RipTest:Rip_Neu:"

property bkpFolOld : "ONE HD:WORKFLOW:RipTest:Backup_Alt:"
property bkpFolNew : "ONE HD:WORKFLOW:RipTest:Backup_Neu:"

set oldList to list folder oldFolder without invisibles
set newList to list folder newFolder without invisibles
repeat with thisFile in oldList
   if thisFile is in newList then
      set fileOne to (oldFolder & thisFile) as string
      set fileTwo to (newFolder & thisFile) as string
      openFiles(fileOne, fileTwo)
      try
         tell application "Finder" to move file fileOne to folder bkpFolOld
      end try
      try
         tell application "Finder" to move file fileTwo to folder bkpFolNew
      end try
      delay 5
   end if
end repeat

on openFiles(fileOne, fileTwo)
   tell application "Adobe Photoshop CS2"
      activate
      open file fileOne
      open file fileTwo
      try
         do action "Rip_Vergleich_JPG" from "AktionSet"
      end try
   end tell
end openFiles
---
Und? Klappt's bei Dir auch?

Gruss, Hans


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Anonym
Beiträge gesamt: 22827

19. Jan 2007, 13:33
Beitrag # 11 von 19
Beitrag ID: #421433
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

und wie es klappt ... wie am Schnürchen

vielen Dank !!

Gruss, willem


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Anonym
Beiträge gesamt: 22827

31. Jan 2007, 05:02
Beitrag # 12 von 19
Beitrag ID: #421434
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

habe Dein "Rip-Vergleich-Script" edditiert (Histogramm wird ausgelesen und bei Fehler wird eine zweite Action "markieren" gestartet, wenn kein Fehler auftritt, wird das Document geschlossen. Somit werden nur die Fehlerhaften Files abgelegt.

Das Script läuft einwandfrei, nur das Speichern ist das Problem.

-- Scriptstart

property oldFolder : "ONE HD:WORKFLOW:RipTestMP:Rip_Alt:"
property newFolder : "ONE HD:WORKFLOW:RipTestMP:Rip_Neu:"

property bkpFolOld : "ONE HD:WORKFLOW:RipTestMP:Backup_Alt:"
property bkpFolNew : "ONE HD:WORKFLOW:RipTestMP:Backup_Neu:"

property diffolder : "ONE HD:WORKFLOW:RipTestMP:Differenz:" -- =NEU

set oldList to list folder oldFolder without invisibles
set newList to list folder newFolder without invisibles
repeat with thisFile in oldList
if thisFile is in newList then
set fileOne to (oldFolder & thisFile) as string
set fileTwo to (newFolder & thisFile) as string
openFiles(fileOne, fileTwo)
try
tell application "Finder" to move file fileOne to folder bkpFolOld
end try
try
tell application "Finder" to move file fileTwo to folder bkpFolNew
end try
delay 2
end if
end repeat

on openFiles(fileOne, fileTwo)

set AppleScript's text item delimiters to ","
set yyy to {}

tell application "Adobe Photoshop CS2"
set display dialogs to never
activate
open file fileOne
open file fileTwo
try
do action "RipvergleichJPG" from "AktionSet"

-- =NEU Histogramm auslesen Start
set xxx to properties of current document
set yyy to ((yyy) & ((histogram of xxx)) as text)
get yyy
set Zahl01 to 0
repeat 255 times
set Zahl01 to Zahl01 + 1
if text item Zahl01 of yyy is not "0" then
set Ergebnis to "Fehler"
do action "markieren" from "AktionSet"

-- HIER möchte ich in den "diffolder"  SICHERN
save current document to "diffolder"

exit repeat
else
set Ergebnis to "kein Fehler"
close current document saving no
end if
end repeat
set AppleScript's text item delimiters to ""
-- Histogramm auslesen Ende =NEU

end try
end tell
end openFiles
-- Script Ende

im vorraus Besten Dank

Gruss willem


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Hans Haesler
  
Beiträge gesamt: 5826

31. Jan 2007, 08:06
Beitrag # 13 von 19
Beitrag ID: #421435
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

ich habe nicht den ganzen Ablauf getestet. Aber so sollte es klappen:
---
tell current document
   set docName to name
   save in file (diffolder & docName) as JPEG
end tell
close current document without saving
---
Gruss, Hans


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Anonym
Beiträge gesamt: 22827

31. Jan 2007, 20:46
Beitrag # 14 von 19
Beitrag ID: #421436
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

es klappt nur mit dem ersten "Paar" die nächsten werden nicht mehr gesichert,
die Aktion läuft durch, die Files werden geschlossen aber nicht gesichert.

Gruss willem


als Antwort auf: [#421423]

RiP-Ergebnisse vergleichen

Hans Haesler
  
Beiträge gesamt: 5826

31. Jan 2007, 22:57
Beitrag # 15 von 19
Beitrag ID: #421437
Bewertung:
(3839 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

sehr wahrscheinlich genügt die 2-Sekunden-Pause nicht mehr.
---
try
   tell application "Finder" to move file fileTwo to folder bkpFolNew
end try
delay 2
---
Setze mal anstelle der 2 eine 20. Falls es damit besser ist, wieder
etwas verringern, damit die Ausführung nicht zu lange dauert.
Kann sein, dass auch 20 Sekunden zu kurz sind. Wenn dies zutrifft,
den Wert erhöhen, bis es geht.

Gruss, Hans


als Antwort auf: [#421423]
X