revenue_list_parser.add_argument('page', type=int, default=0) revenue_list_parser.add_argument('per_page_num', type=int, default=100) revenue_list_parser.add_argument('years', type=int, action='append') revenue_list_parser.add_argument('code') # Fields for RevenueAPI data marshal revenue_fields = { 'id': fields.Integer(), 'date': fields.DateTime(dt_format='iso8601'), 'description': fields.String(), 'code': fields.String(attribute='original_code'), 'monthly_predicted': fields.Float(), 'monthly_outcome': fields.Float() } revenues_model = api.model('Receitas', revenue_fields) @ns.route('/list') class RevenueApi(Resource): @with_csv('receita.csv') @api.doc(parser=revenue_list_parser) @api.marshal_with(revenues_model) def get(self): # Extract the argumnets in GET request args = revenue_list_parser.parse_args() page = args['page'] per_page_num = args['per_page_num'] years = args['years'] code = args['code']
# Parser for RevenueAPI arguments revenue_list_parser = RequestParser() revenue_list_parser.add_argument('page', type=int, default=0) revenue_list_parser.add_argument('per_page_num', type=int, default=100) revenue_list_parser.add_argument('years', type=int, action='append') revenue_list_parser.add_argument('code') # Fields for RevenueAPI data marshal revenue_fields = { 'id': fields.Integer() , 'date': fields.DateTime(dt_format='iso8601') , 'description': fields.String() , 'code': fields.String(attribute='original_code') , 'monthly_predicted': fields.Float() , 'monthly_outcome': fields.Float() } revenues_model = api.model('Receitas', revenue_fields) @ns.route('/list') class RevenueApi(Resource): @with_csv('receita.csv') @api.doc(parser=revenue_list_parser) @api.marshal_with(revenues_model) def get(self): # Extract the argumnets in GET request args = revenue_list_parser.parse_args() page = args['page'] per_page_num = args['per_page_num'] years = args['years'] code = args['code']
'modalidade': fields.String(description='e.g. Pregão'), 'evento': fields.String(), 'processo_administrativo': fields.String(), 'cnpj': fields.String(), 'nome_fornecedor': fields.String(), 'valor': fields.Float(), 'licitacao': fields.String(), 'data_publicacao': fields.DateTime(dt_format='iso8601'), 'txt_file_url': fields.String(), 'file_url': fields.String(), } contratos_search_fields = {'content_highlight': fields.String() } contratos_search_fields.update(contratos_fields) contratos_model = api.model('Contratos', contratos_fields) contratos_search_model = api.model('Contratos', contratos_search_fields) class ContratoApi(Resource): def filter(self, contratos_data): # Extract the arguments in GET request args = _filter_parser.parse_args() cnpj = args['cnpj'] nome_fornecedor = args['nome_fornecedor'] orgao = args['orgao'] modalidade = args['modalidade'] evento = args['evento'] objeto = args['objeto'] processo_administrativo = args['processo_administrativo'] licitacao = args['licitacao']
'valor': fields.Float(), 'licitacao': fields.String(), 'data_publicacao': fields.DateTime(dt_format='iso8601'), 'txt_file_url': fields.String(), 'file_url': fields.String(), } contratos_search_fields = {'content_highlight': fields.String()} contratos_search_fields.update(contratos_fields) contratos_model = api.model('Contratos', contratos_fields) contratos_search_model = api.model('Contratos', contratos_search_fields) class ContratoApi(Resource): def filter(self, contratos_data): # Extract the arguments in GET request args = _filter_parser.parse_args() cnpj = args['cnpj'] nome_fornecedor = args['nome_fornecedor'] orgao = args['orgao'] modalidade = args['modalidade'] evento = args['evento'] objeto = args['objeto'] processo_administrativo = args['processo_administrativo'] licitacao = args['licitacao']