Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions lib/woothee/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ def try_browser(useragent, result):
return True
if browser.challenge_yandexbrowser(useragent, result):
return True
if browser.challenge_samsung(useragent, result):
return True
if browser.challenge_safari_chrome(useragent, result):
return True
if browser.challenge_firefox(useragent, result):
Expand Down
11 changes: 11 additions & 0 deletions lib/woothee/browser.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,3 +169,14 @@ def challenge_vivaldi(ua, result):
util.update_map(result, dataset.get('Vivaldi'))
util.update_version(result, version)
return True


def challenge_samsung(ua, result):
if 'SamsungBrowser/' not in ua:
return False

obj = re.search('SamsungBrowser/([.0-9]+)', ua)
version = obj.group(1) if obj else dataset.VALUE_UNKNOWN
util.update_map(result, dataset.get('SamsungBrowser'))
util.update_version(result, version)
return True
8 changes: 8 additions & 0 deletions lib/woothee/crawler.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ def challenge_google(ua, result):
util.update_map(result, dataset.get('GoogleBot'))
return True

if 'compatible; AdsBot-Google-Mobile;' in ua:
util.update_map(result, dataset.get('AdsBotGoogleMobile'))
return True

if ua.startswith('AdsBot-Google'):
util.update_map(result, dataset.get('AdsBotGoogle'))
return True

if 'Googlebot-Image/' in ua:
util.update_map(result, dataset.get('GoogleBot'))
return True
Expand Down
11 changes: 10 additions & 1 deletion lib/woothee/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@


def _init():
# GENERATED from dataset.yaml at Mon Apr 13 11:52:09 2020 by hattorihideo
# GENERATED from dataset.yaml at Fri Oct 1 10:08:57 2021 by hattori
obj = {'label': 'MSIE', 'name': 'Internet Explorer', 'type': 'browser'} # NOQA
obj['vendor'] = 'Microsoft'
DATASET[obj['label']] = obj
Expand Down Expand Up @@ -76,6 +76,9 @@ def _init():
obj = {'label': 'YaBrowser', 'name': 'Yandex Browser', 'type': 'browser'} # NOQA
obj['vendor'] = 'Yandex'
DATASET[obj['label']] = obj
obj = {'label': 'SamsungBrowser', 'name': 'SamsungBrowser', 'type': 'browser'} # NOQA
obj['vendor'] = 'Samsung'
DATASET[obj['label']] = obj
obj = {'label': 'Win', 'name': 'Windows UNKNOWN Ver', 'type': 'os'} # NOQA
obj['category'] = 'pc'
DATASET[obj['label']] = obj
Expand Down Expand Up @@ -355,6 +358,12 @@ def _init():
obj = {'label': 'VariousCrawler', 'name': 'misc crawler', 'type': 'full'} # NOQA
obj['category'] = 'crawler'
DATASET[obj['label']] = obj
obj = {'label': 'AdsBotGoogleMobile', 'name': 'AdsBot-Google-Mobile', 'type': 'full'} # NOQA
obj['category'] = 'crawler'
DATASET[obj['label']] = obj
obj = {'label': 'AdsBotGoogle', 'name': 'AdsBot-Google', 'type': 'full'} # NOQA
obj['category'] = 'crawler'
DATASET[obj['label']] = obj


_init()
Expand Down
2 changes: 1 addition & 1 deletion woothee