[GastForen Betriebsysteme und Dienste HELIOS Helios Scriptserver

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

Helios Scriptserver

Mabusesteve
Beiträge gesamt: 47

16. Aug 2017, 14:45
Beitrag # 1 von 6
Bewertung:
(5865 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;
Hier Klicken X

Helios Scriptserver

GreatOm
Beiträge gesamt: 373

21. Aug 2017, 13:13
Beitrag # 2 von 6
Beitrag ID: #559154
Bewertung:
(5750 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: 47

21. Aug 2017, 13:56
Beitrag # 3 von 6
Beitrag ID: #559155
Bewertung:
(5741 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: 373

21. Aug 2017, 14:13
Beitrag # 4 von 6
Beitrag ID: #559156
Bewertung:
(5740 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: 47

21. Aug 2017, 14:34
Beitrag # 5 von 6
Beitrag ID: #559157
Bewertung:
(5728 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: 373

21. Aug 2017, 14:55
Beitrag # 6 von 6
Beitrag ID: #559158
Bewertung:
(5726 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
Hier Klicken

Aktuell

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
16.11.2018

München
Freitag, 16. Nov. 2018, 09.30 - 17.00 Uhr

Workshop

Hochwertig umsetzen, sicher beurteilen: Im Fokus dieses Vertiefungs-Workshops steht Ihre eigene Design-Leistung. Der Praxis-Workshop bietet Profis wertvolle Tipps zu Detail- und Lesetypografie im Kommunikationsdesign. Vom Arbeiten mit halben Leerzeilen im Grundlinienraster über lückenlosen Blocksatz bis zur stilistisch richtigen Schriftmischung: Sie kennen das Handwerk, dieser Workshop macht Sie zum Meister.

Ein-Tages-Workshop von 9:30 bis 17 Uhr
Während des Workshops stehen jedem Teilnehmer ein iMac + Adobe CC zur Verfügung.
Max. 8 Teilnehmer
Normalpreis: € 281,51 netto (€ 335,– brutto)
Ermäßigung: € 239,50 netto (€ 285,– brutto),

Ja

Organisator: TypeSCHOOL

Kontaktinformation: Uwe Steinacker, E-Mailsteinacker AT typeschool DOT de

www.typeschool.de

Detail-Typografie und Layout im Kommunikationsdesign zur Vertiefung
Veranstaltungen
22.11.2018

In dieser Veranstaltung kombinieren wir Emotion und Ratio, Gestaltung und Rechtschreibung.

Hochschule der Medien, Stuttgart
Donnerstag, 22. Nov. 2018, 18.00 - 20.00 Uhr

Vortrag

Sven Tillack und Steffen Knöll vom mehrfach ausgezeichneten "Studio Tillack Knoell", Stuttgart, (studiotillackknoell.com) geben einen Einblick in die Arbeit in der visuellen Kommunikation. Ihr Arbeitsfeld ist digitales und analoges, von visuellen Erscheinungsbildern bis hin zu kommunizierender Grafik im Raum. Besondere Erfahrungen hat Sven bei der Arbeit mit Risographie gemacht, Steffen setzt sich seit längerem mit Grafik im Raum auseinander. Auch über diese Projekte werden sie berichten. Lasst euch von ihnen, ihrem Vortrag und ihrer Arbeit inspirieren. Etienne Roth ist Computerlinguist. Er hat die Duden-Korrekturlösungen bereits als Projektleiter und Produktmanager beim Dudenverlag mitentwickelt. Bei EPC betreut er das Lexikon und die Grammatik(fehler)analyse der Korrekturengine. Außerdem ist er Produktmanager für die Duden-Integration in Adobe InDesign. Bei EPC werden die professionellen Duden-Korrekturlösungen weiterentwickelt, vertrieben und gewartet. Dazu gehören Rechtschreib- und Grammatikkorrektur, Stilprüfung und Thesaurus sowie Werkzeuge zur Wörterbuchpflege, lokal und in Netzwerkumgebungen. Die Duden-Rechtschreibprüfung und Silbentrennung sind seit Version 13 (CC 2018) ein integraler Teil von Adobe InDesign. Viele Kunden vermissen aber die bewährte Grammatikprüfung. Der Duden Korrektor CC bringt die beste Grammatikprüfung für die deutsche Sprache zurück nach InDesign und InCopy. Er enthält außerdem die Stilprüfung und den Thesaurus von Duden. Verlosung: Wir verlosen wieder Software, Bücher und Fachzeitschriften im Wert von über 1000 Euro. Neben dem bekannten "CC-Abo für ein Jahr" nun auch ein "Foto-Abo für ein Jahr mit 1 TB Speicher" und brandneu "10 Bilder pro Monat von Adobe Stock für ein Jahr". Die Firma EPC verlost eine Lizenz "Duden Korrektor CC"! Mach Werbung und bring gerne Freunde und Kollegen mit! Wir freuen uns auf Dich. Katharina Frerichs und Christoph Steffens

Nein

Organisator: IDUG Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailchristoph.steffens AT gmail DOT com

idugs51.eventbrite.com

Hier Klicken