From cbc440a96271050de66877ae5ea4927d2f341a2f Mon Sep 17 00:00:00 2001 From: Max Podbeltsev Date: Mon, 8 Aug 2016 13:25:59 +0300 Subject: [PATCH 01/11] namespace for Inputs --- ApiWrapper.php | 2 +- ApplicationInput/AVyCApplicationInput.php | 2 +- ApplicationInput/AbstractApplicationInput.php | 2 +- ApplicationInput/ApplicationInputInterface.php | 2 +- ApplicationInput/ArcApplicationInput.php | 2 +- ApplicationInput/AvcApplicationInput.php | 2 +- ApplicationInput/CataApplicationInput.php | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ApiWrapper.php b/ApiWrapper.php index 6782545..17c0aba 100644 --- a/ApiWrapper.php +++ b/ApiWrapper.php @@ -1,7 +1,7 @@ Date: Mon, 8 Aug 2016 13:31:04 +0300 Subject: [PATCH 02/11] sources were moved to src directory --- ApiWrapper.php => src/ApiWrapper.php | 0 .../ApplicationInput}/AVyCApplicationInput.php | 0 .../ApplicationInput}/AbstractApplicationInput.php | 0 .../ApplicationInput}/ApplicationInputInterface.php | 0 .../ApplicationInput}/ArcApplicationInput.php | 0 .../ApplicationInput}/AvcApplicationInput.php | 0 .../ApplicationInput}/CataApplicationInput.php | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename ApiWrapper.php => src/ApiWrapper.php (100%) rename {ApplicationInput => src/ApplicationInput}/AVyCApplicationInput.php (100%) rename {ApplicationInput => src/ApplicationInput}/AbstractApplicationInput.php (100%) rename {ApplicationInput => src/ApplicationInput}/ApplicationInputInterface.php (100%) rename {ApplicationInput => src/ApplicationInput}/ArcApplicationInput.php (100%) rename {ApplicationInput => src/ApplicationInput}/AvcApplicationInput.php (100%) rename {ApplicationInput => src/ApplicationInput}/CataApplicationInput.php (100%) diff --git a/ApiWrapper.php b/src/ApiWrapper.php similarity index 100% rename from ApiWrapper.php rename to src/ApiWrapper.php diff --git a/ApplicationInput/AVyCApplicationInput.php b/src/ApplicationInput/AVyCApplicationInput.php similarity index 100% rename from ApplicationInput/AVyCApplicationInput.php rename to src/ApplicationInput/AVyCApplicationInput.php diff --git a/ApplicationInput/AbstractApplicationInput.php b/src/ApplicationInput/AbstractApplicationInput.php similarity index 100% rename from ApplicationInput/AbstractApplicationInput.php rename to src/ApplicationInput/AbstractApplicationInput.php diff --git a/ApplicationInput/ApplicationInputInterface.php b/src/ApplicationInput/ApplicationInputInterface.php similarity index 100% rename from ApplicationInput/ApplicationInputInterface.php rename to src/ApplicationInput/ApplicationInputInterface.php diff --git a/ApplicationInput/ArcApplicationInput.php b/src/ApplicationInput/ArcApplicationInput.php similarity index 100% rename from ApplicationInput/ArcApplicationInput.php rename to src/ApplicationInput/ArcApplicationInput.php diff --git a/ApplicationInput/AvcApplicationInput.php b/src/ApplicationInput/AvcApplicationInput.php similarity index 100% rename from ApplicationInput/AvcApplicationInput.php rename to src/ApplicationInput/AvcApplicationInput.php diff --git a/ApplicationInput/CataApplicationInput.php b/src/ApplicationInput/CataApplicationInput.php similarity index 100% rename from ApplicationInput/CataApplicationInput.php rename to src/ApplicationInput/CataApplicationInput.php From c5f850177f9d92fbba9b2334b1226808ca599ac4 Mon Sep 17 00:00:00 2001 From: Max Podbeltsev Date: Mon, 8 Aug 2016 13:32:23 +0300 Subject: [PATCH 03/11] composer --- composer.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 composer.json diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..5f6d4af --- /dev/null +++ b/composer.json @@ -0,0 +1,17 @@ +{ + "name": "EventStudyTools/ApiWrapper", + "type": "library", + "description": "EventStudyTools (EST) API PHP Wrapper", + "homepage": "https://github.com/EventStudyTools/api-wrapper.php", + "keywords": ["EventStudyTools"], + "minimum-stability": "stable", + "license": "MIT", + "require": { + "php": ">=5.3.0" + }, + "autoload": { + "psr-4": { + "EventStudyTools\\ApiWrapper\\": "src/" + } + } +} From d79e2e8a87e06ef94a736a8fca8054d75265eece Mon Sep 17 00:00:00 2001 From: Max Podbeltsev Date: Mon, 8 Aug 2016 21:47:46 +0300 Subject: [PATCH 04/11] changes after unittests --- src/ApiWrapper.php | 147 ++++++++++++++++++++++++--------------------- 1 file changed, 77 insertions(+), 70 deletions(-) diff --git a/src/ApiWrapper.php b/src/ApiWrapper.php index 17c0aba..2ce22f1 100644 --- a/src/ApiWrapper.php +++ b/src/ApiWrapper.php @@ -1,7 +1,7 @@ token = ''; $this->apiServerUrl = $apiEndpoint; } @@ -30,9 +31,10 @@ function __construct($apiEndpoint) { /** * @param string $apiKey * @param bool $debug + * @throws \Exception * @return bool */ - function authentication($apiKey, $debug=false) + function authentication($apiKey, $debug = false) { $ch = curl_init($this->apiServerUrl . "/task/create"); curl_setopt($ch, CURLOPT_POST, true); @@ -56,14 +58,14 @@ function authentication($apiKey, $debug=false) exit; } - if (!$result === false && !preg_match("~normalizeResponse($result, __METHOD__); - if (isset($temp->token) && !empty($temp->token)) { - $this->token = $temp->token; - } + if (!is_object($result) || empty($result->token)) { + throw new \Exception(__METHOD__ . ': authentication failed'); } + $this->token = $result->token; + return !empty($this->token); } @@ -73,9 +75,9 @@ function authentication($apiKey, $debug=false) * @return mixed * @throws \Exception */ - function configureTask(ApplicationInputInterface $input, $debug=false) { - - if (empty($this->apiServerUrl) || empty($this->token) || !is_object($input)) { + function configureTask(ApplicationInputInterface $input, $debug = false) + { + if (empty($this->token) || !is_object($input)) { throw new \Exception(__METHOD__ . ": required parameters aren't set"); } @@ -103,11 +105,13 @@ function configureTask(ApplicationInputInterface $input, $debug=false) { exit; } - if ($result === false || preg_match("~normalizeResponse($result, __METHOD__); + + if ($result !== true) { throw new \Exception(__METHOD__ . ': configuration error'); } - return json_decode($result); + return true; } /** @@ -116,33 +120,32 @@ function configureTask(ApplicationInputInterface $input, $debug=false) { * @param int $partNumber * @throws \Exception */ - function uploadFile($fileKey, $fileName, $partNumber=0) + function uploadFile($fileKey, $fileName, $partNumber = 0) { - - if (empty($this->apiServerUrl) || empty($this->token) || empty($fileKey) || empty($fileName)) { + if (empty($this->token) || empty($fileKey) || empty($fileName)) { throw new \Exception(__METHOD__ . ': configuration error'); } - if ( !($fd = fopen($fileName, 'r') ) ) { + if (!($fd = fopen($fileName, 'r'))) { throw new \Exception(__METHOD__ . ': cannot read file ' . $fileName); } /* * @todo define class field for maxChunkSize */ - $maxChunkSize = 40 * 1024 *1024; + $maxChunkSize = 40 * 1024 * 1024; /* * +1000 is a dirty hack. I don't know why splitfile is set to write 41943040 but filesize yields 41943055 * @todo understand why it happens and fix on more smart manner */ - if ( filesize($fileName) > $maxChunkSize +1000) { + if (filesize($fileName) > $maxChunkSize + 1000) { fclose($fd); - $files =array(); + $files = array(); try { $files = $this->splitFile($fileName, $maxChunkSize); - foreach($files as $key => $value) { + foreach ($files as $key => $value) { $this->uploadFile($fileKey, $value, $key); } } catch (\Exception $ex) { @@ -179,17 +182,20 @@ function uploadFile($fileKey, $fileName, $partNumber=0) fclose($fd); - if ($result === false || preg_match("~normalizeResponse($result, __METHOD__ . ' (' . $fileKey . ')'); + + if ($result !== true) { + throw new \Exception(__METHOD__ . ' (' . $fileKey . ')' . ': configuration error'); } } /** * @param $parts */ - protected function deleteFileParts($parts) { + protected function deleteFileParts($parts) + { if (!empty($parts)) { - foreach($parts as $file) { + foreach ($parts as $file) { unlink($file); } } @@ -201,26 +207,26 @@ protected function deleteFileParts($parts) { * @return array * @throws \Exception */ - protected function splitFile($fileName, $maxChunkSize) { - - $i=0; + protected function splitFile($fileName, $maxChunkSize) + { + $i = 0; $partFileNames = array(); $handle = fopen($fileName, 'r'); - while (!feof ($handle)) { + while (!feof($handle)) { $buffer = ''; $i++; - $partFileName =$fileName . '.part' . $i; + $partFileName = $fileName . '.part' . $i; $partHandle = fopen($partFileName, "w"); if (!$partHandle) { fclose($handle); fclose($partHandle); - throw new \Exception(" Cannot write file part $partFileName"); + throw new \Exception("Cannot write file part $partFileName"); } - while(strlen($buffer) < $maxChunkSize && !feof($handle)) { + while (strlen($buffer) < $maxChunkSize && !feof($handle)) { $buffer .= fgets($handle); } @@ -234,7 +240,7 @@ protected function splitFile($fileName, $maxChunkSize) { fclose($partHandle); } - fclose ($handle); + fclose($handle); return $partFileNames; } @@ -245,7 +251,7 @@ protected function splitFile($fileName, $maxChunkSize) { */ function commitData() { - if (empty($this->apiServerUrl) || empty($this->token)) { + if (empty($this->token)) { throw new \Exception(__METHOD__ . ': Configuration validation error'); } @@ -267,29 +273,27 @@ function commitData() $result = curl_exec($ch); curl_close($ch); - if ($result === false || preg_match("~normalizeResponse($result, __METHOD__); + + if (!is_object($result) || empty($result->log)) { + throw new \Exception(__METHOD__ . ': response is invalid'); } - return json_decode($result); + return $result; } /** - * @param bool $debug if want see API output more than get results + * @return integer * @throws \Exception - * @return mixed */ - function processTask($debug = false) + function getTaskStatus() { - if (empty($this->apiServerUrl) || empty($this->token)) { - throw new \Exception(__METHOD__ . ': configuration error'); + if (empty($this->token)) { + throw new \Exception(__METHOD__ . ': Configuration validation error'); } + $ch = curl_init($this->apiServerUrl . "/task/status"); - $ch = curl_init($this->apiServerUrl . "/task/process"); - curl_setopt($ch, CURLOPT_POST, true); - curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); - curl_setopt($ch, CURLOPT_POSTFIELDS, ''); curl_setopt( $ch, CURLOPT_HTTPHEADER, @@ -298,37 +302,18 @@ function processTask($debug = false) "X-Task-Key: $this->token", ) ); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); - $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); - if ($debug) { - var_dump($result); - exit; - } + $result = $this->normalizeResponse($result, __METHOD__); - /* - * Handle any unusual output - */ - if ($result === false || preg_match("~error)) { - throw new \Exception($result->error); - } else { - throw new \Exception("Application launch error"); - } - } - - return json_decode($result); + return $result; } /** @@ -353,4 +338,26 @@ function getApiVersion() return $version; } + + /** + * Normalize and check response + * @param $response + * @param $method + * @return mixed + * @throws \Exception + */ + protected function normalizeResponse($response, $method) + { + if ($response === false) { + throw new \Exception($method . ': request to api failed'); + } + + $response = json_decode($response); + + if (is_object($response) && !empty($response->error)) { + throw new \Exception($method . ': ' . $response->error); + } + + return $response; + } } \ No newline at end of file From 560215c1cb5351948a30c44a3f262ba10203d6f7 Mon Sep 17 00:00:00 2001 From: Max Podbeltsev Date: Mon, 8 Aug 2016 23:46:08 +0300 Subject: [PATCH 05/11] getTaskLinks method --- src/ApiWrapper.php | 46 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/src/ApiWrapper.php b/src/ApiWrapper.php index 2ce22f1..3f563ef 100644 --- a/src/ApiWrapper.php +++ b/src/ApiWrapper.php @@ -12,20 +12,20 @@ class ApiWrapper protected $token; /** - * @return string + * @param $apiEndpoint */ - public function getToken() + function __construct($apiEndpoint) { - return $this->token; + $this->token = ''; + $this->apiServerUrl = $apiEndpoint; } /** - * @param $apiEndpoint + * @return string */ - function __construct($apiEndpoint) + public function getToken() { - $this->token = ''; - $this->apiServerUrl = $apiEndpoint; + return $this->token; } /** @@ -316,6 +316,38 @@ function getTaskStatus() return $result; } + /** + * @return mixed + * @throws \Exception + */ + function getTaskLinks() + { + if (empty($this->token)) { + throw new \Exception(__METHOD__ . ': Configuration validation error'); + } + + $ch = curl_init($this->apiServerUrl . "/task/links/" . $this->getToken()); + + curl_setopt( + $ch, + CURLOPT_HTTPHEADER, + array( + ) + ); + + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $result = curl_exec($ch); + curl_close($ch); + + $result = $this->normalizeResponse($result, __METHOD__); + + if (empty($result) || empty($result->results)) { + throw new \Exception(__METHOD__ . ': result is empty'); + } + + return $result; + } + /** * @return string */ From c878be1062e62f3c0810f4da57372ed4cb1e96aa Mon Sep 17 00:00:00 2001 From: Max Podbeltsev Date: Mon, 8 Aug 2016 23:46:53 +0300 Subject: [PATCH 06/11] description was fixed to new api --- README.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 9688f28..e942b5e 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,13 @@ This software library provides the capability to easily deploy the EST API. ##Example of an Abnormal Returns Calculatior (ARC) launch ```php +define('API_URL', 'http://api.est.dev'); +define('API_KEY', 'key1234567890'); +define('STATUS_DONE', 3); +define('STATUS_ERROR', 4); + +require './../vendor/autoload.php'; + $parameters = [ 'result_file_type' => 'xls', 'benchmark_model' => 'mm', @@ -48,21 +55,44 @@ $parameters = [ ] ]; -$api = new EventStudyTools\ApiWrapper\ApiWrapper('arc', $apiEndpointUrl))); +$api = new \EventStudyTools\ApiWrapper\ApiWrapper(API_URL); -if ($api->authentication($apiKey)) { - $api->configureTask(new EventStudyTools\ApiWrapper\ApplicationInput\ArcApplicationInput($parameters)); - $api->uploadFile('firm_data', './firmData.csv')); - $api->uploadFile('market_data', './marketData.csv')); - $api->uploadFile('request_file', './requestFile.csv')); +if ($api->authentication(API_KEY)) { + $api->configureTask(new \EventStudyTools\ApiWrapper\ApplicationInput\ArcApplicationInput($parameters)); + $api->uploadFile('firm_data', './firm_data.csv'); + $api->uploadFile('market_data', './market_data.csv'); + $api->uploadFile('request_file', './request_file.csv'); $api->commitData(); - $result = $api->processTask(); + + do { + sleep(15); + $status = $api->getTaskStatus(); + } while (!in_array($status, array(STATUS_DONE, STATUS_ERROR))); + + switch ($status) { + case STATUS_DONE: + $links = $api->getTaskLinks(); + var_dump($links); + break; + + case STATUS_ERROR: + echo "Task \"" . $api->getToken() . "\" was terminated with error\n"; + break; + } } ``` ##Example of a Computer-Aided Text Analysis (CATA) launch ```php +define('API_URL', 'http://api.est.dev'); +define('API_KEY', 'key1234567890'); +define('BASE_PATH', __DIR__); +define('STATUS_DONE', 3); +define('STATUS_ERROR', 4); + +require BASE_PATH . '/../vendor/autoload.php'; + $parameters = [ 'datasources' => [ 'text_data' => 'csv_zip', @@ -70,13 +100,28 @@ $parameters = [ ] ]; -$api = new EventStudyTools\ApiWrapper\ApiWrapper('cata', $apiEndpointUrl))); +$api = new \EventStudyTools\ApiWrapper\ApiWrapper(API_URL); -if ($api->authentication($apiKey)) { - $api->configureTask(new EventStudyTools\ApiWrapper\ApplicationInput\CataApplicationInput($parameters)); +if ($api->authentication(API_KEY)) { + $api->configureTask(new \EventStudyTools\ApiWrapper\ApplicationInput\CataApplicationInput($parameters)); $api->uploadFile('text_data', './texts.csv.zip'); $api->uploadFile('keywords_data', './dictionary.csv.zip'); $api->commitData(); - $result = $api->processTask(); + + do { + sleep(15); + $status = $api->getTaskStatus(); + } while (!in_array($status, array(STATUS_DONE, STATUS_ERROR))); + + switch ($status) { + case STATUS_DONE: + $links = $api->getTaskLinks(); + var_dump($links); + break; + + case STATUS_ERROR: + echo "Task \"" . $api->getToken() . "\" was terminated with error\n"; + break; + } } ``` \ No newline at end of file From b40176aa3a57126dafb7d8486a04be8165a30f58 Mon Sep 17 00:00:00 2001 From: Max Podbeltsev Date: Mon, 8 Aug 2016 23:47:19 +0300 Subject: [PATCH 07/11] example --- .gitignore | 2 + examples/1.php | 83 ++++++++++++++++++++++++++++++ examples/data/firm_data.csv.zip | Bin 0 -> 64337 bytes examples/data/market_data.xls.zip | Bin 0 -> 69196 bytes examples/data/request_file.xlsx | Bin 0 -> 9598 bytes 5 files changed, 85 insertions(+) create mode 100644 .gitignore create mode 100644 examples/1.php create mode 100644 examples/data/firm_data.csv.zip create mode 100644 examples/data/market_data.xls.zip create mode 100644 examples/data/request_file.xlsx diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c55784d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +composer.lock +/vendor/ diff --git a/examples/1.php b/examples/1.php new file mode 100644 index 0000000..717bbc4 --- /dev/null +++ b/examples/1.php @@ -0,0 +1,83 @@ + 'xls', + 'benchmark_model' => 'mm', + 'return_type' => 'log', + 'non_trading_days' => 'later', + 'test_statistics' => [ + 'art' => '1', + 'cart' => '1', + 'aart' => '1', + 'caart' => '1', + 'abhart' => '1', + 'aarptlz' => '1', + 'caarptlz' => '1', + 'aaraptlz' => '1', + 'caaraptlz' => '1', + 'aarbmpz' => '1', + 'caarbmpz' => '1', + 'aarabmpz' => '1', + 'caarabmpz' => '1', + 'aarskewadjt' => '1', + 'caarskewadjt' => '1', + 'abharskewadjt' => '1', + 'aarrankz' => '1', + 'caarrankz' => '1', + 'aargrankt' => '1', + 'caargrankt' => '1', + 'aargrankz' => '1', + 'caargrankz' => '1', + 'aargsignz' => '1', + 'caargsignz' => '1', + 'aarcdat' => '1', + 'aarjackknivet' => '1', + ], + 'datasources' => [ + 'request_file' => 'xlsx', + 'firm_data' => 'csv_zip', + 'market_data' => 'xls_zip' + ] +]; + +$api = new \EventStudyTools\ApiWrapper\ApiWrapper(API_URL); + +if ($api->authentication(API_KEY)) { + $api->configureTask(new \EventStudyTools\ApiWrapper\ApplicationInput\ArcApplicationInput($parameters)); + $api->uploadFile('firm_data', BASE_PATH . '/data/firm_data.csv.zip'); + $api->uploadFile('market_data', BASE_PATH . '/data/market_data.xls.zip'); + $api->uploadFile('request_file', BASE_PATH . '/data/request_file.xlsx'); + $api->commitData(); + + do { + sleep(15); + $status = $api->getTaskStatus(); + } while (!in_array($status, array(STATUS_DONE, STATUS_ERROR))); + + switch ($status) { + case STATUS_DONE: + $links = $api->getTaskLinks(); + + echo "Task \"" . $api->getToken() . "\" was terminated successfully\n"; + echo "Links:\n"; + echo "log: " . $links->log . "\n"; + foreach ($links->results as $link) echo $link . "\n"; + + break; + + case STATUS_ERROR: + echo "Task \"" . $api->getToken() . "\" was terminated with error\n"; + break; + + default: + echo "Invalid status \"" . $status . "\"\n"; + break; + } +} \ No newline at end of file diff --git a/examples/data/firm_data.csv.zip b/examples/data/firm_data.csv.zip new file mode 100644 index 0000000000000000000000000000000000000000..f1ead0b781ead83b64a941ed95c2872cfa95ab74 GIT binary patch literal 64337 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�qm%YwUf0%eU>?Cx(#uDB-ArBH}IvG%eJA+ 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 literal 0 HcmV?d00001 diff --git a/examples/data/market_data.xls.zip b/examples/data/market_data.xls.zip new file mode 100644 index 0000000000000000000000000000000000000000..9cfc491b9582382a4609d3a8744ee98ce460b07d GIT binary patch literal 69196 zcmV)TK(W72O9KQH000080JUxiNf(_|1@XT~}4#_vO5I?@O9A-$|1u?=@}OCTVWZ*&pZZ-86Yku`Q*kK}r>@)V35M ztzxMSfAEhWVk7lm?giWjxF7H)zyp9c1AYqd7QkBp zX8;cZ9s>L{;Aa4D1N;3@#oPjT{1K%^?^)@xhXFDRMjHM~^ zX=jS@=j8GAgM06sf5$!fyZ*AZ7hA58ZLre=ka@4Vi}koyP5RlardkxYr4HlJkm!34 zC%m49=N^Pr?^mbz>^H&+r&%Y$oPqrxV0+hnE{A-ofoq};YRu1P;@{JVx(C$jS%*dT zz-0P($REsSHO7Z@eIc%AJILahY4y>$FSegXHJ^c5z6uNdUh*{C>F+si-%K^&%@5pt z*W!I=-n#hE{P+KJE$eWqMLL{=fsbOJkNE9etw+yeU5(~<$APJ{n;zN zd7f{_mWGemcG?)y$n{r4_3bm9=PWR zYR4N9cV2yNYH-K>@%bs@90b`>5|YR9TlI;%>Vt>v*dxe}FSn`&K*rg<^`qzL+Jk}iH8K{_8+EAe}i zfX2V8n&dY0iA8m{y1kb82quQzgT!5xHb@TWY}0 zQ-Yr^_kSwllV7XB|4t45w`=gfTZ8{#4gTXb_>a}#KU9N%*M$1i@&6>_x2?ecY7PEF zHTZYc;D56Q|A`v>r)uzjT!a7l8vJL!NBaCen0^QZ&HHw zlM-y0l;HeH364xkaP_1FhbASsVp0M>DS;UxSTjPq!59AhOTBv4-4K%})l4;$ z-ZM>1>@btX8clj%e{z7yFO4v{oGVtzWMSc<8YWA>(r40+xJMs-v{&9SIs>@!4l+A{ zlRF4iqGepvphBqwBT6k)EA`S#FRf6DHjgSrxKX7DH>woj>XkY;q|~<_QR6H1y|dJ4 z41}Q=SfNxYtarB65Cgh@vNaJ?d9sguiKeCQP9%aK#uIzo_<-u0(wSCrSml3Si)Wu)vIs+OwC zJge93jYCXY)l3#oH#6Bj4wI!5%}g#F=Q!FlGr4#?n@l${*)*O_nwjhv&nC@G_Katf zW+s=6XOo#mCY#5zNi&n3m7(#&N4cs6M_GTAboO`4fpFrH1Cnaqu6lV&ED zj%SljBa^M;*`%4tuJLTr%w&E%n=~`IY&@IHHZs{Zo=uvW>>kf1%}g#D&nCl6MmylK z<{Qc5Q*-Dl>s3pGdOzH77_c$9D!D#!$lFJ*3OlBp|X?rV^#mt{^bo_^{1=c;9HZjxy#WM0}J(=5xJSv>tO z-*~=S=9VUzwnFB?2AOtQW_$7Ui!c0Zwal$eGF^qtZi7s>EVBcD{@Z_4%iPu^Gp~@T z8)W9oGG`Z0f9IdSQY~{k$+Q#1?Hpv#J$E%QQ>nNJY6^N^X35x3gB?~`8^nepHA z^kwd8l35kEmo&&6j9YEK@`3kN%iP-}vnp;cZ;&|{x7z&4-#k$*bFN8dRoq_DAagKo zwR!5p&s58tZ<1LRw`qgS!MN4t@h?7KE%Tx#nN@LX8)Oc~tv25}_ueX*TX2PKtJY|& z9v_jjr`N8HPo+-2@NvcSMfeyT~2SVHzztdme^z-JRcn9JGB*b%g^cJMm(o`@}6@#uIXhc^PEu|7(uUZ zTB<$ttuyp(cIX@FazJ#sDN0+Z%Qn`fd_JfPy-8fwWnowsLM-bd-#SCzW{18#K6QaQ zsMd-uHzYneo*ZGTdi;E>^XQ0H+k0zO)y_Ko=*{E*(pHH&bT;Wd*12>@mDY69>!_`) zfJ<`xyeSFvR);CBINJtAcZ8zdJ8uQWyt)m==XNEOyHSGHsn(7pO$_XQBss?RzY5!^ zrrb1ajWrv4>s0k#ibsw?TyExWd_-(Or(P~LB&}N~O;mM74Gz`;UQYrT!Q65>-B> z*Ox0Mo|yq}NJN(3W}yE8n02#i?MjYug}H|HI)QbXoP=H{lN%630Xn9T{fi@6vZJ?I zjYBz@HS`vJMb#S2>Y1Ueo*ByOnW3yE{kOqU9o5rW?3tZ|X=1*)JjJO@+xf5y_4?i-&^XH z@k76ikQiV7)*1RXJM@k0@6S%d{s%{D=ya5PtlxYGEAM_4)JE012(ffBDOj!QjJb8> zKs$RI)oN7aoE3egJQMvUi{k#Ux{CgR;yzGa1+!lZ9t%*{p@+UKkyW19=!}!lv~(&xYUEL?5Tm+J#uzUh3(eBc9($gC?D}Sm$|{Nb@ka9Q0Wn>ncjv086S7XOr>OQro zZc%5{+jw;||6}5N_`g~N^-8QB;{OJ-yyFCLZ%}W<_Y8@2C;vBrcd9MwPd~5t-Mi#!p1I@hQ)f;+(b=h<7&Jxvo9y))os9rB^m#X)wDITZRtKQep0Bsmx7FVHL%WrF zcs>7W;+EGPzvbnxLWwQ%qHCO{l?`2EEaTE{?liU)4o?H4bT_00p}g)Eyes5gXB@8# z?Z?WerfW6fe5SiumNPEzWS59S=&u5dG_-^q0w17$`<9&J8WV|oWAc9o)KI{4-kXY!+OajzQ3nC3!-c1AJpn&n7 zRxm`C61xCH6ge>oMFvBVQUOe~BTIw;n^@Q$n?pAgIWJ94TJh5PZdS+!*dQ&uU}2ct z@e-^|YGhe-UFO>nn=(}fGo@O11>d!-QgmEmNiNo)d!t+YK38JVPAnk^!)}VBr!g7S9Y$o{MP^ zb^vCZ!l``?ip-ZwXO@)__hv{OD;u<-Ea3puFh~~di6dlkMsK?aeK8GEE3o3mAiz?w z9klgE_EIqCVn&yNOqSrF9fz>RAw_QsM_Y+16A*#g2o@nM7B}QG@vh0Ccq;Bgj%0D^ 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
    KxciukeB5))Qa`lfKRGfaV4h1s%+JB33Qvuu>UI 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 Date: Tue, 9 Aug 2016 22:29:38 +0300 Subject: [PATCH 08/11] no exceptions for getTaskStatus --- src/ApiWrapper.php | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/ApiWrapper.php b/src/ApiWrapper.php index 3f563ef..b2ec089 100644 --- a/src/ApiWrapper.php +++ b/src/ApiWrapper.php @@ -283,10 +283,11 @@ function commitData() } /** + * @param $exceptionOnError * @return integer * @throws \Exception */ - function getTaskStatus() + function getTaskStatus($exceptionOnError = false) { if (empty($this->token)) { throw new \Exception(__METHOD__ . ': Configuration validation error'); @@ -307,10 +308,14 @@ function getTaskStatus() $result = curl_exec($ch); curl_close($ch); - $result = $this->normalizeResponse($result, __METHOD__); + $result = $this->normalizeResponse($result, __METHOD__, $exceptionOnError); if ((string)$result !== (string)(integer)$result) { - throw new \Exception(__METHOD__ . ': status is invalid'); + if ($exceptionOnError) { + throw new \Exception(__METHOD__ . ': status is invalid'); + } else { + return false; + } } return $result; @@ -375,19 +380,28 @@ function getApiVersion() * Normalize and check response * @param $response * @param $method + * @param $exceptionOnError * @return mixed * @throws \Exception */ - protected function normalizeResponse($response, $method) + protected function normalizeResponse($response, $method, $exceptionOnError = true) { if ($response === false) { - throw new \Exception($method . ': request to api failed'); + if ($exceptionOnError) { + throw new \Exception($method . ': request to api failed'); + } else { + return false; + } } $response = json_decode($response); if (is_object($response) && !empty($response->error)) { - throw new \Exception($method . ': ' . $response->error); + if ($exceptionOnError) { + throw new \Exception($method . ': ' . $response->error); + } else { + return false; + } } return $response; From e26dec69e0dcc978fbcf53de9a6e22ec392819b4 Mon Sep 17 00:00:00 2001 From: Max Podbeltsev Date: Tue, 16 Aug 2016 12:53:30 +0300 Subject: [PATCH 09/11] http code is checking --- src/ApiWrapper.php | 44 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/src/ApiWrapper.php b/src/ApiWrapper.php index b2ec089..a06101b 100644 --- a/src/ApiWrapper.php +++ b/src/ApiWrapper.php @@ -50,7 +50,10 @@ function authentication($apiKey, $debug = false) ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $result = curl_exec($ch); + $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); if ($debug) { @@ -58,7 +61,7 @@ function authentication($apiKey, $debug = false) exit; } - $result = $this->normalizeResponse($result, __METHOD__); + $result = $this->checkAndNormalizeResponse($result, $httpcode, __METHOD__); if (!is_object($result) || empty($result->token)) { throw new \Exception(__METHOD__ . ': authentication failed'); @@ -98,6 +101,8 @@ function configureTask(ApplicationInputInterface $input, $debug = false) curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); + $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); if ($debug) { @@ -105,7 +110,7 @@ function configureTask(ApplicationInputInterface $input, $debug = false) exit; } - $result = $this->normalizeResponse($result, __METHOD__); + $result = $this->checkAndNormalizeResponse($result, $httpcode, __METHOD__); if ($result !== true) { throw new \Exception(__METHOD__ . ': configuration error'); @@ -177,12 +182,15 @@ function uploadFile($fileKey, $fileName, $partNumber = 0) curl_setopt($ch, CURLOPT_INFILE, $fd); curl_setopt($ch, CURLOPT_INFILESIZE, filesize($fileName)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $result = curl_exec($ch); + $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); fclose($fd); - $result = $this->normalizeResponse($result, __METHOD__ . ' (' . $fileKey . ')'); + $result = $this->checkAndNormalizeResponse($result, $httpcode, __METHOD__ . ' (' . $fileKey . ')'); if ($result !== true) { throw new \Exception(__METHOD__ . ' (' . $fileKey . ')' . ': configuration error'); @@ -270,10 +278,13 @@ function commitData() ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $result = curl_exec($ch); + $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); - $result = $this->normalizeResponse($result, __METHOD__); + $result = $this->checkAndNormalizeResponse($result, $httpcode, __METHOD__); if (!is_object($result) || empty($result->log)) { throw new \Exception(__METHOD__ . ': response is invalid'); @@ -305,10 +316,13 @@ function getTaskStatus($exceptionOnError = false) ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $result = curl_exec($ch); + $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); - $result = $this->normalizeResponse($result, __METHOD__, $exceptionOnError); + $result = $this->checkAndNormalizeResponse($result, $httpcode, __METHOD__, $exceptionOnError); if ((string)$result !== (string)(integer)$result) { if ($exceptionOnError) { @@ -341,10 +355,13 @@ function getTaskLinks() ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $result = curl_exec($ch); + $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); - $result = $this->normalizeResponse($result, __METHOD__); + $result = $this->checkAndNormalizeResponse($result, $httpcode, __METHOD__); if (empty($result) || empty($result->results)) { throw new \Exception(__METHOD__ . ': result is empty'); @@ -379,12 +396,13 @@ function getApiVersion() /** * Normalize and check response * @param $response + * @param $httpcode * @param $method * @param $exceptionOnError * @return mixed * @throws \Exception */ - protected function normalizeResponse($response, $method, $exceptionOnError = true) + protected function checkAndNormalizeResponse($response, $httpcode, $method, $exceptionOnError = true) { if ($response === false) { if ($exceptionOnError) { @@ -396,6 +414,18 @@ protected function normalizeResponse($response, $method, $exceptionOnError = tru $response = json_decode($response); + if ($httpcode != 200) { + if ($exceptionOnError) { + if (is_object($response) && !empty($response->error)) { + throw new \Exception($method . ': ' . $response->error); + } else { + throw new \Exception($method . ': Application error'); + } + } else { + return false; + } + } + if (is_object($response) && !empty($response->error)) { if ($exceptionOnError) { throw new \Exception($method . ': ' . $response->error); From 783c532afebc66c2ea092abacd113dd50493c3c1 Mon Sep 17 00:00:00 2001 From: Max Podbeltsev Date: Wed, 17 Aug 2016 12:39:23 +0300 Subject: [PATCH 10/11] links to results --- README.md | 8 ++++---- examples/1.php | 6 +++--- src/ApiWrapper.php | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index e942b5e..d30cb8e 100644 --- a/README.md +++ b/README.md @@ -71,8 +71,8 @@ if ($api->authentication(API_KEY)) { switch ($status) { case STATUS_DONE: - $links = $api->getTaskLinks(); - var_dump($links); + $results = $api->getTaskResults(); + var_dump($results); break; case STATUS_ERROR: @@ -115,8 +115,8 @@ if ($api->authentication(API_KEY)) { switch ($status) { case STATUS_DONE: - $links = $api->getTaskLinks(); - var_dump($links); + $results = $api->getTaskResults(); + var_dump($results); break; case STATUS_ERROR: diff --git a/examples/1.php b/examples/1.php index 717bbc4..6218d71 100644 --- a/examples/1.php +++ b/examples/1.php @@ -63,12 +63,12 @@ switch ($status) { case STATUS_DONE: - $links = $api->getTaskLinks(); + $results = $api->getTaskResults(); echo "Task \"" . $api->getToken() . "\" was terminated successfully\n"; echo "Links:\n"; - echo "log: " . $links->log . "\n"; - foreach ($links->results as $link) echo $link . "\n"; + if (!empty($results->log)) echo "log: " . $results->log . "\n"; + foreach ($results->results as $result) echo $result . "\n"; break; diff --git a/src/ApiWrapper.php b/src/ApiWrapper.php index a06101b..61d5780 100644 --- a/src/ApiWrapper.php +++ b/src/ApiWrapper.php @@ -339,13 +339,13 @@ function getTaskStatus($exceptionOnError = false) * @return mixed * @throws \Exception */ - function getTaskLinks() + function getTaskResults() { if (empty($this->token)) { throw new \Exception(__METHOD__ . ': Configuration validation error'); } - $ch = curl_init($this->apiServerUrl . "/task/links/" . $this->getToken()); + $ch = curl_init($this->apiServerUrl . "/results/" . $this->getToken()); curl_setopt( $ch, From 5a2552c3504ed0a3acf7bbdb99b002383dbfe68b Mon Sep 17 00:00:00 2001 From: Max Podbeltsev Date: Fri, 9 Sep 2016 00:11:16 +0300 Subject: [PATCH 11/11] get status action format --- examples/1.php | 8 ++++---- src/ApiWrapper.php | 18 +----------------- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/examples/1.php b/examples/1.php index 6218d71..1543536 100644 --- a/examples/1.php +++ b/examples/1.php @@ -59,9 +59,9 @@ do { sleep(15); $status = $api->getTaskStatus(); - } while (!in_array($status, array(STATUS_DONE, STATUS_ERROR))); + } while (!in_array($status->status, array(STATUS_DONE, STATUS_ERROR))); - switch ($status) { + switch ($status->status) { case STATUS_DONE: $results = $api->getTaskResults(); @@ -73,11 +73,11 @@ break; case STATUS_ERROR: - echo "Task \"" . $api->getToken() . "\" was terminated with error\n"; + echo "Task \"" . $api->getToken() . "\" was terminated with error: " . $status->message . "\n"; break; default: - echo "Invalid status \"" . $status . "\"\n"; + echo "Invalid status \"" . $status->status . "\"\n"; break; } } \ No newline at end of file diff --git a/src/ApiWrapper.php b/src/ApiWrapper.php index 61d5780..307a116 100644 --- a/src/ApiWrapper.php +++ b/src/ApiWrapper.php @@ -324,14 +324,6 @@ function getTaskStatus($exceptionOnError = false) $result = $this->checkAndNormalizeResponse($result, $httpcode, __METHOD__, $exceptionOnError); - if ((string)$result !== (string)(integer)$result) { - if ($exceptionOnError) { - throw new \Exception(__METHOD__ . ': status is invalid'); - } else { - return false; - } - } - return $result; } @@ -414,7 +406,7 @@ protected function checkAndNormalizeResponse($response, $httpcode, $method, $exc $response = json_decode($response); - if ($httpcode != 200) { + if ($httpcode != 200 || (is_object($response) && !empty($response->error))) { if ($exceptionOnError) { if (is_object($response) && !empty($response->error)) { throw new \Exception($method . ': ' . $response->error); @@ -426,14 +418,6 @@ protected function checkAndNormalizeResponse($response, $httpcode, $method, $exc } } - if (is_object($response) && !empty($response->error)) { - if ($exceptionOnError) { - throw new \Exception($method . ': ' . $response->error); - } else { - return false; - } - } - return $response; } } \ No newline at end of file