|
1 | 1 | user_agent_parsers:
|
2 | 2 | #### SPECIAL CASES TOP ####
|
3 | 3 |
|
| 4 | + # HbbTV standard defines what features the browser should understand. |
| 5 | + # but it's like targeting "HTML5 browsers", effective browser support depends on the model |
| 6 | + # See os_parsers if you want to target a specific TV |
| 7 | + - regex: '(HbbTV)/(\d+)\.(\d+)\.(\d+) \(' |
| 8 | + |
4 | 9 | # must go before Firefox to catch SeaMonkey/Camino
|
5 | 10 | - regex: '(SeaMonkey|Camino)/(\d+)\.(\d+)\.?([ab]?\d+[a-z]*)'
|
6 | 11 |
|
@@ -402,6 +407,63 @@ user_agent_parsers:
|
402 | 407 | family_replacement: 'Python Requests'
|
403 | 408 |
|
404 | 409 | os_parsers:
|
| 410 | + ########## |
| 411 | + # HbbTV vendors |
| 412 | + ########## |
| 413 | + |
| 414 | + # starts with the easy one : Panasonic seems consistent across years, hope it will continue |
| 415 | + #HbbTV/1.1.1 (;Panasonic;VIERA 2011;f.532;0071-0802 2000-0000;) |
| 416 | + #HbbTV/1.1.1 (;Panasonic;VIERA 2012;1.261;0071-3103 2000-0000;) |
| 417 | + #HbbTV/1.2.1 (;Panasonic;VIERA 2013;3.672;4101-0003 0002-0000;) |
| 418 | + #- regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Panasonic);VIERA ([0-9]{4});' |
| 419 | + |
| 420 | + # Sony is consistent too but do not place year like the other |
| 421 | + # Opera/9.80 (Linux armv7l; HbbTV/1.1.1 (; Sony; KDL32W650A; PKG3.211EUA; 2013;); ) Presto/2.12.362 Version/12.11 |
| 422 | + # Opera/9.80 (Linux mips; U; HbbTV/1.1.1 (; Sony; KDL40HX751; PKG1.902EUA; 2012;);; en) Presto/2.10.250 Version/11.60 |
| 423 | + # Opera/9.80 (Linux mips; U; HbbTV/1.1.1 (; Sony; KDL22EX320; PKG4.017EUA; 2011;);; en) Presto/2.7.61 Version/11.00 |
| 424 | + #- regex: 'HbbTV/\d+\.\d+\.\d+ \(; (Sony);.*;.*; ([0-9]{4});\)' |
| 425 | + |
| 426 | + |
| 427 | + # LG is consistent too, but we need to add manually the year model |
| 428 | + #Mozilla/5.0 (Unknown; Linux armv7l) AppleWebKit/537.1+ (KHTML, like Gecko) Safari/537.1+ HbbTV/1.1.1 ( ;LGE ;NetCast 4.0 ;03.20.30 ;1.0M ;) |
| 429 | + #Mozilla/5.0 (DirectFB; Linux armv7l) AppleWebKit/534.26+ (KHTML, like Gecko) Version/5.0 Safari/534.26+ HbbTV/1.1.1 ( ;LGE ;NetCast 3.0 ;1.0 ;1.0M ;) |
| 430 | + - regex: 'HbbTV/\d+\.\d+\.\d+ \( ;(LG)E ;NetCast 4.0' |
| 431 | + os_v1_replacement: '2013' |
| 432 | + - regex: 'HbbTV/\d+\.\d+\.\d+ \( ;(LG)E ;NetCast 3.0' |
| 433 | + os_v1_replacement: '2012' |
| 434 | + |
| 435 | + # Samsung is on its way of normalizing their user-agent |
| 436 | + # HbbTV/1.1.1 (;Samsung;SmartTV2013;T-FXPDEUC-1102.2;;) WebKit |
| 437 | + # HbbTV/1.1.1 (;Samsung;SmartTV2013;T-MST12DEUC-1102.1;;) WebKit |
| 438 | + # HbbTV/1.1.1 (;Samsung;SmartTV2012;;;) WebKit |
| 439 | + # HbbTV/1.1.1 (;;;;;) Maple_2011 |
| 440 | + - regex: 'HbbTV/1.1.1 \(;;;;;\) Maple_2011' |
| 441 | + os_replacement: 'Samsung' |
| 442 | + os_v1_replacement: '2011' |
| 443 | + # manage the two models of 2013 |
| 444 | + - regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});.*FXPDEUC' |
| 445 | + os_v2_replacement: 'UE40F7000' |
| 446 | + - regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});.*MST12DEUC' |
| 447 | + os_v2_replacement: 'UE32F4500' |
| 448 | + # generic Samsung (works starting in 2012) |
| 449 | + #- regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});' |
| 450 | + |
| 451 | + # Philips : not found any other way than a manual mapping |
| 452 | + # Opera/9.80 (Linux mips; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/4.1.3 PHILIPSTV/1.1.1; en) Presto/2.10.250 Version/11.60 |
| 453 | + # Opera/9.80 (Linux mips ; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/3.2.1; en) Presto/2.6.33 Version/10.70 |
| 454 | + - regex: 'HbbTV/1.1.1 \(; (Philips);.*NETTV/4' |
| 455 | + os_v1_replacement: '2013' |
| 456 | + - regex: 'HbbTV/1.1.1 \(; (Philips);.*NETTV/3' |
| 457 | + os_v1_replacement: '2012' |
| 458 | + - regex: 'HbbTV/1.1.1 \(; (Philips);.*NETTV/2' |
| 459 | + os_v1_replacement: '2011' |
| 460 | + |
| 461 | + # the HbbTV emulator developers use HbbTV/1.1.1 (;;;;;) firetv-firefox-plugin 1.1.20 |
| 462 | + - regex: 'HbbTV/\d+\.\d+\.\d+.*(firetv)-firefox-plugin (\d+).(\d+).(\d+)' |
| 463 | + os_replacement: 'FireHbbTV' |
| 464 | + |
| 465 | + # generic HbbTV, hoping to catch manufacturer name (always after 2nd comma) and the first string that looks like a 2011-2019 year |
| 466 | + - regex: 'HbbTV/\d+\.\d+\.\d+ \(.*; ?([a-zA-Z]+) ?;.*(201[1-9]).*\)' |
405 | 467 |
|
406 | 468 | ##########
|
407 | 469 | # Android
|
@@ -443,7 +505,7 @@ os_parsers:
|
443 | 505 | # lots of ua strings have Windows NT 4.1 !?!?!?!? !?!? !? !????!?! !!! ??? !?!?! ?
|
444 | 506 | # (very) roughly ordered in terms of frequency of occurence of regex (win xp currently most frequent, etc)
|
445 | 507 | ##########
|
446 |
| - |
| 508 | + |
447 | 509 | - regex: '(Windows (?:NT 5\.2|NT 5\.1))'
|
448 | 510 | os_replacement: 'Windows XP'
|
449 | 511 |
|
@@ -891,6 +953,12 @@ device_parsers:
|
891 | 953 | - regex: 'Lenovo_([A-Za-z0-9]+)'
|
892 | 954 | device_replacement: 'Lenovo $1'
|
893 | 955 |
|
| 956 | + ########## |
| 957 | + # HbbTV (European and Australian standard) |
| 958 | + # written before the LG regexes, as LG is making HbbTV too |
| 959 | + ########## |
| 960 | + - regex: '(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+' |
| 961 | + |
894 | 962 | ##########
|
895 | 963 | # lg
|
896 | 964 | ##########
|
|
0 commit comments