diff options
Diffstat (limited to 'FedoraClient.php')
-rw-r--r-- | FedoraClient.php | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/FedoraClient.php b/FedoraClient.php index fe2d26c..6eca761 100644 --- a/FedoraClient.php +++ b/FedoraClient.php @@ -1,22 +1,22 @@ <?php /* - * FedoraClient is a PHP classe to interact with web services - * + * FedoraClient is a PHP class to interact with web services + * * Copyright (C) 2010 Remi Collet * http://github.com/remicollet/rpmphp. - * + * * Inspired from python-fedora - * + * * FedoraClient is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. - * + * * python-fedora is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * See <http://www.gnu.org/licenses/> * */ @@ -32,15 +32,15 @@ abstract class FedoraClient { private $url; private $agent; private $debug = 0; - protected $cache; - + protected $cache; + function __construct ($url, array $options) { $dir = "/tmp/cachelite-".posix_getlogin()."/"; @mkdir($dir); $this->cache = new Cache_Lite(array('memoryCaching' => true, - 'cacheDir' => $dir, + 'cacheDir' => $dir, 'automaticSerialization'=> true)); - + $this->url = $url; if (isset($options['agent']) && !empty($options['agent'])) { $this->agent = $options['agent']; @@ -49,10 +49,10 @@ abstract class FedoraClient { } if (isset($options['debug']) && intval($options['debug'])>0) { $this->debug = intval($options['debug']); - } + } $this->logDebug(3,__CLASS__."::".__FUNCTION__.": url='$url', agent='".$this->agent."'"); - } - + } + function logDebug($level, $msg) { if ($this->debug>=$level) { echo "[debug][$level] $msg\n"; @@ -73,7 +73,7 @@ abstract class FedoraClient { # Follow redirect curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_MAXREDIRS, 5); - + # Set standard headers curl_setopt($curl, CURLOPT_HTTPHEADER, array('User-agent: '.$this->agent, 'Accept: application/json')); @@ -81,13 +81,13 @@ abstract class FedoraClient { $this->logDebug(2,__CLASS__."::".__FUNCTION__.": call '$url'"); curl_exec($curl); - + # Check for auth failures # Note: old TG apps returned 403 Forbidden on authentication failures. # Updated apps return 401 Unauthorized # We need to accept both until all apps are updated to return 401. $http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE); - if ($http_status==401 || $http_status==403) { + if ($http_status==401 || $http_status==403) { $this->logDebug(1,__CLASS__."::".__FUNCTION__.": http_status '$http_status' Authentication failed logging in"); return array(); } else if ($http_status>=400) { @@ -96,13 +96,13 @@ abstract class FedoraClient { } else { $this->logDebug(2,__CLASS__."::".__FUNCTION__.": http_status '$http_status'"); } - + $this->logDebug(2,__CLASS__."::".__FUNCTION__.": close connexion"); curl_close($curl); return json_decode($this->data, true); } - + function receive($curl, $data) { $this->logDebug(9,__CLASS__."::".__FUNCTION__.": $data"); $this->data .= $data; @@ -113,12 +113,12 @@ abstract class FedoraClient { class FedoraPkgdb extends FedoraClient { - + function __construct (array $options=array()) { parent::__construct('https://admin.fedoraproject.org/pkgdb/', $options); $this->logDebug(3,__CLASS__."::".__FUNCTION__); } - + function getBranches($refresh=false) { $rep = ($refresh ? false : $this->cache->get(__FUNCTION__,__CLASS__)); if ($rep) { @@ -137,7 +137,7 @@ class FedoraPkgdb extends FedoraClient { } return $branches; } - + function getPackageInfo($name, $refresh=false) { $url="acls/name/$name"; $rep = ($refresh ? false : $this->cache->get($url,__CLASS__)); @@ -159,7 +159,7 @@ class FedoraPkgdb extends FedoraClient { } return $branches; } - + function getBranch($name, $refresh=false) { $branches = $this->getBranches($refresh); |