From a8d46058b45684bad3f99f3380c93ff0f603c6aa 2022-10-05 20:33:02 From: Edson Date: 2022-10-05 20:33:02 Subject: [PATCH] v2.9.2 :: Update 'upload_file' function - Add empty resource --- diff --git a/CKAN_JRO-2.9.2.0.tar.gz b/CKAN_JRO-2.9.2.0.tar.gz index a909638146824fae59d5c5fe1da3a4c1a1a0a0f1..7085589cda8b82c2c408541f80085537b07e4c3c 100644 GIT binary patch delta 11063 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 delta 10944 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 diff --git a/script/CKAN_JRO/jro_api.py b/script/CKAN_JRO/jro_api.py index f3e5035..ee744fb 100755 --- a/script/CKAN_JRO/jro_api.py +++ b/script/CKAN_JRO/jro_api.py @@ -125,20 +125,21 @@ class JROAPI(): except: _, exc_value, _ = sys.exc_info() return exc_value - - def upload_file(self, dataset_id, file_path, file_date, file_type, **kwargs): + + def upload_file(self, dataset_id, file_date, file_type, file_path=False, url_or_path=False, ignore_repetition=False, **kwargs): # Agregar si es interruptido por teclado ''' FINALIDAD: - Funcion para subir un unico archivo al repositorio del ROJ. + Funcion para crear un unico recurso (puede incluir un archivo asociado) al repositorio del ROJ. PARAMETROS DISPONIBLES: CONSULTAR: "GUIA DE SCRIPT.pdf" ESTRUCTURA: - .upload_file(dataset_id = , file_date = , file_path = , file_type = , param_1 = , ...) + .upload_file(dataset_id = , file_date = , file_type = , file_path = , url_or_path = , param_1 = , ...) ''' - self.list = ['package_id', 'upload', 'voc_file_type', 'name'] #file_date + #self.list = ['package_id', 'upload', 'voc_file_type', 'name'] #file_date + self.list = ['package_id', 'upload', 'voc_file_type'] #file_date for key1, value1 in kwargs.items(): if not key1 in self.list: self.dict[key1] = value1 @@ -151,9 +152,22 @@ class JROAPI(): self.dict['others'] = json.dumps(kwargs['others']) #---------------------------# - if not os.path.isfile(file_path): - return 'File "%s" not exist' % (file_path) - + if isinstance(file_path, str) and isinstance(url_or_path, str): + return 'ERROR:: Choose one: "file_path" or "url_or_path" parameters' + + if isinstance(file_path, str): + if not os.path.isfile(file_path): + return 'File "%s" not exist' % (file_path) + + self.dict['upload'] = open(file_path, 'rb') + self.dict['name'] = os.path.basename(file_path) + elif isinstance(url_or_path, str): + self.dict['url'] = url_or_path + if not 'name' in self.dict: + self.dict['name'] = os.path.basename(url_or_path) + else: + return 'ERROR: Verify "file_path" or "url_or_path" parameters: or choose one' + #if not 'format' in self.dict: # self.str = ''.join(pathlib.Path(file_path).suffixes) # if len(self.str) > 0: @@ -171,12 +185,13 @@ class JROAPI(): for u in dataset_show: resources_name.append(u['name'].lower()) - if os.path.basename(file_path).lower() in resources_name: - return 'ERROR:: "%s" file already exist in this dataset' % (os.path.basename(file_path)) + if self.dict['name'].lower() in resources_name: + if not ignore_repetition: + return 'ERROR:: "%s" resource already exist in this dataset' % (self.dict['name']) + print('WARRING:: "'+ str(self.dict['name']) +'" resource already exist in this dataset') #------------------------------------------------------------# - try: - return getattr(self.ckan.action, 'resource_create')(package_id=dataset_id, file_date=file_date, upload=open(file_path, 'rb'), voc_file_type=file_type, name=os.path.basename(file_path), **self.dict) + return getattr(self.ckan.action, 'resource_create')(package_id=dataset_id, file_date=file_date, voc_file_type=file_type, **self.dict) except: _, exc_value, _ = sys.exc_info() return exc_value diff --git a/script/CKAN_JRO/logic_download.py b/script/CKAN_JRO/logic_download.py index 3e258d6..9d4b917 100644 --- a/script/CKAN_JRO/logic_download.py +++ b/script/CKAN_JRO/logic_download.py @@ -15,8 +15,6 @@ else: DL_CHUNK_SIZE = 100 * 1024 -print() - def dump_things_change(ckan, thing, arguments, worker_pool=None, stdout=None, stderr=None, **kwargs): if worker_pool is None: worker_pool = workers.worker_pool