Source code for thamos.swagger_client.thoth.advise_api

# coding: utf-8

"""
    Thoth User API

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: 0.6.0-dev
   
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

from __future__ import absolute_import

import re  # noqa: F401

# python 2 and python 3 compatibility library
import six

from thamos.swagger_client.api_client import ApiClient


[docs]class AdviseApi(object): """NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually. Ref: https://github.com/swagger-api/swagger-codegen """ def __init__(self, api_client=None): if api_client is None: api_client = ApiClient() self.api_client = api_client
[docs] def get_advise_python(self, analysis_id, **kwargs): # noqa: E501 """Get computed adviser result based on its id. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_advise_python(analysis_id, async_req=True) >>> result = thread.get() :param async_req bool :param str analysis_id: Advise id returned on advise request. (required) :return: AnalysisResultResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): return self.get_advise_python_with_http_info(analysis_id, **kwargs) # noqa: E501 else: (data) = self.get_advise_python_with_http_info(analysis_id, **kwargs) # noqa: E501 return data
[docs] def get_advise_python_with_http_info(self, analysis_id, **kwargs): # noqa: E501 """Get computed adviser result based on its id. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_advise_python_with_http_info(analysis_id, async_req=True) >>> result = thread.get() :param async_req bool :param str analysis_id: Advise id returned on advise request. (required) :return: AnalysisResultResponse If the method is called asynchronously, returns the request thread. """ all_params = ['analysis_id'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') all_params.append('_request_timeout') params = locals() for key, val in six.iteritems(params['kwargs']): if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" " to method get_advise_python" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'analysis_id' is set if ('analysis_id' not in params or params['analysis_id'] is None): raise ValueError("Missing the required parameter `analysis_id` when calling `get_advise_python`") # noqa: E501 collection_formats = {} path_params = {} if 'analysis_id' in params: path_params['analysis_id'] = params['analysis_id'] # noqa: E501 query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 # Authentication setting auth_settings = [] # noqa: E501 return self.api_client.call_api( '/advise/python/{analysis_id}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='AnalysisResultResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), _preload_content=params.get('_preload_content', True), _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats)
[docs] def get_advise_python_log(self, analysis_id, **kwargs): # noqa: E501 """Retrieve a adviser run log. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_advise_python_log(analysis_id, async_req=True) >>> result = thread.get() :param async_req bool :param str analysis_id: An id of analysis for which log should be retrieved. (required) :return: AnalysisLogResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): return self.get_advise_python_log_with_http_info(analysis_id, **kwargs) # noqa: E501 else: (data) = self.get_advise_python_log_with_http_info(analysis_id, **kwargs) # noqa: E501 return data
[docs] def get_advise_python_log_with_http_info(self, analysis_id, **kwargs): # noqa: E501 """Retrieve a adviser run log. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_advise_python_log_with_http_info(analysis_id, async_req=True) >>> result = thread.get() :param async_req bool :param str analysis_id: An id of analysis for which log should be retrieved. (required) :return: AnalysisLogResponse If the method is called asynchronously, returns the request thread. """ all_params = ['analysis_id'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') all_params.append('_request_timeout') params = locals() for key, val in six.iteritems(params['kwargs']): if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" " to method get_advise_python_log" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'analysis_id' is set if ('analysis_id' not in params or params['analysis_id'] is None): raise ValueError("Missing the required parameter `analysis_id` when calling `get_advise_python_log`") # noqa: E501 collection_formats = {} path_params = {} if 'analysis_id' in params: path_params['analysis_id'] = params['analysis_id'] # noqa: E501 query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 # Authentication setting auth_settings = [] # noqa: E501 return self.api_client.call_api( '/advise/python/{analysis_id}/log', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='AnalysisLogResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), _preload_content=params.get('_preload_content', True), _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats)
[docs] def get_advise_python_status(self, analysis_id, **kwargs): # noqa: E501 """Show status of an adviser computing recommendations. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_advise_python_status(analysis_id, async_req=True) >>> result = thread.get() :param async_req bool :param str analysis_id: An id of requested adviser run. (required) :return: AnalysisStatusResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): return self.get_advise_python_status_with_http_info(analysis_id, **kwargs) # noqa: E501 else: (data) = self.get_advise_python_status_with_http_info(analysis_id, **kwargs) # noqa: E501 return data
[docs] def get_advise_python_status_with_http_info(self, analysis_id, **kwargs): # noqa: E501 """Show status of an adviser computing recommendations. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_advise_python_status_with_http_info(analysis_id, async_req=True) >>> result = thread.get() :param async_req bool :param str analysis_id: An id of requested adviser run. (required) :return: AnalysisStatusResponse If the method is called asynchronously, returns the request thread. """ all_params = ['analysis_id'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') all_params.append('_request_timeout') params = locals() for key, val in six.iteritems(params['kwargs']): if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" " to method get_advise_python_status" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'analysis_id' is set if ('analysis_id' not in params or params['analysis_id'] is None): raise ValueError("Missing the required parameter `analysis_id` when calling `get_advise_python_status`") # noqa: E501 collection_formats = {} path_params = {} if 'analysis_id' in params: path_params['analysis_id'] = params['analysis_id'] # noqa: E501 query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 # Authentication setting auth_settings = [] # noqa: E501 return self.api_client.call_api( '/advise/python/{analysis_id}/status', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='AnalysisStatusResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), _preload_content=params.get('_preload_content', True), _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats)
[docs] def post_advise_python(self, body, recommendation_type, **kwargs): # noqa: E501 """Get advise for Python ecosystem. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.post_advise_python(body, recommendation_type, async_req=True) >>> result = thread.get() :param async_req bool :param AdviseInput body: Specification of Python application stack with runtime specific information. (required) :param str recommendation_type: Recommendation type. (required) :param int count: Number of software stacks that should be returned. :param int limit: Limit number of software stacks scored. :param str origin: A repository where the application stack is used. This is used for tracking as well as for automated reporting when results are available. :param str source_type: A flag marking what Thoth integration is requesting adviser: - cli: Thamos CLI. - s2i: OpenShift's S2I (Source-to-Image) build. - kebechet: Kebechet Bot. - jupyter_notebook: Jupyter Notebook (nb-requirements). :param bool dev: Consider or do not consider development dependencies when resolving stacks. :param bool debug: Run the given adviser in a verbose mode so developers can debug it. :param bool force: Do not use cached results, always run adviser. :param str token: API token for sending authenticated requests. :return: AnalysisWithAuthenticationResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): return self.post_advise_python_with_http_info(body, recommendation_type, **kwargs) # noqa: E501 else: (data) = self.post_advise_python_with_http_info(body, recommendation_type, **kwargs) # noqa: E501 return data
[docs] def post_advise_python_with_http_info(self, body, recommendation_type, **kwargs): # noqa: E501 """Get advise for Python ecosystem. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.post_advise_python_with_http_info(body, recommendation_type, async_req=True) >>> result = thread.get() :param async_req bool :param AdviseInput body: Specification of Python application stack with runtime specific information. (required) :param str recommendation_type: Recommendation type. (required) :param int count: Number of software stacks that should be returned. :param int limit: Limit number of software stacks scored. :param str origin: A repository where the application stack is used. This is used for tracking as well as for automated reporting when results are available. :param str source_type: A flag marking what Thoth integration is requesting adviser: - cli: Thamos CLI. - s2i: OpenShift's S2I (Source-to-Image) build. - kebechet: Kebechet Bot. - jupyter_notebook: Jupyter Notebook (nb-requirements). :param bool dev: Consider or do not consider development dependencies when resolving stacks. :param bool debug: Run the given adviser in a verbose mode so developers can debug it. :param bool force: Do not use cached results, always run adviser. :param str token: API token for sending authenticated requests. :return: AnalysisWithAuthenticationResponse If the method is called asynchronously, returns the request thread. """ all_params = ['body', 'recommendation_type', 'count', 'limit', 'origin', 'source_type', 'dev', 'debug', 'force', 'token'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') all_params.append('_request_timeout') params = locals() for key, val in six.iteritems(params['kwargs']): if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" " to method post_advise_python" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): raise ValueError("Missing the required parameter `body` when calling `post_advise_python`") # noqa: E501 # verify the required parameter 'recommendation_type' is set if ('recommendation_type' not in params or params['recommendation_type'] is None): raise ValueError("Missing the required parameter `recommendation_type` when calling `post_advise_python`") # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'recommendation_type' in params: query_params.append(('recommendation_type', params['recommendation_type'])) # noqa: E501 if 'count' in params: query_params.append(('count', params['count'])) # noqa: E501 if 'limit' in params: query_params.append(('limit', params['limit'])) # noqa: E501 if 'origin' in params: query_params.append(('origin', params['origin'])) # noqa: E501 if 'source_type' in params: query_params.append(('source_type', params['source_type'])) # noqa: E501 if 'dev' in params: query_params.append(('dev', params['dev'])) # noqa: E501 if 'debug' in params: query_params.append(('debug', params['debug'])) # noqa: E501 if 'force' in params: query_params.append(('force', params['force'])) # noqa: E501 if 'token' in params: query_params.append(('token', params['token'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None if 'body' in params: body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 # HTTP header `Content-Type` header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 ['application/json']) # noqa: E501 # Authentication setting auth_settings = [] # noqa: E501 return self.api_client.call_api( '/advise/python', 'POST', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='AnalysisWithAuthenticationResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), _preload_content=params.get('_preload_content', True), _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats)