[GastForen Betriebsysteme und Dienste HELIOS Helios Scriptserver

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

Helios Scriptserver

Mabusesteve
Beiträge gesamt: 49

16. Aug 2017, 14:45
Beitrag # 1 von 6
Bewertung:
(10793 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen

Ich habe mit dem Script Assistent ein Script zur Umrechnung von Bildern erstellt. Das läuft und bringt das gewünschte Ergebnis.

Aber er läuft nur wenn das zu bearbeitende Verzeichnis in den Hotfolder kopiert wird. Wenn das Verzeichnis nur in den Hotfolder verschoben wird läuft es nicht los.
Also wenn es auf dem gleichen Heliosvolumen in den Hotfolder geschoben wird passiert nicht, wenn es rein kopiert wird - alles bestens...

Da ich leider kein Scriptkenntnisse habe, kann mir jemand vielleicht einen Tipp geben.

hier noch das script:
#!var/run/runperl -w
# $Id: conversionTemplate.pl,v 1.11 2015/02/16 13:53:21 tom Exp $

#
# Sample configuration
#
my $default_settings = <<'</SETTINGS>'; # Let Perl ignore the settings block
<SETTINGS>
<General
Enable="true"
Hot_Folder="/HotFolderPath"
Include_Subdirectories="false"
User=""
Timeout="600"
/>
<File_Types
Types="TIFF,JPEG,EPSF,8BIM,8BPS,PICT,BMP ,PNGf,..CT,PDF ,JP2 ,RAW "
Suffixes="tif,jpg,eps,psd,pct,bmp,png,sct,pdf,jp2,raw,cr2,nef,arw,dng,orf,raf,pef,sr2,crw,x3f,erf,mef,rw2"
Folder_Changes="false"
/>
<Environment
OUTDIR="DONE"
ERRDIR="ERROR"
CONVNAME_ADDITION="conv"
/>
</SETTINGS>

use strict;

BEGIN {
use vars qw($HELIOSDIR);
$HELIOSDIR = $ENV{"HELIOSDIR"} or die "HELIOSDIR not set in environment\n";
unshift(@INC, "$HELIOSDIR/etc/perl");
}

use HELIOS::Utils;
use File::Basename;
use IO::Handle;
STDOUT->autoflush(1);
STDERR->autoflush(1);

# input file
my $sInputFile = $ARGV[0] || die "$0: no input file specified\n";

# used applications
my $layoutCmd = "$HELIOSDIR/bin/layout";
my $dtCmd = "$HELIOSDIR/bin/dt";

# environment parameters
my $sOutDir = $ENV{OUTDIR} || "DONE";
my $sErrDir = $ENV{ERRDIR} || "ERROR";
my $sConvNameAdd = $ENV{CONVNAME_ADDITION} || "conv";
my $iScriptDebug = int ($ENV{SCRIPTDEBUG} || "0");

# get directory name, base name with and without suffix from input file name
my $iPos = rindex($sInputFile, "/") + 1;
my $sWorkDir = HELIOSPathToSystemPath(substr($sInputFile, 0, $iPos));
my $sBasename = substr($sInputFile, $iPos);
(my $sShortBasename = $sBasename) =~ s/\.\w*$//;
my $Suffix = substr($sBasename, rindex($sBasename, "."));

my $DeleteOriginal = 1;
my $sTargetSuffix = ".jpg";

print " Start Script: [$$] $0 $sInputFile\n" if ($iScriptDebug > 0);

chdir("$sWorkDir") || die "[$$] $0: cannot change working directory to $sWorkDir\n";

if (! -d $sOutDir) {
!system("$dtCmd", "mkdir", "$sOutDir") || die "[$$] $0: cannot create directory $sWorkDir$sOutDir\n";}
if (! -d $sErrDir) {
!system("$dtCmd", "mkdir", "$sErrDir") || die "[$$] $0: cannot create directory $sWorkDir$sErrDir\n";}

# determine names of moved input file and output files
my $sProcessedFile = "$sShortBasename.$sConvNameAdd$sTargetSuffix";
my $iCounter = 0;

while (-f "$sOutDir/$sProcessedFile" || -f "$sErrDir/$sProcessedFile") {
$iCounter++;
$sProcessedFile = "$sShortBasename.$iCounter.$sConvNameAdd$sTargetSuffix";
}

print STDERR "Status: Running image conversion for file $sInputFile\n";
my $EventOption="-E"; # used for the 'dt' calls below

my @cmd = ($layoutCmd);


push @cmd, ("-T","JPEG");
push @cmd, "-oPrintColor=RGB";
push @cmd, "-oCompressQuality=100";
push @cmd, "-oCompressPrint=JPEG";
push @cmd, "-oScreenResolution=0";
push @cmd, "-oSpotToProcess=FALSE";
push @cmd, "-oIgnoreMasks=FALSE";
push @cmd, "-oIgnoreSpots=FALSE";
push @cmd, "-oOmitProfile=FALSE";
push @cmd, "-oIncludeProfile=TRUE";
push @cmd, "-oThumbnail=TRUE";
$EventOption="";
push @cmd, ("-l","$sBasename");
push @cmd, "$sProcessedFile";


print "[$$] Command line: " . (join " ", @cmd) . "\n" if ($iScriptDebug > 0);

my $iReturnValue = system(@cmd);

my $targetDir = $sErrDir;
if (!$iReturnValue) {
$targetDir = $sOutDir;
print "[$$] Move \"$sProcessedFile\" to \"$targetDir/$sProcessedFile\"\n";
@cmd=("$dtCmd", "mv");
push @cmd, $EventOption if $EventOption ne "";
push @cmd, "$sProcessedFile";
push @cmd, "$targetDir/$sProcessedFile";
system(@cmd) == 0 || die "[$$] $0: cannot move converted file to directory $sWorkDir$targetDir";
}

$sProcessedFile = "$sShortBasename". ($iCounter?".$iCounter":"") . "$Suffix";

if ($DeleteOriginal) {
print "[$$] Remove original file \"$sBasename\" \n";
@cmd=("$dtCmd", "rm");
push @cmd, $EventOption if $EventOption ne "";
push @cmd, "$sBasename";
system(@cmd) == 0 || die "[$$] $0: cannot remove input file.";
} else {
print "[$$] Move \"$sBasename\" to \"$targetDir/$sProcessedFile\"\n";
@cmd=("$dtCmd", "mv");
push @cmd, $EventOption if $EventOption ne "";
push @cmd, "$sBasename";
push @cmd, "$targetDir/$sProcessedFile";
system(@cmd) == 0 || die "[$$] $0: cannot move input file to directory $sWorkDir$targetDir";
}
print "End Script: [$$] $0 $sInputFile\n" if ($iScriptDebug > 0);

exit 0;
X

Helios Scriptserver

GreatOm
Beiträge gesamt: 378

21. Aug 2017, 13:13
Beitrag # 2 von 6
Beitrag ID: #559154
Bewertung:
(10678 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Aber er läuft nur wenn das zu bearbeitende Verzeichnis in den Hotfolder kopiert wird. Wenn das Verzeichnis nur in den Hotfolder verschoben wird läuft es nicht los.
Also wenn es auf dem gleichen Heliosvolumen in den Hotfolder geschoben wird passiert nicht, wenn es rein kopiert wird - alles bestens...

Da ich leider kein Scriptkenntnisse habe, kann mir jemand vielleicht einen Tipp geben.


Das ist der falsche Weg. Ein Hotfolder funktioniert nur für die entsprechenden Dateitypen. Wenn ein Verzeichnis in den Hotfolder kopiert wird, geht es wenn "Mit Unterordnern" aktiv ist, was normalerweise nicht der Fall ist. Andernfalls könnte es zu weiteren Aktionen führen, wenn die fertigen Dateien vom Skript in den "DONE" Ordner verschoben werden.

Wenn nun ein Verzeichnis auf einem Volume verschoben wird, bekommt man nur einen Event für das Verzeichnis selber. Alle darunter liegenden Objekte werden ignoriert.
Daher sollte kein Verzeichnis, sondern nur dessen Inhalt (also nur die zu konvertierenden Dateien) in den Hotfolder verschoben werden.

Hilft das weiter?

Gruß,

GreatOm
--
Five exclamation marks, the sure sign of an insane mind. -- (Terry Pratchett, Reaper Man)


als Antwort auf: [#559087]

Helios Scriptserver

Mabusesteve
Beiträge gesamt: 49

21. Aug 2017, 13:56
Beitrag # 3 von 6
Beitrag ID: #559155
Bewertung:
(10669 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Great Om

Danke für deine ausführliche Antwort.

Ich hatte das Script mit der "Mit Unterordnern" Funktion versehen. Die Ergebnisse landen dann im DONE Ordner. Würde mir so passen :-)

Ich verstehen nicht ganz warum das nur beim in den Hotfolder kopieren funktioniert, aber nicht beim "verschieben" funktioniert.

Aber villeicht hast du einen andern Idee zur Lösung des Problem:

Wir müssen ca. 30000 Bilder "umspeichern" von tif in JPG Format.
Das Problem ist, dass die Struktur der Verzeichnisse erhalten bleiben muss!
So müsste ich nur die umgerechneten aus dem DONE Verzeichnis nehmen und wenn alles fertig ist die DONE Verzeichnisse löschen.

Merci


als Antwort auf: [#559154]

Helios Scriptserver

GreatOm
Beiträge gesamt: 378

21. Aug 2017, 14:13
Beitrag # 4 von 6
Beitrag ID: #559156
Bewertung:
(10668 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Aber villeicht hast du einen andern Idee zur Lösung des Problem:


Yep.
In diesem Fall einfach "Mit Unterordnern" beibehalten und das Verzeichnis mit den Bildern in den Hotfolder legen.

Nun von HELIOS Applications -> MacOS -> ImageServer Tools -> Touch.dmg öffnen, "Touch.app" auf den Schreibtisch kopieren und das Diskimage wieder auswerfen.

Nun kannst Du den Order im HotFolder öffnen und alle Dateien (auf keinen Fall die evtl. vorhandenen DONE-Ordner) auf "Touch.app" droppen.

Du musst hier aufpassen, dass nur die zu bearbeitenden Dateien "getoucht" werden, da ansonsten auch alles im DONE-Ordner einen Event bekommt, wodurch auch diese Bilder neu verarbeitet werden und in einem frischen DONE-Ordner landen, der dann evtl. wieder bearbeitet wird usw.
Das ist die Gefahr bei "Mit Unterordnern".

Vielleicht kannst Du das ja erst einmal mit ein paar Dateien im Ordner testen.

Hilft das weiter?

Gruß,

GreatOm
--
Five exclamation marks, the sure sign of an insane mind. -- (Terry Pratchett, Reaper Man)


als Antwort auf: [#559155]

Helios Scriptserver

Mabusesteve
Beiträge gesamt: 49

21. Aug 2017, 14:34
Beitrag # 5 von 6
Beitrag ID: #559157
Bewertung:
(10656 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
wieder einmal ein Hoch auf diese Foren!

Danke Great Om!!! Genau so soll es sein.

Gabs das auch irgendwo dokumentiert und ich habs einfach nicht gefunden?
Oder liegst an meinen mangelnden tieferen System Kenntnissen?

Kann dieser "Touch" noch mehr ;-) ?

Merci!


als Antwort auf: [#559156]

Helios Scriptserver

GreatOm
Beiträge gesamt: 378

21. Aug 2017, 14:55
Beitrag # 6 von 6
Beitrag ID: #559158
Bewertung:
(10654 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Danke Great Om!!! Genau so soll es sein.


Schön, dass es geholfen hat ;-)

Antwort auf: Gabs das auch irgendwo dokumentiert und ich habs einfach nicht gefunden?


Gute Frage…

Ein grep in HELIOSDIR zeigt, dass das Programm zum ImageServer gehört("Manifest.is"):
Code
[helios] grep Touch Manifest.* 
Manifest.is:public/MacOS/ImageServer Tools/Touch.dmg(5.0.0)
Manifest.is:public/Windows/ImageServer Tools/Touch.exe(5.0.0)


Eine Suche im Handbuch zeigt dann "5.5 Aktualisierung von Layoutbildern mit dem Programm „touch“" (http://www.helios.de/...-d/using.html#a00076)

Gruß,

GreatOm
--
Five exclamation marks, the sure sign of an insane mind. -- (Terry Pratchett, Reaper Man)


als Antwort auf: [#559157]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
14.08.2020 - 18.09.2020

Digicomp Academy AG, Zürich oder virtuell
Freitag, 14. Aug. 2020, 13.00 Uhr - Freitag, 18. Sept. 2020, 15.00 Uhr

Lehrgang

Im berufsbegleitenden Web Publisher Lehrgang vertiefen Sie Ihr Wissen rund um das Thema Screendesign und die Umsetzung von Websites. Wir befähigen Sie dazu selbständig und professionell Ihren Webauftritt zu planen und in die Realität umzusetzen. Erlangen Sie das Digicomp-Zertifikat zum Web Publisher. Mit dem Zertifikat bestätigen Sie Ihre Praxiserfahrungen und Qualifizierung in den genannten Themengebieten gegenüber Ihrem Arbeitgeber sowie Ihren Kunden.

Preis: CHF 3'250.-
Dauer: 8.5 Tage (ca. 56 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/zertifizierung/software-anwendungs-zertifikate/publishing-zertifizierung/lehrgang-web-publisher

Veranstaltungen
19.08.2020 - 20.08.2020

Digicomp Academy AG, Zürich oder virtuell
Mittwoch, 19. Aug. 2020, 08.30 Uhr - Donnerstag, 20. Aug. 2020, 17.00 Uhr

Kurs

Mit After Effects können Sie visuelle Effekte und Animationen für Video, Web, DVD und Blu-Ray erzeugen. In diesem Kurs lernen Sie die Grundlagen kennen und sehen inspirierende Anwendungsbeispiele, die Ihnen helfen, Ihre eigenen Ideen umzusetzen.

Preis: CHF 1'700.-
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/video-und-audio-publishing/adobe-after-effects-cc/kurs-adobe-after-effects-basic

Neuste Foreneinträge


Konturen werden ungewollt in Fl�chen gewandelt

Schwarz/grau Problem bei Adobe PDF Druck

"�ffnen der PDF-datei fehlgeschlagen" � immer wieder �

�bergeordnetes PDF bzw. Lesezeichen-Zusammenfassung

Dokument-Rastereffekt-Einstellungen von Preflight pr�fen lassen

Time Machine konnte das Backup auf �Elements_10� nicht abschlie�en.

Zusammengesetzten Pfad mit Pathfinder aufteilen

Pixelgr��e beim png-Export festlegen

�berlappungsbereich inkl. Kontur entfernen

pitstop-Aktion Formular
medienjobs