示例#1
0
    def testTokenSortForceAscii(self):
        s1 = "ABCD\u00C1 HELP\u00C1"
        s2 = "ABCD HELP"

        score = fuzz._token_sort(s1, s2, force_ascii=True)
        self.assertEqual(score, 100)

        score = fuzz._token_sort(s1, s2, force_ascii=False)
        self.assertLess(score, 100)
示例#2
0
    def testTokenSortForceAscii(self):
        s1 = "ABCD\u00C1 HELP\u00C1"
        s2 = "ABCD HELP"

        score = fuzz._token_sort(s1, s2, force_ascii=True)
        self.assertEqual(score, 100)

        score = fuzz._token_sort(s1, s2, force_ascii=False)
        self.assertLess(score, 100)
示例#3
0
def getNameByFuzzSearch(title):
    fuzz_ratios = {}
    for game_info in list(game_jp_collection.find()):
        fuzz_ratios[game_info['title']] = fuzz._token_sort(title,
                                                           game_info['title'],
                                                           partial=False,
                                                           full_process=True)
    result = max(fuzz_ratios.items(), key=lambda x: x[1])
    if result[1] > 70:
        return result[0]
    return False
示例#4
0
def getTitleByGoogle(query, region):
    time.sleep(5)
    api_key = "AIzaSyBW2n_2ZD7q-anVs2UL_WA8xESG7uqokdw"
    service_url = 'https://kgsearch.googleapis.com/v1/entities:search'
    if 'ACA NEOGEO' in query:
        query = query.split('ACA NEOGEO ')[1]
    if 'Arcade Archives ' in query:
        query = query.split('Arcade Archives ')[1]
    params = {
        'query': query,
        'limit': 10,
        'indent': True,
        'key': api_key,
        'languages': ['en', 'ja', 'zh']
    }
    titles = {'en': '', 'ja': '', 'zh': ''}
    response = requests.get(service_url, params=params)
    if response.json().get('itemListElement') and response.json(
    )['itemListElement'][0]['result'].get('name'):
        name_list = response.json()['itemListElement'][0]['result']['name']
        for name in name_list:
            if name['@language'] == 'en':
                titles['en'] = name['@value']
            elif name['@language'] == 'ja':
                titles['ja'] = name['@value']
            elif name['@language'] == 'zh':
                titles['zh'] = name['@value']

        if region == 'en' and fuzz._token_sort(titles['en'].lower(),
                                               query.lower(),
                                               partial=False,
                                               full_process=True) < 70:
            return {}
        if region == 'jp' and fuzz._token_sort(
                titles['ja'], query, partial=False, full_process=True) < 70:
            return {}
        return titles
    else:
        return {}