# coding: utf-8 """ eLabFTW REST API v2 Documentation This document describes all available endpoints and methods for eLabFTW's API version 2. # noqa: E501 OpenAPI spec version: 2.0.0 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 elabapi_python.api_client import ApiClient class ReportsApi(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 def get_reports(self, **kwargs): # noqa: E501 """Get usage reports # noqa: E501 Get usage reports at the instance or team level. # 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_reports(async_req=True) >>> result = thread.get() :param async_req bool :param str format: Select the output format :param str scope: Select the scope. Instance is for sysadmins only. Team will generate report for the current team. If scope is `compounds_history`, you can also provide `start` and `end` (format `YYYY-MM-DD`). :param date start: Start date (YYYY-MM-DD). Only used when scope is `compounds_history`. :param date end: End date (YYYY-MM-DD). Only used when scope is `compounds_history`. :return: InlineResponse2004 If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): return self.get_reports_with_http_info(**kwargs) # noqa: E501 else: (data) = self.get_reports_with_http_info(**kwargs) # noqa: E501 return data def get_reports_with_http_info(self, **kwargs): # noqa: E501 """Get usage reports # noqa: E501 Get usage reports at the instance or team level. # 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_reports_with_http_info(async_req=True) >>> result = thread.get() :param async_req bool :param str format: Select the output format :param str scope: Select the scope. Instance is for sysadmins only. Team will generate report for the current team. If scope is `compounds_history`, you can also provide `start` and `end` (format `YYYY-MM-DD`). :param date start: Start date (YYYY-MM-DD). Only used when scope is `compounds_history`. :param date end: End date (YYYY-MM-DD). Only used when scope is `compounds_history`. :return: InlineResponse2004 If the method is called asynchronously, returns the request thread. """ all_params = ['format', 'scope', 'start', 'end'] # 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_reports" % key ) params[key] = val del params['kwargs'] collection_formats = {} path_params = {} query_params = [] if 'format' in params: query_params.append(('format', params['format'])) # noqa: E501 if 'scope' in params: query_params.append(('scope', params['scope'])) # noqa: E501 if 'start' in params: query_params.append(('start', params['start'])) # noqa: E501 if 'end' in params: query_params.append(('end', params['end'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json', 'text/csv']) # noqa: E501 # Authentication setting auth_settings = ['token'] # noqa: E501 return self.api_client.call_api( '/reports', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='InlineResponse2004', # 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)