def get_metadata_hash(selected_files=[]): meta_hash = {} for f in selected_files: if '-meta.xml' in f: continue name, ext = os.path.splitext(f) base_name_no_ext = os.path.basename(f).split(".")[0] ext_no_period = ext.replace(".", "") metadata_definition = get_meta_type_by_suffix(ext_no_period) meta_type = metadata_definition["xmlName"] if meta_type not in meta_hash: #key isn't there yet, put it in if metadata_definition['inFolder']: arr = f.split("/") if arr[len(arr)-2] != metadata_definition['directoryName']: meta_hash[meta_type] = [arr[len(arr)-2]+"/"+base_name_no_ext] #file name with no extension else: meta_hash[meta_type] = [base_name_no_ext] else: meta_hash[meta_type] = [base_name_no_ext] else: #key is there, let's add metadata to it meta_array = meta_hash[meta_type] #get the existing array if metadata_definition['inFolder']: arr = f.split("/") if arr[len(arr)-2] != metadata_definition['directoryName']: meta_array.append(arr[len(arr)-2]+"/"+base_name_no_ext) #file name with no extension else: meta_array.append(base_name_no_ext) #add the new piece of metadata else: meta_array.append(base_name_no_ext) #file name with no extension meta_hash[meta_type] = meta_array #replace the key return meta_hash
def get_metadata_hash(selected_files=[]): meta_hash = {} for f in selected_files: if '-meta.xml' in f: continue name, ext = os.path.splitext(f) ext_no_period = ext.replace(".", "") if os.path.basename(f).count( '.') > 1: #fix for weird metadata types like approvalprocess base_name_no_ext = os.path.basename(f).split( ".")[0] + "." + os.path.basename(f).split(".")[1] else: base_name_no_ext = os.path.basename(f).split(".")[0] try: metadata_definition = get_meta_type_by_suffix(ext_no_period) meta_type = metadata_definition["xmlName"] except: if sys.platform == "win32": dir_parts = f.split("\\") else: dir_parts = f.split("/") if 'documents' in dir_parts: metadata_definition = get_meta_type_by_name("Document") meta_type = metadata_definition["xmlName"] if meta_type not in meta_hash: #key isn't there yet, put it in if metadata_definition['inFolder']: arr = f.split("/") if arr[len(arr) - 2] != metadata_definition['directoryName']: meta_hash[meta_type] = [ arr[len(arr) - 2] + "/" + base_name_no_ext ] #file name with no extension else: meta_hash[meta_type] = [base_name_no_ext] else: meta_hash[meta_type] = [base_name_no_ext] else: #key is there, let's add metadata to it meta_array = meta_hash[meta_type] #get the existing array if metadata_definition['inFolder']: arr = f.split("/") if arr[len(arr) - 2] != metadata_definition['directoryName']: meta_array.append( arr[len(arr) - 2] + "/" + base_name_no_ext) #file name with no extension else: meta_array.append( base_name_no_ext) #add the new piece of metadata else: meta_array.append( base_name_no_ext) #file name with no extension meta_hash[meta_type] = meta_array #replace the key return meta_hash
def get_metadata_hash(selected_files=[]): meta_hash = {} for f in selected_files: if '-meta.xml' in f: continue name, ext = os.path.splitext(f) ext_no_period = ext.replace(".", "") if os.path.basename(f).count('.') > 1: #fix for weird metadata types like approvalprocess base_name_no_ext = os.path.basename(f).split(".")[0]+"."+os.path.basename(f).split(".")[1] else: base_name_no_ext = os.path.basename(f).split(".")[0] try: metadata_definition = get_meta_type_by_suffix(ext_no_period) meta_type = metadata_definition["xmlName"] except: if sys.platform == "win32": dir_parts = f.split("\\") else: dir_parts = f.split("/") if 'documents' in dir_parts: metadata_definition = get_meta_type_by_name("Document") meta_type = metadata_definition["xmlName"] if meta_type not in meta_hash: #key isn't there yet, put it in if metadata_definition['inFolder']: arr = f.split("/") if arr[len(arr)-2] != metadata_definition['directoryName']: meta_hash[meta_type] = [arr[len(arr)-2]+"/"+base_name_no_ext] #file name with no extension else: meta_hash[meta_type] = [base_name_no_ext] else: meta_hash[meta_type] = [base_name_no_ext] else: #key is there, let's add metadata to it meta_array = meta_hash[meta_type] #get the existing array if metadata_definition['inFolder']: arr = f.split("/") if arr[len(arr)-2] != metadata_definition['directoryName']: meta_array.append(arr[len(arr)-2]+"/"+base_name_no_ext) #file name with no extension else: meta_array.append(base_name_no_ext) #add the new piece of metadata else: meta_array.append(base_name_no_ext) #file name with no extension meta_hash[meta_type] = meta_array #replace the key return meta_hash
def get_metadata_hash(selected_files=[]): meta_hash = {} for f in selected_files: if '-meta.xml' in f: continue name, ext = os.path.splitext(f) base_name_no_ext = os.path.basename(f).split(".")[0] ext_no_period = ext.replace(".", "") metadata_definition = get_meta_type_by_suffix(ext_no_period) meta_type = metadata_definition["xmlName"] if meta_type not in meta_hash: #key isn't there yet, put it in if metadata_definition['inFolder']: arr = f.split("/") if arr[len(arr) - 2] != metadata_definition['directoryName']: meta_hash[meta_type] = [ arr[len(arr) - 2] + "/" + base_name_no_ext ] #file name with no extension else: meta_hash[meta_type] = [base_name_no_ext] else: meta_hash[meta_type] = [base_name_no_ext] else: #key is there, let's add metadata to it meta_array = meta_hash[meta_type] #get the existing array if metadata_definition['inFolder']: arr = f.split("/") if arr[len(arr) - 2] != metadata_definition['directoryName']: meta_array.append( arr[len(arr) - 2] + "/" + base_name_no_ext) #file name with no extension else: meta_array.append( base_name_no_ext) #add the new piece of metadata else: meta_array.append( base_name_no_ext) #file name with no extension meta_hash[meta_type] = meta_array #replace the key return meta_hash
def get_file_extension_no_period(path): name, ext = os.path.splitext(path) return ext.replace(".", "")