Example #1
0
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)
Example #2
0
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)