From b0b36a09f31e75260ecb7923c5d3328e97403709 Mon Sep 17 00:00:00 2001 From: Alexsandr Tutik Date: Wed, 18 Dec 2024 13:41:51 +0300 Subject: [PATCH] feat(device) detect new brand Dora: 65DYW60 feat(device) detect new brand Weston: 65WS3205 feat(device) detect new brand ZIFFLER: 65W600U feat(device) detect brand ONVO: 0V50500, OV43400 feat(device) detect brand Sunny: SN55UAL253 feat(device) detect brand VEON: VN50WOS2021 ref #7885 --- Parser/Device/AbstractDeviceParser.php | 3 + Tests/fixtures/tv-4.yml | 126 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 42 +++++++-- 3 files changed, 163 insertions(+), 8 deletions(-) diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index 6d91835726..c8e2538407 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -486,6 +486,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'DPA' => 'DPA', 'JQ' => 'Doppio', 'DR' => 'Doro', + 'DOR' => 'Dora', 'ZD' => 'DORLAND', 'DRO' => 'Droidlogic', 'D8' => 'Droxio', @@ -1951,6 +1952,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'WE' => 'WellcoM', 'W6' => 'WELLINGTON', 'WD' => 'Western Digital', + 'WST' => 'Weston', 'WT' => 'Westpoint', 'WAN' => 'Wanmukang', 'WA1' => 'WANSA', @@ -2051,6 +2053,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'ZF' => 'Zfiner', 'ZI' => 'Zidoo', 'FZ' => 'ZIFRO', + 'ZIF' => 'ZIFFLER', 'ZX' => 'Ziox', 'ZIK' => 'ZIK', 'ZKI' => 'Z-Kai', diff --git a/Tests/fixtures/tv-4.yml b/Tests/fixtures/tv-4.yml index 69a855a5f8..8a047067b0 100644 --- a/Tests/fixtures/tv-4.yml +++ b/Tests/fixtures/tv-4.yml @@ -5952,3 +5952,129 @@ model: WS-508G os_family: Other Mobile browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; 65W600U; 04.41.33; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, 65W600U, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: ZIFFLER + model: 65W600U + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; 65DYW60; 04.41.33; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, 65DYW60, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: Dora + model: 65DYW60 + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; 0V50500; 04.41.33; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, 0V50500, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: ONVO + model: 0V50500 + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/68.0.3440.106 Safari/537.36 LG Browser/8.00.00(LGE; OV43400; 04.50.62; 0x00000001; DTV_C20L); webOS.TV-2020; LG NetCast.TV-2013 Compatible (LGE, OV43400, wireless) + os: + name: webOS + version: "5" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 68.0.3440.106 + device: + type: tv + brand: ONVO + model: OV43400 + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; SUNNYSN55UAL253-; 04.41.33; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, SUNNYSN55UAL253-, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: Sunny + model: SN55UAL253 + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/68.0.3440.106 Safari/537.36 LG Browser/8.00.00(LGE; VN50WOS2021; 04.50.62; 0x00000001; DTV_C20P); webOS.TV-2020; LG NetCast.TV-2013 Compatible (LGE, VN50WOS2021, wireless) + os: + name: webOS + version: "5" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 68.0.3440.106 + device: + type: tv + brand: VEON + model: VN50WOS2021 + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; 65WS3205; 04.41.33; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, 65WS3205, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: Weston + model: 65WS3205 + os_family: Other Mobile + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index b2e720190e..ed33fdb82e 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -10287,7 +10287,7 @@ UGINE: # Sunny Sunny: - regex: 'LGE; SNY?[0-9]{2}[0-9a-z]+(?:-[0-9]+)?;|(?:SS4G9 Mira|SS4G7 Sole|SS4G1 Luna|SS4G8 Nora|SS4G6 Lola|SN7014S?|SN7016|SN10016|SN01DNGL300|SUNNY (?:SS01|S52D)|SUNNY;SmartTV)(?:[);/ ]|$)' + regex: 'LGE; SNY?[0-9]{2}[0-9a-z]+(?:-[0-9]+)?;|(?:SS4G9 Mira|SS4G7 Sole|SS4G1 Luna|SS4G8 Nora|SS4G6 Lola|SN7014S?|SN7016|SN10016|SN01DNGL300|SUNNY ?(?:SS01|S52D|SN55UAL253-?)|SUNNY;SmartTV)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(SS4G9 Mira|SS4G7 Sole|SS4G1 Luna|SS4G8 Nora|SS4G6 Lola)(?:[);/ ]|$)' @@ -10303,6 +10303,9 @@ Sunny: - regex: 'SN01DNGL300(?:[);/ ]|$)' device: 'tv' model: 'Prime TV Stick' + - regex: '(?:SUNNY[_ ]?)?(SN55UAL253)' + device: 'tv' + model: '$1' - regex: 'LGE; (SNY?[0-9]{2}[0-9a-z]+)(?:-[0-9]+)?;' device: 'tv' model: '$1' @@ -35369,11 +35372,13 @@ Zentality: - regex: 'C-(\d+) ?Ultra' model: 'C-$1 Ultra' -# ONVO +# ONVO (onvo.com.tr) ONVO: - regex: 'ONVO[ _]|\d{2}OV|Apollo Premium4K TV(?:[);/ ]|$)' + regex: 'ONVO[ _]|\d{2}OV|(?:Apollo Premium4K TV|0V50500|OV43400)(?:[);/ ]|$)' device: 'tv' models: + - regex: '(0V50500|OV43400)[,;]?' + model: '$1' - regex: '(?:ONVO[_ ])?(\d{2}OV[a-z0-9]+)(?:[);/ ]|$)' model: '$1' - regex: 'Apollo Premium4K TV(?:[);/ ]|$)' @@ -38585,7 +38590,7 @@ Eurocase: # VEON VEON: - regex: 'VEON[_ ]|VEON[_ ](?:C8680)(?:[);/ ]|$)' + regex: 'VEON[_ ]|(?:VEON[_ ](?:C8680)|VN50WOS2021)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'VEON[_ ](C8680)(?:[);/ ]|$)' @@ -38593,6 +38598,9 @@ VEON: - regex: 'VEON 4K Smart TV(?:[);/ ]|$)' device: 'tv' model: '4K Smart TV' + - regex: '(VN50WOS2021)' + device: 'tv' + model: '$1' # FiGi (figi-mobile.com) FiGi: @@ -42994,7 +43002,7 @@ MEGAMAX: device: 'tv' model: '$1' -# PrismPlus (https://prismplus.sg) +# PrismPlus (prismplus.sg) PRISM+: regex: 'PrismPlus' device: 'tv' @@ -43002,7 +43010,7 @@ PRISM+: - regex: '(\d)K Pro Android TV' model: '$1K Pro Smart TV' -# SINGER (https://www.singersl.com) +# SINGER (www.singersl.com) SINGER: regex: 'SINGER' device: 'tv' @@ -43018,18 +43026,36 @@ Everfine: device: 'tv' model: '$1' -# Elista (https://www.elistaworld.com) +# Elista (www.elistaworld.com) Elista: regex: '(B50UHD4EKC)(?:[);/ ]|$)' device: 'tv' model: '$1' -# Horion (https://global.horion.com) +# Horion (global.horion.com) Horion: regex: '(WEE5-75EU-FDVB)(?:[);/ ]|$)' device: 'tv' model: '$1' +# ZIFFLER (ziffler.uz) +ZIFFLER: + regex: '(65W600U)(?:[);/ ]|$)' + device: 'tv' + model: '$1' + +# Dora +Dora: + regex: '(65DYW60)(?:[);/ ]|$)' + device: 'tv' + model: '$1' + +# Weston (weston.com.tr) +Weston: + regex: '(65WS3205)(?:[);/ ]|$)' + device: 'tv' + model: '$1' + # Devices with undectable brand, but detectable model Unknown: regex: 'Plasma Mobile|WebTV/(\d+\.\d+)|TV Bro| BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|SDSTB|SDOTT|(?:M10 Ultra|FO-R15|TVBOX|Smart[ _-]?TV|SmartATV|M8S\+ 4K|PCBox|rk(?:3128|322x|3368)(?:[_-]box)?|H10 PLAY|Smart AIO TV|TVBOX_L|L-BOX|TVBOX-5G|mips.+(?:Opera TV|wireless|wired)|smartbox|TV BOX|BOX TV|I12Pro Max|(?:audi_)?ks1280x480|AT&T TV|RealtekATV|AOSP on r33a0|tv001 on rtd289x|hx322x_box|X98_S500|8K3528-T|MX10|V88|H8S|X92|AI PONT|tv\.plus|WayDroid x86_64 Device|MediaBox|Cloud Phone|HK1RBOX-X4)(?:[);/ ]|$)'