|
@@
-1,14
+1,14
|
|
1
|
from ckanapi import RemoteCKAN
|
|
1
|
from ckanapi import RemoteCKAN
|
|
2
|
from datetime import datetime
|
|
2
|
from datetime import datetime
|
|
3
|
from CKAN_JRO import logic_download
|
|
3
|
from jrodb import download
|
|
4
|
from CKAN_JRO import resource
|
|
4
|
from jrodb import resource
|
|
5
|
#from ckanapi.errors import NotAuthorized, NotFound, ValidationError, SearchQueryError, SearchError, CKANAPIError, ServerIncompatibleError
|
|
5
|
#from ckanapi.errors import NotAuthorized, NotFound, ValidationError, SearchQueryError, SearchError, CKANAPIError, ServerIncompatibleError
|
|
6
|
import sys
|
|
6
|
import sys
|
|
7
|
import platform
|
|
7
|
import platform
|
|
8
|
import os
|
|
8
|
import os
|
|
9
|
import requests
|
|
9
|
import requests
|
|
10
|
|
|
10
|
|
|
11
|
class JROAPI():
|
|
11
|
class Api():
|
|
12
|
"""
|
|
12
|
"""
|
|
13
|
FINALIDAD:
|
|
13
|
FINALIDAD:
|
|
14
|
Script para administrar y obtener la data del repositorio por medio de APIs.
|
|
14
|
Script para administrar y obtener la data del repositorio por medio de APIs.
|
|
@@
-16,8
+16,10
class JROAPI():
|
|
16
|
REQUISITIOS PREVIOS:
|
|
16
|
REQUISITIOS PREVIOS:
|
|
17
|
- Paso 1: Tener "pip [Python 2]" o "pip3 [Python 3]" instalado:
|
|
17
|
- Paso 1: Tener "pip [Python 2]" o "pip3 [Python 3]" instalado:
|
|
18
|
- Paso 2: Instalar los siguientes paquetes:
|
|
18
|
- Paso 2: Instalar los siguientes paquetes:
|
|
19
|
ckanapi==4.7
|
|
19
|
En Python 2
|
|
20
|
requests
|
|
20
|
- pip install -e git+http://intranet.igp.gob.pe:8082/DATABASES/ckanext-jro/api-cliente#egg=jrodb
|
|
|
|
|
21
|
En Python 3
|
|
|
|
|
22
|
- pip3 install -e git+http://intranet.igp.gob.pe:8082/DATABASES/ckanext-jro/api-cliente#egg=jrodb
|
|
21
|
|
|
23
|
|
|
22
|
FUNCIONES DISPONIBLES:
|
|
24
|
FUNCIONES DISPONIBLES:
|
|
23
|
- action
|
|
25
|
- action
|
|
@@
-26,14
+28,14
class JROAPI():
|
|
26
|
- create
|
|
28
|
- create
|
|
27
|
- patch
|
|
29
|
- patch
|
|
28
|
- delete
|
|
30
|
- delete
|
|
29
|
- download_files
|
|
31
|
- download
|
|
30
|
|
|
32
|
|
|
31
|
EJEMPLOS:
|
|
33
|
EJEMPLOS:
|
|
32
|
#1:
|
|
34
|
#1:
|
|
33
|
with JROAPI('http://demo.example.com', Authorization='#########') as <access_name>:
|
|
35
|
with Api('http://demo.example.com', Authorization='#########') as <access_name>:
|
|
34
|
... some operation(s) ...
|
|
36
|
... some operation(s) ...
|
|
35
|
#2:
|
|
37
|
#2:
|
|
36
|
<access_name> = JROAPI('http://example.com', Authorization='#########')
|
|
38
|
<access_name> = Api('http://example.com', Authorization='#########')
|
|
37
|
... some operation(s) ...
|
|
39
|
... some operation(s) ...
|
|
38
|
<access_name>.ckan.close()
|
|
40
|
<access_name>.ckan.close()
|
|
39
|
|
|
41
|
|
|
@@
-413,7
+415,7
class JROAPI():
|
|
413
|
else:
|
|
415
|
else:
|
|
414
|
return 'ERROR:: "type_option" must be <str>'
|
|
416
|
return 'ERROR:: "type_option" must be <str>'
|
|
415
|
|
|
417
|
|
|
416
|
def download_files(self, id, processes=1, path=os.path.expanduser("~"), **kwargs):
|
|
418
|
def download(self, id, processes=1, path=os.path.expanduser("~"), **kwargs):
|
|
417
|
'''
|
|
419
|
'''
|
|
418
|
FINALIDAD:
|
|
420
|
FINALIDAD:
|
|
419
|
Funcion personalizada avanzada para la descarga de archivos existentes de un(os) dataset(s).
|
|
421
|
Funcion personalizada avanzada para la descarga de archivos existentes de un(os) dataset(s).
|
|
@@
-422,7
+424,7
class JROAPI():
|
|
422
|
CONSULTAR: "GUIA DE SCRIPT.pdf"
|
|
424
|
CONSULTAR: "GUIA DE SCRIPT.pdf"
|
|
423
|
|
|
425
|
|
|
424
|
ESTRUCTURA:
|
|
426
|
ESTRUCTURA:
|
|
425
|
<access_name>.download_files(id = <class 'str' or 'list'>, param_1 = <class 'param_1'>, ...)
|
|
427
|
<access_name>.download(id = <class 'str' or 'list'>, param_1 = <class 'param_1'>, ...)
|
|
426
|
'''
|
|
428
|
'''
|
|
427
|
#------------------ PATH ----------------------#
|
|
429
|
#------------------ PATH ----------------------#
|
|
428
|
if isinstance(path, str):
|
|
430
|
if isinstance(path, str):
|
|
@@
-497,4
+499,4
class JROAPI():
|
|
497
|
#'search': False,
|
|
499
|
#'search': False,
|
|
498
|
#'users': False
|
|
500
|
#'users': False
|
|
499
|
}
|
|
501
|
}
|
|
500
|
return logic_download.dump_things_change(self.ckan, 'datasets', arguments, **kwargs)
No newline at end of file
|
|
502
|
return download.dump_things_change(self.ckan, 'datasets', arguments, **kwargs)
No newline at end of file
|