Esempio n. 1
0
File: nut.py Progetto: blawar/nut
def matchDemos():
    nut.initTitles()
    nut.initFiles()
    orphans = {}

    Titles.loadTxtDatabases()

    for nsuId, titleId in Titles.nsuIdMap.items():
        for region, languages in Config.regionLanguages().items():
            for language in languages:
                if nsuId:
                    title = Titles.get(str(nsuId), region, language)
                    title.id = titleId

    for region, languages in Config.regionLanguages().items():
        for language in languages:
            for nsuId, rt in Titles.data(region, language).items():
                if rt.id:
                    continue
                orphans[nsuId] = rt.name

            Titles.saveRegion(region, language)

    for nsuId, name in orphans.items():
        print(str(nsuId) + '|' + str(name))
Esempio n. 2
0
def scrapeLangTitles(region='US', language='en', shop_id=4, force=False):
    Print.info('Scraping %s %s' % (region, language))
    pageSize = 50
    offset = 0
    total = 1
    c = 0
    while offset < total:
        url = 'https://bugyo.hac.%s.eshop.nintendo.net/shogun/v1/titles?shop_id=%d&lang=%s&country=%s&sort=new&limit=%d&offset=%d' % (
            Config.cdn.environment, shop_id, language, region, pageSize,
            offset)
        #print(url)
        j = makeJsonRequest('GET',
                            url, {},
                            '%d/%s/%s/titles/index/%d-%d.json' %
                            (shop_id, language, region, pageSize, offset),
                            force=False,
                            expiration=60)

        if not j:
            break

        total = int(j['total'])

        try:
            for i in j['contents']:
                scrapeTitle(i['id'], region, language, shop_id)

        except Exception as e:
            print(str(e))
            raise
            break

        offset = offset + len(j['contents'])

    Titles.saveRegion(region, language)
Esempio n. 3
0
def scrapeShogunUnnamed():
    initTitles()
    initFiles()

    result = {}

    for k, t in Titles.data().items():
        if not t.isDLC:
            continue

        if not t.name and t.baseId != '0100069000078000':
            result[t.baseId] = True

    if not Config.dryRun:
        for id, j in tqdm(result.items()):
            try:
                for region, languages in Config.regionLanguages().items():
                    for language in languages:
                        t = Titles.getTitleId(id, region, language)

                        if t:
                            s = cdn.Shogun.scrapeTitle(int(t.nsuId),
                                                       region=region,
                                                       language=language,
                                                       force=False)
                            #print(json.dumps(s.__dict__))
            except:
                pass

        for region, languages in Config.regionLanguages().items():
            for language in languages:
                Titles.saveRegion(region, language)

        Titles.save()
    else:
        print(result)
Esempio n. 4
0
File: nut.py Progetto: blawar/nut
                if args.eshop_latest:
                    print(
                        cdn.Shogun.getLatest(args.file[0], args.file[1],
                                             args.file[2]))

                if args.scrape_nsuid:
                    nut.initTitles()
                    region = args.region or 'US'
                    language = args.language or 'en'
                    print(
                        json.dumps(
                            cdn.Shogun.scrapeTitle(int(args.scrape_nsuid),
                                                   region=region,
                                                   language=language,
                                                   force=True).__dict__))
                    Titles.saveRegion(region, language)

            if args.usb:
                try:
                    from nut import Usb
                except BaseException as e:
                    Print.error('pip3 install pyusb, required for USB coms: ' +
                                str(e))
                nut.scan()
                Usb.daemon()

            if args.scan:
                nut.initTitles()
                nut.initFiles()
                nut.scan()
Esempio n. 5
0
                nut.initTitles()
                nut.initFiles()
                for i in args.scrape_shogun:
                    if len(i) == 16:
                        l = cdn.Shogun.ids(i)
                        if not l or len(l) == 0 or len(l['id_pairs']) == 0:
                            print('no nsuId\'s found')
                        else:
                            print(l)
                            for t in l['id_pairs']:
                                print('nsuId: ' + str(t['id']))
                                print(
                                    json.dumps(
                                        cdn.Shogun.scrapeTitle(
                                            t['id']).__dict__))
                                Titles.saveRegion('US', 'en')
                    else:
                        print('bleh')

        if args.gen_tinfoil_titles:
            genTinfoilTitles()

        if args.scrape_title:
            nut.initTitles()
            nut.initFiles()

            if not Titles.contains(args.scrape_title):
                Print.error('Could not find title ' + args.scrape_title)
            else:
                Titles.get(args.scrape_title).scrape(False)
                Titles.save()