source: seiven/api_client/services.py @ 84aeeb7

Last change on this file since 84aeeb7 was 84aeeb7, checked in by Ing. Roldan D. Vargas G <rvargas@…>, 6 años ago

nuevos servicios de consulta a api de sidepro. Agregadas instrucciones jquery para la consulta de información

  • Propiedad mode establecida a 100644
File size: 7.4 KB
Línea 
1"""
2Sistema Estadístico Integral de Venezuela - (SEIVEN)
3
4Copyleft (@) 2015 CENDITEL nodo Mérida - https://mpv.cenditel.gob.ve/seiven
5"""
6## @namespace productivo.services
7#
8# Contiene los métodos para consumir servicios REST
9# @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
10# @author <a href='http://www.cenditel.gob.ve'>Centro Nacional de Desarrollo e Investigación en Tecnologías Libres
11# (CENDITEL) nodo Mérida - Venezuela</a>
12# @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
13from __future__ import unicode_literals
14
15import json
16
17from .models import AccessToken
18import requests
19
20consult_api = False
21params = {}
22
23def api_anho_registro():
24    """!
25    Función que permite obtener los años de registro del SIDEPRO
26
27    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
28    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
29    @date 15-09-2017
30    @return Devuelve un JSON con los datos consultados
31    """
32    global consult_api
33    access_credentials = AccessToken.objects.filter(activo=True)
34
35    if access_credentials:
36        token_type = access_credentials[0].token_type
37        token = access_credentials[0].access_token
38        url = access_credentials[0].url_access + "api/anhos"
39
40        consult_api = requests.get(url=url, headers={'Authorization': '%s %s' % (token_type, token)})
41    return json.loads(consult_api.text)
42
43
44def api_estados():
45    """!
46    Función que permite obtener los Estados registrados en SIDEPRO
47
48    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
49    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
50    @date 15-09-2017
51    @return Devuelve un JSON con los datos consultados
52    """
53    global consult_api
54    access_credentials = AccessToken.objects.filter(activo=True)
55
56    if access_credentials:
57        token_type = access_credentials[0].token_type
58        token = access_credentials[0].access_token
59        url = access_credentials[0].url_access + "api/estados"
60
61        consult_api = requests.get(url=url, headers={'Authorization': '%s %s' % (token_type, token)})
62
63    return json.loads(consult_api.text)
64
65
66def api_unidad_economica(rif=None, nombre=None, estado=None, anho=None, id_list=None):
67    """!
68    Función que permite obtener las Unidades Económicas registradas en SIDEPRO
69
70    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
71    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
72    @date 15-09-2017
73    @param rif <b>{string}</b> Número de RIF de la Unidad Económica
74    @param nombre <b>{string}</b> Nombre de la Unidad Económica
75    @param estado <b>{string}</b> Estado de la Unidad Económica
76    @param anho <b>{string}</b> Año de registro de la Unidad Económica
77    @param id_list <b>{array}</b> Listado de ID de Unidades Económicas
78    @return Devuelve un JSON con los datos consultados
79    """
80    global consult_api
81    access_credentials = AccessToken.objects.filter(activo=True)
82
83    if access_credentials:
84        token_type = access_credentials[0].token_type
85        token = access_credentials[0].access_token
86        url = access_credentials[0].url_access + "api/unidad-economica"
87
88        ## Actualiza los datos de consulta por rif si se ha especificado
89        params.update({'rif': rif} if rif else {})
90        ## Actualiza los datos de consulta por nombre de la unidad económica si se ha especificado
91        params.update({'nombre': nombre} if nombre else {})
92        ## Actualiza los datos de consulta por estado si se ha especificado
93        params.update({'estado': estado} if estado else {})
94        ## Actualiza los datos de consulta por año de registro si se ha especificado
95        params.update({'anho': anho} if anho else {})
96        ## Actualiza los datos de consulta por lista de ids si se han especificado
97        #params.update({'id_list': id_list} if id_list else {})
98
99        consult_api = requests.get(url=url, headers={'Authorization': '%s %s' % (token_type, token)}, params=params)
100
101    return  json.loads(consult_api.text)
102
103
104def api_filter_ue(filtros=None, id_list=None):
105    """!
106    Función que permite obtener las Unidades Económicas de acuerdo al filtro indicado
107
108    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
109    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
110    @date 20-12-2017
111    @param filtros <b>{array}</b> Listado de opciones a consultar
112    @return Devuelve un JSON con los datos consultados
113    """
114    global consult_api
115    access_credentials = AccessToken.objects.filter(activo=True)
116
117    if access_credentials:
118        token_type = access_credentials[0].token_type
119        token = access_credentials[0].access_token
120        url = access_credentials[0].url_access + "api/unidad-economica"
121
122        params.update({'id_list': id_list} if id_list else {})
123
124        consult_api = requests.get(url=url, headers={'Authorization': '%s %s' % (token_type, token)}, params=params)
125
126        print(consult_api)
127
128    return json.loads(consult_api.text)
129
130def api_filter_su(filtros=None):
131    """!
132    Función que permite obtener las Sub Unidades Económicas de acuerdo al filtro indicado
133
134    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
135    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
136    @date 20-12-2017
137    @param filtros <b>{array}</b> Listado de opciones a consultar
138    @return Devuelve un JSON con los datos consultados
139    """
140    global consult_api
141    access_credentials = AccessToken.objects.filter(activo=True)
142
143    if access_credentials:
144        token_type = access_credentials[0].token_type
145        token = access_credentials[0].access_token
146        url = access_credentials[0].url_access + ""
147
148    return json.loads(consult_api.text)
149
150def api_filter_pp(filtros=None):
151    """!
152    Función que permite obtener el proceso productivo de las Unidades Económicas de acuerdo al filtro indicado
153
154    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
155    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
156    @date 20-12-2017
157    @param filtros <b>{array}</b> Listado de opciones a consultar
158    @return Devuelve un JSON con los datos consultados
159    """
160    global consult_api
161    access_credentials = AccessToken.objects.filter(activo=True)
162
163    if access_credentials:
164        token_type = access_credentials[0].token_type
165        token = access_credentials[0].access_token
166        url = access_credentials[0].url_access + ""
167
168    return json.loads(consult_api.text)
169
170
171def api_filter_ae(filtros=None):
172    """!
173    Función que permite obtener las actividades económicas de las Unidades Económicas de acuerdo al filtro indicado
174
175    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
176    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
177    @date 20-12-2017
178    @param filtros <b>{array}</b> Listado de opciones a consultar
179    @return Devuelve un JSON con los datos consultados
180    """
181    global consult_api
182    access_credentials = AccessToken.objects.filter(activo=True)
183
184    if access_credentials:
185        token_type = access_credentials[0].token_type
186        token = access_credentials[0].access_token
187        url = access_credentials[0].url_access + ""
188
189    return json.loads(consult_api.text)
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.