Python version: Python 3.7.1
ua-parser version: ua-parser==0.8.0
REPL:
>>> from ua_parser import user_agent_parser as uap
>>> uap.Parse('Mozilla/5.0 (Linux; Android 9; SM-G960F Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 PKeyAuth/1.0')
Output:
{'user_agent': {'family': 'Chrome Mobile WebView', 'major': '74', 'minor': '0', 'patch': '3729'}, 'os': {'family': 'Android', 'major': None, 'minor': None, 'patch': None, 'patch_minor': None}, 'device': {'family': 'Samsung SM-G960F', 'brand': 'Samsung', 'model': 'SM-G960F'}, 'string': 'Mozilla/5.0 (Linux; Android 9; SM-G960F Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 PKeyAuth/1.0'}
Expected:
{'user_agent': {'family': 'Chrome Mobile WebView', 'major': '74', 'minor': '0', 'patch': '3729'}, 'os': {'family': 'Android', 'major': '9', 'minor': None, 'patch': None, 'patch_minor': None}, 'device': {'family': 'Samsung SM-G960F', 'brand': 'Samsung', 'model': 'SM-G960F'}, 'string': 'Mozilla/5.0 (Linux; Android 9; SM-G960F Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 PKeyAuth/1.0'}
User Agent string generated by Android 9 devices doesn't follow the format {major}.{minor}.{patch} e.g. Android 9.0, instead just give Android 9, which cause the parser unable to recognise its version.
Python version:
Python 3.7.1ua-parser version:
ua-parser==0.8.0REPL:
Output:
{'user_agent': {'family': 'Chrome Mobile WebView', 'major': '74', 'minor': '0', 'patch': '3729'}, 'os': {'family': 'Android', 'major': None, 'minor': None, 'patch': None, 'patch_minor': None}, 'device': {'family': 'Samsung SM-G960F', 'brand': 'Samsung', 'model': 'SM-G960F'}, 'string': 'Mozilla/5.0 (Linux; Android 9; SM-G960F Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 PKeyAuth/1.0'}Expected:
{'user_agent': {'family': 'Chrome Mobile WebView', 'major': '74', 'minor': '0', 'patch': '3729'}, 'os': {'family': 'Android', 'major': '9', 'minor': None, 'patch': None, 'patch_minor': None}, 'device': {'family': 'Samsung SM-G960F', 'brand': 'Samsung', 'model': 'SM-G960F'}, 'string': 'Mozilla/5.0 (Linux; Android 9; SM-G960F Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 PKeyAuth/1.0'}User Agent string generated by Android 9 devices doesn't follow the format
{major}.{minor}.{patch}e.g.Android 9.0, instead just giveAndroid 9, which cause the parser unable to recognise its version.