Skip to content
Snippets Groups Projects
Commit e2fc4984 authored by Jens Steidl's avatar Jens Steidl :baby_chick:
Browse files

- fixed: #5

- refactor: added proper argument handling and new arguments (like plugin name) as well
parent 4103d5fd
No related branches found
No related tags found
No related merge requests found
......@@ -26,8 +26,8 @@ How to automatically add Mappings between extracted Technical Metadata and DNX S
== How to run
* general invocation
** $# perl -I path/to/perl/modules .add_dnx_mappings.pl "Rosetta-Host.Domain.tld" "Rosetta-User" "Rosetta-Password" "Institution-Name" "Portnumber"
** $# perl -I path/to/perl/modules ./add_dnx_mappings.pl --rosetta_host="Rosetta-Host.Domain.tld" --protocol="https" --ui_port="Port-Number" --user="Rosetta-User" --password="Rosetta-Password" --institution="Institution-Name" --plugin_name="Plugin-Name" --classification_group="Classification-Group"
* example invocation:
** $# perl -I ~/perl5/lib/perl5 ./add_dnx_mappings.pl "sdvrosetta-test.slub-dresden.de" "su-user" "Sw0rdF!$h" "SLUB" "8443"
** $# perl -I path/to/perl/modules ./add_dnx_mappings.pl --rosetta_host="sdvrosetta-test.slub-dresden.de" --protocol="https" --ui_port="8443" --user="su-user" --password="Sw0rdF!$h" --institution="SLUB" --plugin_name="SLUBTechnicalMetadataExtractorCheckItTiffPlugin" --classification_group="Image (Mix)"
......@@ -19,14 +19,38 @@ no warnings qw(experimental::signatures);
use Selenium::Remote::Driver;
use Selenium::Chrome;
use Term::ANSIColor; # colored print
use Getopt::Long;
my $host = shift;
my $user = shift;
my $passwd = shift;
my $institution = shift;
my $ui_port = shift;
my $host;
my $protocol = 'https';
my $ui_port = "8443";
my $user;
my $passwd;
my $institution;
my $plugin_name = 'SLUBTechnicalMetadataExtractorCheckItTiffPlugin';
my $classification_group = 'Image (Mix)';
my $driver;
GetOptions(
"rosetta_host=s{1}" => \$host,
"protocol:s{1}" => \$protocol,
"ui_port:s{1}" => \$ui_port,
"user=s{1}" => \$user,
"password=s{1}" => \$passwd,
"institution=s{1}" => \$institution,
"plugin_name:s{1}" => \$plugin_name,
"classification_group:s{1}" => \$classification_group
) or die("Error in command line arguments\n");
die("invalid/missing argument: --rosetta_host") unless $host;
die("invalid/missing argument: --protocol") unless $protocol;
die("invalid/missing argument: --ui_port") unless $ui_port;
die("invalid/missing argument: --user") unless $user;
die("invalid/missing argument: --password") unless $passwd;
die("invalid/missing argument: --institution") unless $institution;
die("invalid/missing argument: --plugin_name") unless $plugin_name;
die("invalid/missing argument: --classification_group") unless $classification_group;
my %exiftool2dnx = (
"ICC-header:ColorSpaceData" => "icc.colorspacedata",
"ICC-header:DeviceModel" => "icc.devicemodel",
......@@ -62,18 +86,6 @@ my %exiftool2dnx = (
"IFD0:XResolution" => "image.xresolution", # TIFF-Tag 282 XResolution
"IFD0:YResolution" => "image.yresolution", # TIFF-Tag 283 YResolution
);
my $plugin_name = "SLUBTechnicalMetadataExtractorCheckItTiffPlugin";
my $classification_group = "Image (Mix)";
my $driver = Selenium::Chrome->new();
$driver->debug_on;
$driver->set_implicit_wait_timeout(1000);
$driver->set_timeout('script', 1000);
print "Try to mechanize adding DNX, using:
host=$host
user=$user
institution=$institution
\n";
sub login {
$driver->get("$protocol://$host:${ui_port}/mng?auth=local");
......@@ -185,7 +197,22 @@ sub extractors_add_mapping ($dnx_property, $exiftool_property) {
$driver->pause();
}
# login
# startup info
printf colored("Trying to mechanize adding DNX mappings using:
rosetta host = '$host'
ui port = '$ui_port'
user = '$user'
institution = '$institution'
plugin name = '$plugin_name'
classification group = '$classification_group'\n\n", 'bold white');
# startup driver
$driver = Selenium::Chrome->new();
$driver->debug_on;
$driver->set_implicit_wait_timeout(1000);
$driver->set_timeout('script', 1000);
# Rosetta login
printf colored("Step 1 of 7: login \n", 'bold green');
login();
......@@ -222,7 +249,9 @@ change_to_local_format_library();
printf colored("Step 7 of 7: logout \n", 'bold green');
logout();
# stop driver
$driver->quit();
$driver->shutdown_binary();
# stop info
printf colored("Finished! \n", 'bold green');
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment