Skip to content

Commit

Permalink
Apply changes from release 1.0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
vitalibo committed May 8, 2022
1 parent b1f5fc5 commit 5847348
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 189 deletions.
36 changes: 0 additions & 36 deletions tests/browser-test.json
Original file line number Diff line number Diff line change
Expand Up @@ -170,15 +170,6 @@
"major": "20"
}
},
{
"desc": "Chrome",
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4758.102 Safari/537.36",
"expect": {
"name": "Chrome",
"version": "100.0.4758.102",
"major": "100"
}
},
{
"desc": "Chrome Headless",
"ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome Safari/537.36",
Expand Down Expand Up @@ -377,15 +368,6 @@
"major": "15"
}
},
{
"desc": "Firefox",
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:100.0) Gecko/20100101 Firefox/100.0",
"expect": {
"name": "Firefox",
"version": "100.0",
"major": "100"
}
},
{
"desc": "Firefox Reality",
"ua": "Mozilla/5.0 (Android 7.1.2; Mobile VR; rv:65.0) Gecko/65.0 Firefox/65.0",
Expand Down Expand Up @@ -1151,15 +1133,6 @@
"major": "18"
}
},
{
"desc": "Microsoft Edge 100",
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.1108.55 Safari/537.36 Edg/100.0.1108.55",
"expect": {
"name": "Edge",
"version": "100.0.1108.55",
"major": "100"
}
},
{
"desc": "Microsoft Edge on iOS",
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 EdgiOS/42.1.1.0 Mobile/15F79 Safari/605.1.15",
Expand Down Expand Up @@ -1348,14 +1321,5 @@
"version": "4.2.7",
"major": "4"
}
},
{
"desc": "IE11 on Windows 7 (ua length >255)",
"ua": "Mozilla/5.0 (Windows NT 6.1; WOW64; APCPMS=^N201205020840572565478A37A6F9C41BD33F_9975^; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E; MARKANYEPS#25118; Zoom 3.6.0; rv:11.0) like Gecko",
"expect": {
"name": "IE",
"version": "11.0",
"major": "11"
}
}
]
144 changes: 0 additions & 144 deletions tests/device-test.json
Original file line number Diff line number Diff line change
Expand Up @@ -269,24 +269,6 @@
"type": "mobile"
}
},
{
"desc": "Huawei Honor 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 10; YAL-L41) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "YAL-L41",
"type": "mobile"
}
},
{
"desc": "Huawei Honor 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 10; YAL-AL10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "YAL-AL10",
"type": "mobile"
}
},
{
"desc": "Huawei Nexus 6P",
"ua": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 6P Build/MTC19V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537",
Expand Down Expand Up @@ -440,42 +422,6 @@
"type": "mobile"
}
},
{
"desc": "Huawei Mate 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; LYA-AL10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "LYA-AL10",
"type": "mobile"
}
},
{
"desc": "Huawei Mate 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; LYA-L0C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "LYA-L0C",
"type": "mobile"
}
},
{
"desc": "Huawei Mate 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; LYA-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "LYA-L29",
"type": "mobile"
}
},
{
"desc": "Huawei Mate 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; LYA-TL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "LYA-TL00",
"type": "mobile"
}
},
{
"desc": "Huawei P20 Lite",
"ua": "Mozilla/5.0 (Linux; Android 8.0.0; ANE-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
Expand Down Expand Up @@ -557,69 +503,6 @@
"type": "mobile"
}
},
{
"desc": "Huawei Nova 5T",
"ua": "Mozilla/5.0 (Linux; Android 10; YAL-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "YAL-L21",
"type": "mobile"
}
},
{
"desc": "Huawei Nova 5T",
"ua": "Mozilla/5.0 (Linux; Android 10; YAL-L61) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "YAL-L61",
"type": "mobile"
}
},
{
"desc": "Huawei Nova 5T",
"ua": "Mozilla/5.0 (Linux; Android 10; YAL-L71) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "YAL-L71",
"type": "mobile"
}
},
{
"desc": "Huawei Nova 5T",
"ua": "Mozilla/5.0 (Linux; Android 10; YAL-L61D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "YAL-L61D",
"type": "mobile"
}
},
{
"desc": "Huawei Nova 5T",
"ua": "Mozilla/5.0 (Linux; Android 10; YALE-L61A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "YALE-L61A",
"type": "mobile"
}
},
{
"desc": "Huawei Nova 5T",
"ua": "Mozilla/5.0 (Linux; Android 10; YALE-L61D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "YALE-L61D",
"type": "mobile"
}
},
{
"desc": "Huawei Nova 5T",
"ua": "Mozilla/5.0 (Linux; Android 10; YALE-L71A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "YALE-L71A",
"type": "mobile"
}
},
{
"desc": "Huawei Enjoy10e",
"ua": "Dalvik/2.1.0 (Linux; U; Android 10; MED-AL00 Build/HUAWEIMED-AL00)",
Expand Down Expand Up @@ -1718,15 +1601,6 @@
"type": "mobile"
}
},
{
"desc": "SONY Xperia 1 III",
"ua": "Mozilla/5.0 (Linux; Android 11; A101SO) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36",
"expect": {
"vendor": "Sony",
"model": "A101SO",
"type": "mobile"
}
},
{
"desc": "Sony G8141 (Xperia XZ Premium)",
"ua": "Mozilla/5.0 (Linux; Android 8.0.0; G8141) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36",
Expand Down Expand Up @@ -1862,15 +1736,6 @@
"type": "tablet"
}
},
{
"desc": "Sony BRAVIA 4K GB ATV3",
"ua": "Mozilla/5.0 (Linux; Andr0id 9; BRAVIA 4K GB ATV3 Build/PTT1.190515.001.S38) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36 OPR/46.0.2207.0 OMI/4.13.0.180.DIA5.104 Model/Sony-BRAVIA-4K-GB-ATV3",
"expect": {
"vendor": "Sony",
"model": "BRAVIA 4K GB ATV3",
"type": "smarttv"
}
},
{
"desc": "Tesla",
"ua": "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/601.1 (KHTML, like Gecko) Tesla QtCarBrowser Safari/601.1",
Expand Down Expand Up @@ -2015,15 +1880,6 @@
"type": "mobile"
}
},
{
"desc": "Xiaomi Mi CC9",
"ua": "Mozilla/5.0 (Linux; U; Android 11; zh-cn; MI CC 9 Build/RKQ1.200826.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.116 Mobile Safari/537.36 XiaoMi/MiuiBrowser/15.5.18",
"expect": {
"vendor": "Xiaomi",
"model": "MI CC 9",
"type": "mobile"
}
},
{
"desc": "Xiaomi MI PAD 2",
"ua": "Mozilla/5.0 (Linux; Android 5.1; MI PAD 2 Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Safari/537.36 [FB_IAB/FB4A;FBAV/137.0.0.24.91;]",
Expand Down
2 changes: 1 addition & 1 deletion tests/test_uaparser.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,4 @@ def test_ua_max_length():

actual = UAParser(ua)

assert len(actual.ua) == 275
assert len(actual.ua) == 255
2 changes: 1 addition & 1 deletion uaparser/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
UAParser
)

__version__ = '0.7.31'
__version__ = '1.0.2'

__all__ = (
'UAParser',
Expand Down
12 changes: 5 additions & 7 deletions uaparser/_uaparser.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
SMARTTV = 'smarttv'
WEARABLE = 'wearable'
EMBEDDED = 'embedded'
UA_MAX_LENGTH = 275
UA_MAX_LENGTH = 255

AMAZON = 'Amazon'
APPLE = 'Apple'
Expand Down Expand Up @@ -250,15 +250,15 @@ def str_mapper(string, mapping):
r'\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)'
], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [
r'(?:huawei|honor)([-\w ]+)[;\)]',
r'\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)'
r'\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)'
], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [

# Xiaomi
r'\b(poco[\w ]+)(?: bui|\))', # Xiaomi POCO
r'\b; (\w+) build\/hm\1', # Xiaomi Hongmi 'numeric' models
r'\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui', # Xiaomi Hongmi
r'\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))', # Xiaomi Redmi
r'\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))' # Xiaomi Mi
r'\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))' # Xiaomi Mi
], [[MODEL, '_', ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [
r'\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))' # Mi Pad tablets
], [[MODEL, '_', ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [
Expand Down Expand Up @@ -310,7 +310,7 @@ def str_mapper(string, mapping):
], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [

# Sony
r'droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))'
r'droid.+ ([c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))'
], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [
r'sony tablet [ps]',
r'\b(?:sony)?sgp\w+(?: bui|\))'
Expand Down Expand Up @@ -349,7 +349,7 @@ def str_mapper(string, mapping):

# ZTE
r'(zte)[- ]([\w ]+?)(?: bui|\/|\))',
r'(alcatel|geeksphone|nexian|panasonic|sony(?!-bra))[-_ ]?([-\w]*)' # Alcatel/GeeksPhone/Nexian/Panasonic/Sony
r'(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)' # Alcatel/GeeksPhone/Nexian/Panasonic/Sony
], [VENDOR, [MODEL, '_', ' '], [TYPE, MOBILE]], [

# Acer
Expand Down Expand Up @@ -469,8 +469,6 @@ def str_mapper(string, mapping):
], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [
r'\(dtv[\);].+(aquos)' # Sharp
], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [
r'(bravia[\w\- ]+) bui' # Sony
], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [
r'\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)', # Roku
r'hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)' # HbbTV devices
], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [
Expand Down

0 comments on commit 5847348

Please sign in to comment.