diff --git a/CKAN_JRO-2.9.2.0.tar.gz b/CKAN_JRO-2.9.2.0.tar.gz index e3470517607dc320e78dc549f87ae1fc9d6b8f9d..919bfa522c4fb8bd7020ac4684ef7e849430f777 100644 GIT binary patch literal 8083 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 JhQf!2`akHc+GYR% literal 8033 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 3 @@ -67,6 +66,7 @@ class JROAPI(): self.ckan = RemoteCKAN(url, apikey=Authorization, user_agent=ua) #self.ckan = RemoteCKAN(url, apikey=Authorization) self.Authorization = Authorization + # Change for --> self.separator = os.sep if platform.system() == 'Windows': self.separator = '\\' else: @@ -139,13 +139,13 @@ class JROAPI(): if not os.path.isfile(file_path): return 'File "%s" not exist' % (file_path) - if not 'format' in self.dict: - self.str = ''.join(pathlib.Path(file_path).suffixes) - if len(self.str) > 0: - self.dict['format'] = self.str.upper()[1:] + #if not 'format' in self.dict: + # self.str = ''.join(pathlib.Path(file_path).suffixes) + # if len(self.str) > 0: + # self.dict['format'] = self.str.upper()[1:] 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=pathlib.Path(file_path).name, **self.dict) + 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) except: _, exc_value, _ = sys.exc_info() return exc_value @@ -192,12 +192,12 @@ class JROAPI(): path_files.sort() for u in path_files: if os.path.isfile(u): - if pathlib.Path(u).name.lower() in resources_name: + if os.path.basename(u).lower() in resources_name: if not ignore_repetition: - return 'ERROR:: "%s" file already exist in this dataset' % (pathlib.Path(u).name) - print('WARRING:: "'+ str(pathlib.Path(u).name) +'" file was ignored because already exist in this dataset') + return 'ERROR:: "%s" file already exist in this dataset' % (os.path.basename(u)) + print('WARRING:: "'+ str(os.path.basename(u)) +'" file was ignored because already exist in this dataset') else: - total_list.append({'name':pathlib.Path(u).name, 'size': os.stat(u).st_size, 'upload':open(u, 'rb')}) + total_list.append({'name':os.path.basename(u), 'size': os.stat(u).st_size, 'upload':open(u, 'rb')}) else: return 'File "%s" does not exist' % (u) else: @@ -262,10 +262,10 @@ class JROAPI(): value2['voc_file_type'] = file_type value2.update(self.dict) - if not 'format' in value2: - format = ''.join(pathlib.Path(value2['name']).suffixes) - if len(format) > 0: - value2['format'] = format.upper()[1:] + #if not 'format' in value2: + # format = ''.join(pathlib.Path(value2['name']).suffixes) + # if len(format) > 0: + # value2['format'] = format.upper()[1:] files_dict['update__resources__-'+ str(len(block)-count2) +'__upload'] = (value2['name'], value2['upload']) del value2['upload'] @@ -302,8 +302,8 @@ class JROAPI(): ''' params_dict = {'upload':[], 'name':[]} - if not 'format' in kwargs: - params_dict.update({'format':[]}) + #if not 'format' in kwargs: + # params_dict.update({'format':[]}) #---------------CASO : "path" or "path_list"-----------------# if type(path_files) is list: if len(path_files) != 0: @@ -311,13 +311,13 @@ class JROAPI(): for u in path_files: if os.path.isfile(u): params_dict['upload'].append(open(u, 'rb')) - params_dict['name'].append(pathlib.Path(u).name) - if not 'format' in kwargs: - format = ''.join(pathlib.Path(u).suffixes) - if len(format) > 0: - params_dict['format'].append(format.upper()[1:]) - else: - params_dict['format'].append('') + params_dict['name'].append(os.path.basename(u)) + #if not 'format' in kwargs: + # format = ''.join(pathlib.Path(u).suffixes) + # if len(format) > 0: + # params_dict['format'].append(format.upper()[1:]) + # else: + # params_dict['format'].append('') else: return 'File "%s" does not exist' % (u) else: @@ -330,12 +330,12 @@ class JROAPI(): for name in path_order: params_dict['upload'].append(open(os.path.join(path_files, name), 'rb')) params_dict['name'].append(name) - if not 'format' in kwargs: - format = ''.join(pathlib.Path(name).suffixes) - if len(format) > 0: - params_dict['format'].append(format.upper()[1:]) - else: - params_dict['format'].append('') + #if not 'format' in kwargs: + # format = ''.join(pathlib.Path(name).suffixes) + # if len(format) > 0: + # params_dict['format'].append(format.upper()[1:]) + # else: + # params_dict['format'].append('') else: return "ERROR:: There aren't files in this directory" else: