diff --git a/CKAN_JRO-2.9.2.0.tar.gz b/CKAN_JRO-2.9.2.0.tar.gz index 77ecef4fe29e5fcb471853eedb021c4352fdcbfa..0e35e1015785c07e578c456ff1bbee50af127044 100644 GIT binary patch literal 8381 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%0Ath$rhx%H(sRKQs7xNoa*Zp>*RUp7 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 TDpjdUf0Xq9+?qFr02l!P65fc=Cl76nQz?8zl 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 diff --git a/script/CKAN_JRO/jro_api.py b/script/CKAN_JRO/jro_api.py index 4f30f81..e86f0e2 100755 --- a/script/CKAN_JRO/jro_api.py +++ b/script/CKAN_JRO/jro_api.py @@ -14,6 +14,11 @@ import json #import pathlib import uuid +if sys.version_info.major == 3: + from urllib.parse import urlparse +else: + import urlparse + class JROAPI(): """ FINALIDAD: @@ -61,10 +66,19 @@ class JROAPI(): 4) ¿Cual era el resultado que usted esperaba? """ def __init__(self, url, Authorization=None): - ua = 'CKAN_JRO/1.1 (+'+str(url)+')' + #-------- Insecure -------# + self.verify = None + session = None + if urlparse(url).scheme == 'https': + session = requests.Session() + session.verify = False + self.verify = False + #--------------------------# + self.url = url + ua = 'CKAN_JRO/2.9.2 (+'+str(self.url)+')' #ua = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36' - self.ckan = RemoteCKAN(url, apikey=Authorization, user_agent=ua) - #self.ckan = RemoteCKAN(url, apikey=Authorization) + self.ckan = RemoteCKAN(self.url, apikey=Authorization, user_agent=ua, session=session) + #self.ckan = RemoteCKAN(self.url, apikey=Authorization) self.Authorization = Authorization # Change for --> self.separator = os.sep if platform.system() == 'Windows': @@ -785,7 +799,12 @@ class JROAPI(): def download_by_step(self, response, tempdir_name): try: - with requests.get(response['url'], stream=True, headers={'Authorization': self.Authorization}) as resp: + # ---------- REPLACE URL --------- # + if urlparse(self.url).netloc != 'www.igp.gob.pe' and urlparse(response['url']).netloc == 'www.igp.gob.pe': + response['url'] = response['url'].replace(urlparse(response['url']).scheme + '://' + urlparse(response['url']).netloc, + urlparse(self.url).scheme + '://' + urlparse(self.url).netloc) + #----------------------------------# + with requests.get(response['url'], stream=True, headers={'Authorization': self.Authorization}, verify=self.verify) as resp: if resp.status_code == 200: with open(tempdir_name+response['name'], 'wb') as file: for chunk in resp.iter_content(chunk_size = self.chunk_size):