From 86dafaf61c40269b5ca10466b7c0eb45ad7bb570 Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Fri, 14 Feb 2014 16:22:15 -0500 Subject: [PATCH] SAAS-404: Separate the Airtime API version from the Airtime version * Airtime PHP side can be version bumped without pypo freaking out now --- .../application/controllers/ApiController.php | 3 +- python_apps/api_clients/api_client.py | 29 ++++++++++--------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index d75b64b45..4ce7a5583 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -65,7 +65,8 @@ class ApiController extends Zend_Controller_Action public function versionAction() { $this->_helper->json->sendJson( array( - "version" => Application_Model_Preference::GetAirtimeVersion())); + "airtime_version" => Application_Model_Preference::GetAirtimeVersion(), + "api_version" => AIRTIME_API_VERSION)); } /** diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py index 4b333268b..6c12e6fb6 100644 --- a/python_apps/api_clients/api_client.py +++ b/python_apps/api_clients/api_client.py @@ -17,7 +17,7 @@ import base64 import traceback from configobj import ConfigObj -AIRTIME_VERSION = "2.5.1" +AIRTIME_API_VERSION = "1.1" # TODO : Place these functions in some common module. Right now, media @@ -218,27 +218,30 @@ class AirtimeApiClient(object): sys.exit(1) def __get_airtime_version(self): - try: return self.services.version_url()[u'version'] + try: return self.services.version_url()[u'airtime_version'] + except Exception: return -1 + + def __get_api_version(self): + try: return self.services.version_url()[u'api_version'] except Exception: return -1 def is_server_compatible(self, verbose=True): logger = self.logger - version = self.__get_airtime_version() + api_version = self.__get_api_version() # logger.info('Airtime version found: ' + str(version)) - if version == -1: - if (verbose): - logger.info('Unable to get Airtime version number.\n') - return False - elif version[0:3] != AIRTIME_VERSION[0:3]: + if api_version == -1: if verbose: - logger.info('Airtime version found: ' + str(version)) - logger.info('pypo is at version ' + AIRTIME_VERSION + - ' and is not compatible with this version of Airtime.\n') + logger.info('Unable to get Airtime API version number.\n') + return False + elif api_version[0:3] != AIRTIME_API_VERSION[0:3]: + if verbose: + logger.info('Airtime API version found: ' + str(api_version)) + logger.info('pypo is only compatible with API version: ' + AIRTIME_API_VERSION) return False else: if verbose: - logger.info('Airtime version: ' + str(version)) - logger.info('pypo is at version ' + AIRTIME_VERSION + ' and is compatible with this version of Airtime.') + logger.info('Airtime API version found: ' + str(api_version)) + logger.info('pypo is only compatible with API version: ' + AIRTIME_API_VERSION) return True