diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index b825368b55..78ca88c59f 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -1804,6 +1804,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'TUC' => 'TUCSON', '2U' => 'Türk Telekom', 'TV' => 'TVC', + 'TVP' => 'TV+', 'TW' => 'TWM', 'Z1' => 'TWZ', '6T' => 'Twoe', diff --git a/Tests/fixtures/tv-2.yml b/Tests/fixtures/tv-2.yml index fbeef4498e..53eb40adf4 100644 --- a/Tests/fixtures/tv-2.yml +++ b/Tests/fixtures/tv-2.yml @@ -6164,7 +6164,7 @@ device: type: tv brand: REGAL - model: "" + model: Smart TV os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/tv-4.yml b/Tests/fixtures/tv-4.yml index 80dbb16ca8..e146bc25a4 100644 --- a/Tests/fixtures/tv-4.yml +++ b/Tests/fixtures/tv-4.yml @@ -6186,3 +6186,129 @@ model: K55USW os_family: Other Mobile browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Andr0id 11; Panasonic G00gle TV LCD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.120 Safari/537.36 OMI/4.25.1.92.StableAVB.5 + os: + name: Android TV + version: "11" + platform: "" + client: + type: browser + name: Opera Devices + version: 4.25.1.92 + engine: Blink + engine_version: 127.0.6533.120 + device: + type: tv + brand: Panasonic + model: Smart TV + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; Andr0id 11; REEDER TV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.120 Safari/537.36 OMI/4.25.1.92.StableAVB.5 + os: + name: Android TV + version: "11" + platform: "" + client: + type: browser + name: Opera Devices + version: 4.25.1.92 + engine: Blink + engine_version: 127.0.6533.120 + device: + type: tv + brand: Reeder + model: Smart TV + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; Andr0id 11; Regal G00gle TV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.120 Safari/537.36 OMI/4.25.1.92.StableAVB.5 + os: + name: Android TV + version: "11" + platform: "" + client: + type: browser + name: Opera Devices + version: 4.25.1.92 + engine: Blink + engine_version: 127.0.6533.120 + device: + type: tv + brand: REGAL + model: Smart TV + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; Andr0id 11; TVPLUS BOX) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.120 Safari/537.36 OMI/4.25.1.92.StableAVB.5 + os: + name: Android TV + version: "11" + platform: "" + client: + type: browser + name: Opera Devices + version: 4.25.1.92 + engine: Blink + engine_version: 127.0.6533.120 + device: + type: tv + brand: TV+ + model: Smart TV + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; Android 13; SABA_32SB6000H Build/TP1A.220905.004.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Safari/537.36 + os: + name: Android + version: "13" + platform: "" + client: + type: browser + name: Chrome Webview + version: 101.0.4951.61 + engine: Blink + engine_version: 101.0.4951.61 + device: + type: tv + brand: Saba + model: 32SB6000H + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 13; SABA_42SB6000F Build/TP1A.220905.004.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Safari/537.36 + os: + name: Android + version: "13" + platform: "" + client: + type: browser + name: Chrome Webview + version: 101.0.4951.61 + engine: Blink + engine_version: 101.0.4951.61 + device: + type: tv + brand: Saba + model: 42SB6000F + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; 32LES905T2SM Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.11.0.385 (lite) TV Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.11.0.385 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: Erisson + model: 32LES905T2SM + os_family: Android + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index ff642d22c6..53b389ec84 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -21118,6 +21118,8 @@ Panasonic: - regex: 'P902i(?:[);/ ]|$)' device: 'feature phone' model: 'P902i' + - regex: 'Panasonic G00gle TV' + model: 'Smart TV' - regex: 'Panasonic\..+\.([0-9]{4})(?:[);/ ]|$)' device: 'tv' model: 'Smart TV ($1)' @@ -21833,9 +21835,11 @@ RT Project: # Saba Saba: - regex: 'Saba ' + regex: 'Saba[_ ]|(?:32SB6000H|42SB6000F)(?:[);/ ]|$)' device: 'tv' models: + - regex: '(?:Saba[_ ])?(\d{2}SB\d{4}[HF])(?:[);/ ]|$)' + model: '$1' - regex: 'SMART TV(?:[);/ ]|$)' model: 'Smart TV' @@ -34850,7 +34854,7 @@ iSWAG: # Reeder (reeder.com.tr) Reeder: - regex: '(?:reeder[_ ](?:3G_Tablet|A7iC|A[78]i[_ ]Quad|A8i Q2|M8 Plus|[TM]8|M10 Plus|P11SE|M7_Go)|M8_Go|M8Go2020|M10SPlus|P12Curve|M10 Pro LTE|M10 Blue Max|P13[ _]Blue[ _]Plus(?:[ _]2022)?|P13_Max_Blue|P13[_ ]Blue[_ ]Ma(?:ks|x|xL)|P13_Blue|P13[ _]Blue[ _]202[12]|M7Plus|A8i-Q2|M7Go_2019|S19 Max(?: Pro S(?: Zoom)?| \d{2}GB|L 128GB| Pro)|M10 GO|S23 Pro Max|S19 Max|P11SE_Art)(?:[);/ ]|$)' + regex: '(?:reeder[_ ](?:3G_Tablet|A7iC|A[78]i[_ ]Quad|A8i Q2|M8 Plus|[TM]8|M10 Plus|P11SE|M7_Go|TV)|M8_Go|M8Go2020|M10SPlus|P12Curve|M10 Pro LTE|M10 Blue Max|P13[ _]Blue[ _]Plus(?:[ _]2022)?|P13_Max_Blue|P13[_ ]Blue[_ ]Ma(?:ks|x|xL)|P13_Blue|P13[ _]Blue[ _]202[12]|M7Plus|A8i-Q2|M7Go_2019|S19 Max(?: Pro S(?: Zoom)?| \d{2}GB|L 128GB| Pro)|M10 GO|S23 Pro Max|S19 Max|P11SE_Art)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'A8i-Q2' @@ -34933,6 +34937,10 @@ Reeder: - regex: 'S23 Pro Max' device: 'smartphone' model: 'S23 Pro Max' + - regex: 'REEDER TV' + device: 'tv' + model: 'Smart TV' + # ELARI (elari.net) ELARI: @@ -38097,7 +38105,7 @@ Bubblegum: # Erisson Erisson: - regex: '(24LM8002CT2|42FLEA73T2SM|40FLES900T2SM|43FLES90[12]T2SM|42FLX9060T2|32LX9000CT|39LES80T2SM|32LX9051T2|43ULX9060T2|32LX9050T2|55ULES92T2SM|32LEA73T2SM|32LES90[24]T2SM|42FLES904T2SM|32LES90[13]T2SM)(?:[);/ ]|$)' + regex: '(24LM8002CT2|42FLEA73T2SM|40FLES900T2SM|43FLES90[12]T2SM|42FLX9060T2|32LX9000CT|39LES80T2SM|32LX9051T2|43ULX9060T2|32LX9050T2|32LES905T2SM|55ULES92T2SM|32LEA73T2SM|32LES90[24]T2SM|42FLES904T2SM|32LES90[13]T2SM)(?:[);/ ]|$)' device: 'tv' model: '$1' @@ -41054,14 +41062,14 @@ Zamolxe: # REGAL (https://www.regal-tr.com/) REGAL: - regex: 'Regal (?:TAB 10\.1|Google TV)|REGAL, ([a-z0-9_ -]+), (?:wired|wireless)' + regex: 'Regal (?:TAB 10\.1|G[o0][o0]gle TV)|REGAL, ([a-z0-9_ -]+), (?:wired|wireless)' device: 'tablet' models: - regex: 'Regal (TAB 10\.1)' model: '$1' - - regex: 'Regal Google TV' + - regex: 'Regal G[o0][o0]gle TV' device: 'tv' - model: '' + model: 'Smart TV' - regex: 'REGAL, ([a-z0-9_ -]+), (?:wired|wireless)' device: 'tv' model: '' @@ -43084,6 +43092,12 @@ Stilevs: device: 'tv' model: '$1' +# TV+ (https://tvplus.com.tr/) +TV+: + regex: '(?:TVPLUS BOX)(?:[);/ ]|$)' + device: 'tv' + model: 'Smart TV' + # 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)(?:[);/ ]|$)'