def CreateTargetDict(targetFolder, args, extension, filesAtTarget = {}, alreadyExists = {}): for filePath in expandFiles(targetFolder): try: filePath_str = str(filePath) if (isGame(filePath) or filePath.suffix == ".nspz" or filePath.suffix == ".nsx") and (extension == None or filePath.suffix == extension): print(filePath) Print.infoNoNewline('Extract TitleID/Version: {0} '.format(filePath.name)) filesAtTarget[filePath.name.lower()] = filePath_str extractedIdVersion = ExtractTitleIDAndVersion(filePath, args) if extractedIdVersion == None: if args.parseCnmt or args.alwaysParseCnmt: Print.error('Failed to extract TitleID/Version from booth filename "{0}" and Cnmt - Outdated keys.txt?'.format(Path(filePath).name)) else: Print.error('Failed to extract TitleID/Version from filename "{0}". Use -p to extract from Cnmt.'.format(Path(filePath).name)) continue titleID, version = extractedIdVersion titleIDEntry = alreadyExists.get(titleID) if titleIDEntry == None: titleIDEntry = {version: [filePath_str]} elif not version in titleIDEntry: titleIDEntry[version] = [filePath_str] else: titleIDEntry[version].append(filePath_str) alreadyExists[titleID] = titleIDEntry Print.info('=> {0} {1}'.format(titleID, version)) except BaseException as e: Print.info("") print_exc() Print.error('Error: ' + str(e)) return(filesAtTarget, alreadyExists)
def CreateTargetDict(targetFolder, parseCnmt, extension): filesAtTarget = {} alreadyExists = {} for file in scandir(str(targetFolder)): try: filePath = Path(targetFolder).joinpath(file.name) filePath_str = str(filePath) if filePath.suffix == extension: Print.infoNoNewline('Extract TitleID/Version: {0} '.format( file.name)) filesAtTarget[file.name.lower()] = filePath_str extractedIdVersion = ExtractTitleIDAndVersion(file, parseCnmt) if extractedIdVersion == None: if parseCnmt: Print.error( 'Failed to extract TitleID/Version from booth filename "{0}" and Cnmt - Outdated keys.txt?' .format(Path(filePath).name)) else: Print.error( 'Failed to extract TitleID/Version from filename "{0}". Use -p to extract from Cnmt.' .format(Path(filePath).name)) continue titleID, version = extractedIdVersion titleIDEntry = alreadyExists.get(titleID) if titleIDEntry == None: titleIDEntry = {version: [filePath_str]} elif not version in titleIDEntry: titleIDEntry[version] = [filePath_str] else: titleIDEntry[version].append(filePath_str) alreadyExists[titleID] = titleIDEntry Print.info('=> {0} {1}'.format(titleID, version)) except BaseException as e: Print.info("") print_exc() Print.error('Error: ' + str(e)) return (filesAtTarget, alreadyExists)