def importRegion(region='US', language='en'): if not region in Config.regionLanguages( ) or language not in Config.regionLanguages()[region]: Print.error('Could not locate %s/%s !' % (region, language)) return False for region2 in Config.regionLanguages(): for language2 in Config.regionLanguages()[region2]: for nsuId, regionTitle in Titles.data(region2, language2).items(): if not regionTitle.id: continue title = Titles.get(regionTitle.id, None, None) title.importFrom(regionTitle, region2, language2) for region2 in Config.regionLanguages(): for language2 in Config.regionLanguages()[region2]: if language2 != language: continue for nsuId, regionTitle in Titles.data(region2, language2).items(): if not regionTitle.id: continue title = Titles.get(regionTitle.id, None, None) title.importFrom(regionTitle, region2, language2) for nsuId, regionTitle in Titles.data(region, language).items(): if not regionTitle.id: continue title = Titles.get(regionTitle.id, None, None) title.importFrom(regionTitle, region, language) Titles.loadTxtDatabases() Titles.save()
def organize(): initTitles() initFiles() #scan() Print.info('organizing') for k, f in Nsps.files.items(): #print('moving ' + f.path) #Print.info(str(f.hasValidTicket) +' = ' + f.path) f.move() for id, t in Titles.data().items(): files = t.getFiles() if len(files) > 1: #Print.info("%d - %s - %s" % (len(files), t.id, t.name)) latest = t.getLatestFile() if not latest: continue for f in files: if f.path != latest.path: f.moveDupe() Print.info('removing empty directories') Nsps.removeEmptyDir('.', False) Nsps.save()
def updateVersions(force = True): initTitles() initFiles() i = 0 for k,t in Titles.items(): if force or t.version == None: if (t.isDLC or t.isUpdate or Config.download.base) and (not t.isDLC or Config.download.DLC) and (not t.isDemo or Config.download.demo) and (not t.isUpdate or Config.download.update) and (t.key or Config.download.sansTitleKey) and (len(titleWhitelist) == 0 or t.id in titleWhitelist) and t.id not in titleBlacklist: v = t.lastestVersion(True) Print.info("%s[%s] v = %s" % (str(t.name), str(t.id), str(v)) ) i = i + 1 if i % 20 == 0: Titles.save() for t in list(Titles.data().values()): if not t.isUpdate and not t.isDLC and t.updateId and t.updateId and not Titles.contains(t.updateId): u = Title() u.setId(t.updateId) if u.lastestVersion(): Titles.set(t.updateId, u) Print.info("%s[%s] FOUND" % (str(t.name), str(u.id)) ) i = i + 1 if i % 20 == 0: Titles.save() Titles.save()
def importRegion(region='US', language='en'): if not region in Config.regionLanguages( ) or language not in Config.regionLanguages()[region]: Print.error('Could not locate %s/%s !' % (region, language)) return False for region2 in Config.regionLanguages(): for language2 in Config.regionLanguages()[region]: for nsuId, regionTitle in Titles.data(region2, language2).items(): if not regionTitle.id: continue title = Titles.get(regionTitle.id, None, None) title.importFrom(regionTitle, region2, language2) for region2 in Config.regionLanguages(): for language2 in Config.regionLanguages()[region]: if language2 != language: continue for nsuId, regionTitle in Titles.data(region2, language2).items(): if not regionTitle.id: continue title = Titles.get(regionTitle.id, None, None) title.importFrom(regionTitle, region2, language2) for nsuId, regionTitle in Titles.data(region, language).items(): if not regionTitle.id: continue title = Titles.get(regionTitle.id, None, None) title.importFrom(regionTitle, region, language) ''' for k,v in regionTitle.__dict__.items(): if k in ('id', 'version', 'regions', 'languages', 'nsuId', 'key'): continue setattr(title, k, v) title.setId(title.id) title.setVersion(regionTitle.version) title.region = region title.language = language ''' Titles.save()
def title(self): if not self.titleId: raise IOError('NSP no titleId set') if self.titleId in Titles.keys(): return Titles.get(self.titleId) t = Title.Title() t.setId(self.titleId) Titles.data()[self.titleId] = t return t
def refreshRegions(): for region in Config.regionLanguages(): for language in Config.regionLanguages()[region]: for i in Titles.data(region, language): regionTitle = Titles.data(region, language)[i] if regionTitle.id: title = Titles.get(regionTitle.id, None, None) if not hasattr(title, 'regions') or not title.regions: title.regions = [] if not hasattr(title, 'languages') or not title.languages: title.languages = [] if not region in title.regions: title.regions.append(region) if not language in title.languages: title.languages.append(language) Titles.save()