diff --git a/deploy_mediaconch/add_dnx_mappings/add_dnx_mappings.pl b/deploy_mediaconch/add_dnx_mappings/add_dnx_mappings.pl index 1c83f89bc76b13fc20bdd65d9ee438c3a8b0038b..d8f4d84139cb65141717b8ee20f504140b751618 100644 --- a/deploy_mediaconch/add_dnx_mappings/add_dnx_mappings.pl +++ b/deploy_mediaconch/add_dnx_mappings/add_dnx_mappings.pl @@ -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 = 'SLUBTechnicalMetadataExtractorMediaConchPlugin'; +my $classification_group = 'Video'; +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 %mediainfo2dnx = ( "mediainfo.track.Audio.BitDepth" => "audio.bit_depth", "mediainfo.track.Audio.BitRate" => "audio.bit_rate", @@ -136,18 +160,6 @@ my %mediainfo2dnx = ( "mediainfo.track.Video.transfer_characteristics" => "video.transfer_characteristics", "mediainfo.track.Video.Width" => "video.width" ); -my $plugin_name = "SLUBTechnicalMetadataExtractorMediaConchPlugin"; -my $classification_group = "Video"; -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"); @@ -254,7 +266,22 @@ sub extractors_add_mapping ($dnx_property, $mediainfo_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(); @@ -291,7 +318,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');