X-Git-Url: https://git.m6w6.name/?p=m6w6%2Freplicator;a=blobdiff_plain;f=bin%2Ffetch;h=c55e785d1f0530d8e5d287f3caa5c7028801445d;hp=0523c96a944c56f1e336950169a04966ed20e53b;hb=ec57ed072a3f3507f11d8290fedf98859a699a33;hpb=bfae1cb655977d9990d555b297c791b276ef0453 diff --git a/bin/fetch b/bin/fetch index 0523c96..c55e785 100755 --- a/bin/fetch +++ b/bin/fetch @@ -12,28 +12,29 @@ $procs = []; $client = new Client; $client->setOptions([ "timetout" => 60, + "redirect" => 1, "connecttimeout" => 6 ]); while (!feof(STDIN)) { - if (strlen($url = rtrim(fgets(STDIN)))) { - $url = new Url($url, null, 0); - $ver = basename($url->path); - $pkg = basename(dirname($url->path)); - $skp = sprintf("%s/../build/%s-%s.skip", __DIR__, $pkg, $ver); - $tgz = sprintf("%s/../build/%s-%s.tgz", __DIR__, $pkg, $ver); - $ext = sprintf("%s/../public/phars/%s/%s-%s.ext.phar", __DIR__, $pkg, $pkg, $ver); + if (strlen($line = rtrim(fgets(STDIN)))) { + if (list($pkg, $ver, $url) = explode("\t", $line)) { + $url = new Url($url, null, 0); + $skp = sprintf("%s/../build/%s-%s.skip", __DIR__, $pkg, $ver); + $tgz = sprintf("%s/../build/%s-%s.tgz", __DIR__, $pkg, $ver); + $ext = sprintf("%s/../public/phars/%s/%s-%s.ext.phar", __DIR__, $pkg, $pkg, $ver); - if (is_file($skp)) { - // skip - } elseif (is_file($tgz) || is_file($ext)) { - printf("%s\t%s\t%s\n", $pkg, $ver, $tgz); - } else { - $client->enqueue(new Request("GET", $url), function($res) use($tgz, $pkg, $ver) { - $res->getBody()->toStream(fopen($tgz, "w")); + if (is_file($skp)) { + // skip + } elseif (is_file($tgz) || is_file($ext)) { printf("%s\t%s\t%s\n", $pkg, $ver, $tgz); - return true; - }); + } else { + $client->enqueue(new Request("GET", $url), function($res) use($tgz, $pkg, $ver) { + $res->getBody()->toStream(fopen($tgz, "w")); + printf("%s\t%s\t%s\n", $pkg, $ver, $tgz); + return true; + }); + } } } }