def checkErrors(inputTests, keepLevel): print("Input Tests") test.loadTests(fbaKey, mame2003Key, mame2010Key, os.path.join(scriptDir, dataDir), usingSystems) print("Output Tests") outputTests = test.loadTests(fbaKey, mame2003Key, mame2010Key, os.path.join(configuration['exportDir']), usingSystems) print("Possible errors") for rom in inputTests.keys(): # new names : bbakraid,snowbro3,fantzn2x,dynwar,rbisland,sf,moomesa,leds2011,batrider,sbomber #changedName = ['bkraidu','snowbros3','fantzn2','dw','rainbow','sf1','moo','ledstorm2','batrid','sbomberb'] romNotInFav = True for genre in setDict: for name in setDict[genre]: if name == rom: romNotInFav = False if romNotInFav: print(" Orphan rom %s not in favs" % rom) # at least higher than keepLevel in one set higherThanKeepLevel = True for key in inputTests[rom]: higherThanKeepLevel = higherThanKeepLevel and inputTests[rom][ key].status >= int(keepLevel) if higherThanKeepLevel: if rom not in outputTests: print( " ERROR %s not found in ouput csvs, but in input " % rom, inputTests[rom].keys()) else: for key in inputTests[rom]: if key not in outputTests[rom]: print(" ERROR %s should be exported for %s" % (rom, key))
def checkErrors(self, inputTests, keepLevel): self.logger.log("Loading Output Tests") outputTests = test.loadTests( Sorter.setKeys, os.path.join(self.configuration['exportDir']), self.usingSystems, self.logger) foundErrors = False for rom in inputTests.keys(): # new names : bbakraid,snowbro3,fantzn2x,dynwar,rbisland,sf,moomesa,leds2011,batrider,sbomber #changedName = ['bkraidu','snowbros3','fantzn2','dw','rainbow','sf1','moo','ledstorm2','batrid','sbomberb'] romNotInFav = True for genre in self.favorites: for name in self.favorites[genre]: if name == rom: romNotInFav = False if romNotInFav: if foundErrors is False: self.logger.log("Possible errors") foundErrors = True self.logger.log(" Orphan rom %s not in favs" % rom) # at least higher than keepLevel in one set higherThanKeepLevel = True for key in inputTests[rom]: higherThanKeepLevel = higherThanKeepLevel and inputTests[rom][ key].status >= int(keepLevel) if higherThanKeepLevel: if rom not in outputTests: if not rom.startswith('mp_') and not rom.startswith( 'nss_'): if foundErrors is False: self.logger.log("Possible errors") foundErrors = True self.logger.log( " ERROR " + rom + " not found in ouput csvs, but found in input") else: for key in inputTests[rom]: if key not in outputTests[rom]: if foundErrors is False: self.logger.log("Possible errors") foundErrors = True self.logger.log(" ERROR " + rom + " should be exported for " + key) if foundErrors is False: self.logger.log("S'all good man")
def prepare(self): self.usingSystems = self.useSystems(self.configuration) # create favorites containing fav games self.logger.log('\n<--------- Load Favorites Ini Files --------->') self.favorites = fav.loadFavs(self.scriptDir, Sorter.bioses, self.logger) # parse dat files self.logger.log('\n<--------- Load FBA & Mame Dats --------->') datsDict = dict( zip(self.setKeys, ['FBAlphav0.2.97.44-temp.dat', 'mame2003.dat', 'mame2010.dat' ])) self.dats = dat.parseDats(self.scriptDir, self.dataDir, datsDict, self.usingSystems, self.logger) # parse test files self.logger.log('\n<--------- Load Tests Files --------->') self.allTests = test.loadTests( Sorter.setKeys, os.path.join(self.scriptDir, self.dataDir), self.usingSystems, self.logger)
def prepare(self): self.usingSystems = self.useSystems(self.configuration) # create favorites containing fav games self.logger.log('\n<--------- Load Favorites Ini Files --------->') self.favorites = fav.loadFavs(self.scriptDir, Sorter.bigSetFile, self.bioses, self.logger) # parse dat files self.logger.log('\n<--------- Load FBNeo & Mame Dats --------->') datsDict = dict( zip(self.setKeys, [ self.fbneoKey + '.dat', self.mame2003Key + '.dat', self.mame2003plusKey + '.dat', self.mame2010Key + '.dat' ])) self.dats = dat.parseDats(self.scriptDir, utils.dataDir, datsDict, self.usingSystems, self.logger) # parse test files self.logger.log('\n<--------- Load Tests Files --------->') self.allTests = test.loadTests( Sorter.setKeys, os.path.join(self.scriptDir, utils.dataDir), self.usingSystems, self.logger)
def __prepare(self): self.usingSystems = self.__useSystems(self.configuration) # create favorites containing fav games self.logger.log('\n<--------- Load Favorites Ini Files --------->') self.favorites = fav.loadFavs(self.scriptDir, Sorter.bigSetFile, self.logger) # parse dat files self.logger.log('\n<--------- Load FBNeo & Mame Dats --------->') datsDict = dict( zip( self.setKeys[self.hardware], list(map(lambda key: key + '.dat', self.setKeys[self.hardware])))) self.dats = dat.parseDats(self.scriptDir, utils.dataDir, datsDict, self.usingSystems, self.logger) # parse test files self.logger.log('\n<--------- Load Tests Files --------->') self.allTests = test.loadTests( Sorter.setKeys[self.hardware], os.path.join(self.scriptDir, utils.dataDir, self.hardware), self.usingSystems, self.logger)
def __checkErrors(self, inputTests, keepLevel): self.logger.log("Loading Output Tests") outputTests = test.loadTests( Sorter.setKeys[self.hardware], os.path.join(self.configuration['exportDir']), self.usingSystems, self.logger) foundErrors = False for rom in inputTests.keys(): romNotInFav = True multiName = [] flatFavList = [] for genre in self.favorites: flatFavList.extend(self.favorites[genre]) for name in flatFavList: if name == rom: romNotInFav = False multiName = [] break elif (rom + ';') in name or (';' + rom) in name: romNotInFav = False multiName = name.split(';') break if romNotInFav: if foundErrors is False: self.logger.log("Possible errors", self.logger.ERROR) foundErrors = True self.logger.log(" Orphan rom %s not in favs" % rom, self.logger.ERROR) # at least higher than keepLevel in one set higherThanKeepLevel = True for key in inputTests[rom]: higherThanKeepLevel = higherThanKeepLevel and inputTests[rom][ key].status >= int(keepLevel) if higherThanKeepLevel: if rom not in outputTests: inError = True # Check if the rom is multiname or not if len(multiName) > 0: for name in multiName: inError = name not in outputTests and inError if inError: if foundErrors is False: self.logger.log("Possible errors", self.logger.WARNING) foundErrors = True self.logger.log( " ERROR " + rom + " not found in ouput csvs, but found in input", self.logger.ERROR) else: for key in inputTests[rom]: if key not in outputTests[rom]: if foundErrors is False: self.logger.log("Possible errors", self.logger.WARNING) foundErrors = True self.logger.log( " ERROR " + rom + " should be exported for " + key, self.logger.WARNING) if foundErrors is False: self.logger.log("\nS'all good man", self.logger.SUCCESS)
configuration = conf.loadConf(os.path.join(scriptDir, confFile)) input( 'Your outputDir is ' + configuration['exportDir'] + ".\nIts content will be erased.\nIf you don't want to proceed, close this window, else press enter" ) print('\n<--------- Load Configuration --------->') printDict(configuration) usingSystems = useSystems(configuration) # create setDict containing fav games print('\n<--------- Load Favorites Ini Files --------->') fav.loadFavs(scriptDir, bioses, setDict) # parse dat files print('\n<--------- Load FBA & Mame Dats --------->') dats = dat.parseDats( scriptDir, dataDir, [fbaKey, mame2003Key, mame2010Key], ['FBAlphav0.2.97.43.dat', 'mame2003.dat', 'mame2010.dat'], usingSystems) # parse test files print('\n<--------- Load Tests Files --------->') allTests = test.loadTests(fbaKey, mame2003Key, mame2010Key, os.path.join(scriptDir, dataDir), usingSystems) # create bestarcade romsets print('\n<--------- Create Sets --------->') createSets(allTests, dats) print("\n<--------- Detecting errors ----------->") checkErrors(allTests, configuration['keepLevel']) input('<--------- Process finished ----------->') # TODOS # missing doctype on generated dat ?