From 8a238f6b5385351134d1bd74e31978b503652e18 Mon Sep 17 00:00:00 2001 From: Sergey Kiselev Date: Wed, 4 Jul 2018 14:45:25 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B3=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D1=8B=20=D0=B2=20=D0=BA=D0=B0=D1=87=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B2=D0=B5=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F=20Ans?= =?UTF-8?q?ible?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yamd.pl => yamd | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) rename yamd.pl => yamd (71%) diff --git a/yamd.pl b/yamd similarity index 71% rename from yamd.pl rename to yamd index 7d72e1e..b872d3e 100755 --- a/yamd.pl +++ b/yamd @@ -11,11 +11,11 @@ our $api_url = "https://pddimp.yandex.ru/api2/admin"; our $query_options = LoadFile("./yamd_query_options.yml") or die "Query parameters file not found\n"; our $task_file = shift or die "Usage: yamd.pl \n"; -our $task = LoadFile($task_file) +our $task = %{LoadFile($task_file)}{yamd} or die "Unable to open file '$task_file'\n"; foreach my $check ("domain", "token", "service", "query") { - if (!defined $task->{yamd}->{$check}) { + if (!defined $task->{$check}) { die "'$check' is undefined in '$task_file'\n"; } } @@ -25,18 +25,18 @@ my $request_type = ""; my $request_content_type = ""; { - my $service = $task->{yamd}->{service}; - my $sub_service = $task->{yamd}->{sub_service}; - my $query = $task->{yamd}->{query}; + my $service = $task->{service}; + my $sub_service = $task->{sub_service}; + my $query = $task->{query}; $request_url = $api_url . "/" . $service; $request_url .= (defined $sub_service) ? "/" . $sub_service : ""; $request_url .= "/" . $query; if ( $service eq "import" && $query eq "start_import_file" ) { - $request_url .= "?domain=" . $task->{yamd}->{domain}; - foreach my $k (keys %{$task->{yamd}->{options}}) { - $request_url .= "&" . $k . "=" . $task->{yamd}->{options}->{$k}; + $request_url .= "?domain=" . $task->{domain}; + foreach my $k (keys %{$task->{options}}) { + $request_url .= "&" . $k . "=" . $task->{options}->{$k}; } } @@ -56,15 +56,15 @@ my $request_content_type = ""; my $ua = new LWP::UserAgent; my $request = new HTTP::Request($request_type => $request_url); -if ( $task->{yamd}->{service} eq "domain" && - $task->{yamd}->{sub_service} eq "logo" && - $task->{yamd}->{query} eq "set" ) { +if ( $task->{service} eq "domain" && + $task->{sub_service} eq "logo" && + $task->{query} eq "set" ) { my $boundary = 'X'; my @rand = ('a'..'z', 'A'..'Z'); for (0..14) { $boundary .= $rand[rand(@rand)]; } $request->header( - 'PddToken' => $task->{yamd}->{token}, + 'PddToken' => $task->{token}, 'Content-type' => $request_content_type . "; boundary=" . $boundary ); @@ -72,10 +72,10 @@ if ( $task->{yamd}->{service} eq "domain" && 'Content-Disposition' => 'form-data; name="domain"', 'Content-Type' => 'text/plain; charset=utf-8' ]); - $field->add_content_utf8($task->{yamd}->{domain}); + $field->add_content_utf8($task->{domain}); $request->add_part($field); - open(my $fh, '<', $task->{yamd}->{options}->{file}); + open(my $fh, '<', $task->{options}->{file}); my $file_content = new HTTP::Message([ 'Content-Disposition' => 'form-data; name="file"; filename="logo"', 'Content-Type' => 'application/octet-stream' @@ -84,18 +84,18 @@ if ( $task->{yamd}->{service} eq "domain" && $request->add_part($file_content); close $fh; -} elsif ( $task->{yamd}->{service} eq "import" && - $task->{yamd}->{query} eq "start_import_file" ) { +} elsif ( $task->{service} eq "import" && + $task->{query} eq "start_import_file" ) { my $boundary = 'X'; my @rand = ('a'..'z', 'A'..'Z'); for (0..14) { $boundary .= $rand[rand(@rand)]; } $request->header( - 'PddToken' => $task->{yamd}->{token}, + 'PddToken' => $task->{token}, 'Content-type' => $request_content_type . "; boundary=" . $boundary ); - open(my $fh, '<', $task->{yamd}->{options}->{file}); + open(my $fh, '<', $task->{options}->{file}); my $file_content = new HTTP::Message([ 'Content-Disposition' => 'form-data; name="import_list_file"; filename="import_list_file"', 'Content-Type' => 'text/plain', @@ -107,13 +107,13 @@ if ( $task->{yamd}->{service} eq "domain" && close $fh; } else { $request->header( - 'PddToken' => $task->{yamd}->{token}, + 'PddToken' => $task->{token}, 'Content-type' => $request_content_type ); - my $request_content = "domain=" . $task->{yamd}->{domain}; - foreach my $k (keys %{$task->{yamd}->{options}}) { - $request_content .= "&" . $k . "=" . $task->{yamd}->{options}->{$k}; + my $request_content = "domain=" . $task->{domain}; + foreach my $k (keys %{$task->{options}}) { + $request_content .= "&" . $k . "=" . $task->{options}->{$k}; } $request->content($request_content);