88from Algorithmia .errors import ApiError , ApiInternalError , raiseAlgoApiError
99from enum import Enum
1010from algorithmia_api_client .rest import ApiException
11- from algorithmia_api_client import CreateRequest , UpdateRequest , VersionRequest , Details , Settings , SettingsMandatory , SettingsPublish , \
11+ from algorithmia_api_client import CreateRequest , UpdateRequest , VersionRequest , Details , Settings , SettingsMandatory , \
12+ SettingsPublish , \
1213 CreateRequestVersionInfo , VersionInfo , VersionInfoPublish
1314
14- OutputType = Enum ('OutputType' ,'default raw void' )
15+ OutputType = Enum ('OutputType' , 'default raw void' )
16+
1517
1618class Algorithm (object ):
1719 def __init__ (self , client , algoRef ):
@@ -32,7 +34,7 @@ def __init__(self, client, algoRef):
3234 raise ValueError ('Invalid algorithm URI: ' + algoRef )
3335
3436 def set_options (self , timeout = 300 , stdout = False , output = OutputType .default , ** query_parameters ):
35- self .query_parameters = {'timeout' :timeout , 'stdout' :stdout }
37+ self .query_parameters = {'timeout' : timeout , 'stdout' : stdout }
3638 self .output_type = output
3739 self .query_parameters .update (query_parameters )
3840 return self
@@ -42,7 +44,8 @@ def create(self, details={}, settings={}, version_info={}):
4244 detailsObj = Details (** details )
4345 settingsObj = SettingsMandatory (** settings )
4446 createRequestVersionInfoObj = CreateRequestVersionInfo (** version_info )
45- create_parameters = {"name" : self .algoname , "details" : detailsObj , "settings" : settingsObj , "version_info" : createRequestVersionInfoObj }
47+ create_parameters = {"name" : self .algoname , "details" : detailsObj , "settings" : settingsObj ,
48+ "version_info" : createRequestVersionInfoObj }
4649 create_request = CreateRequest (** create_parameters )
4750 try :
4851 # Create Algorithm
@@ -57,7 +60,8 @@ def update(self, details={}, settings={}, version_info={}):
5760 detailsObj = Details (** details )
5861 settingsObj = Settings (** settings )
5962 createRequestVersionInfoObj = CreateRequestVersionInfo (** version_info )
60- update_parameters = {"details" : detailsObj , "settings" : settingsObj , "version_info" : createRequestVersionInfoObj }
63+ update_parameters = {"details" : detailsObj , "settings" : settingsObj ,
64+ "version_info" : createRequestVersionInfoObj }
6165 update_request = UpdateRequest (** update_parameters )
6266 try :
6367 # Update Algorithm
@@ -70,9 +74,10 @@ def update(self, details={}, settings={}, version_info={}):
7074 # Publish an algorithm
7175 def publish (self , details = {}, settings = {}, version_info = {}):
7276 publish_parameters = {"details" : details , "settings" : settings , "version_info" : version_info }
73- url = "/v1/algorithms/" + self .username + "/" + self .algoname + "/versions"
77+ url = "/v1/algorithms/" + self .username + "/" + self .algoname + "/versions"
7478 print (publish_parameters )
75- api_response = self .client .postJsonHelper (url , publish_parameters , parse_response_as_json = True , ** self .query_parameters )
79+ api_response = self .client .postJsonHelper (url , publish_parameters , parse_response_as_json = True ,
80+ ** self .query_parameters )
7681 return api_response
7782 # except ApiException as e:
7883 # error_message = json.loads(e.body)
@@ -81,7 +86,8 @@ def publish(self, details={}, settings={}, version_info={}):
8186 def builds (self , limit = 56 , marker = None ):
8287 try :
8388 if marker is not None :
84- api_response = self .client .manageApi .get_algorithm_builds (self .username , self .algoname , limit = limit , marker = marker )
89+ api_response = self .client .manageApi .get_algorithm_builds (self .username , self .algoname , limit = limit ,
90+ marker = marker )
8591 else :
8692 api_response = self .client .manageApi .get_algorithm_builds (self .username , self .algoname , limit = limit )
8793 return api_response
@@ -109,11 +115,10 @@ def get_build_logs(self, build_id):
109115 raise raiseAlgoApiError (error_message )
110116
111117 def build_logs (self ):
112- url = '/v1/algorithms/' + self .username + '/' + self .algoname + '/builds'
118+ url = '/v1/algorithms/' + self .username + '/' + self .algoname + '/builds'
113119 response = json .loads (self .client .getHelper (url ).content .decode ('utf-8' ))
114120 return response
115121
116-
117122 def get_scm_status (self ):
118123 try :
119124 api_response = self .client .manageApi .get_algorithm_scm_connection_status (self .username , self .algoname )
@@ -157,7 +162,6 @@ def versions(self, limit=None, marker=None, published=None, callable=None):
157162 error_message = json .loads (e .body )
158163 raise raiseAlgoApiError (error_message )
159164
160-
161165 # Compile an algorithm
162166 def compile (self ):
163167 try :
@@ -176,25 +180,26 @@ def pipe(self, input1):
176180 elif self .output_type == OutputType .void :
177181 return self ._postVoidOutput (input1 )
178182 else :
179- return AlgoResponse .create_algo_response (self .client .postJsonHelper (self .url , input1 , ** self .query_parameters ))
183+ return AlgoResponse .create_algo_response (
184+ self .client .postJsonHelper (self .url , input1 , ** self .query_parameters ))
180185
181186 def _postRawOutput (self , input1 ):
182- # Don't parse response as json
183- self .query_parameters ['output' ] = 'raw'
184- response = self .client .postJsonHelper (self .url , input1 , parse_response_as_json = False , ** self .query_parameters )
185- # Check HTTP code and throw error as needed
186- if response .status_code == 400 :
187- # Bad request
188- raise ApiError (response .text )
189- elif response .status_code == 500 :
190- raise ApiInternalError (response .text )
191- else :
192- return response .text
187+ # Don't parse response as json
188+ self .query_parameters ['output' ] = 'raw'
189+ response = self .client .postJsonHelper (self .url , input1 , parse_response_as_json = False , ** self .query_parameters )
190+ # Check HTTP code and throw error as needed
191+ if response .status_code == 400 :
192+ # Bad request
193+ raise ApiError (response .text )
194+ elif response .status_code == 500 :
195+ raise ApiInternalError (response .text )
196+ else :
197+ return response .text
193198
194199 def _postVoidOutput (self , input1 ):
195- self .query_parameters ['output' ] = 'void'
196- responseJson = self .client .postJsonHelper (self .url , input1 , ** self .query_parameters )
197- if 'error' in responseJson :
198- raise ApiError (responseJson ['error' ]['message' ])
199- else :
200- return AsyncResponse (responseJson )
200+ self .query_parameters ['output' ] = 'void'
201+ responseJson = self .client .postJsonHelper (self .url , input1 , ** self .query_parameters )
202+ if 'error' in responseJson :
203+ raise ApiError (responseJson ['error' ]['message' ])
204+ else :
205+ return AsyncResponse (responseJson )
0 commit comments