device_detector 1.0.1 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +49 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +5 -10
  5. data/CHANGELOG.md +14 -1
  6. data/README.md +6 -6
  7. data/Rakefile +20 -13
  8. data/device_detector.gemspec +1 -0
  9. data/lib/device_detector.rb +30 -26
  10. data/lib/device_detector/bot.rb +2 -2
  11. data/lib/device_detector/client.rb +3 -2
  12. data/lib/device_detector/device.rb +46 -20
  13. data/lib/device_detector/memory_cache.rb +26 -19
  14. data/lib/device_detector/metadata_extractor.rb +7 -8
  15. data/lib/device_detector/model_extractor.rb +3 -3
  16. data/lib/device_detector/name_extractor.rb +2 -2
  17. data/lib/device_detector/os.rb +121 -111
  18. data/lib/device_detector/parser.rb +22 -9
  19. data/lib/device_detector/version.rb +3 -1
  20. data/lib/device_detector/version_extractor.rb +2 -3
  21. data/regexes/bots.yml +442 -19
  22. data/regexes/client/browser_engine.yml +7 -1
  23. data/regexes/client/browsers.yml +773 -103
  24. data/regexes/client/feed_readers.yml +14 -8
  25. data/regexes/client/libraries.yml +43 -2
  26. data/regexes/client/mediaplayers.yml +21 -5
  27. data/regexes/client/mobile_apps.yml +131 -1
  28. data/regexes/client/pim.yml +6 -1
  29. data/regexes/device/cameras.yml +1 -1
  30. data/regexes/device/car_browsers.yml +7 -3
  31. data/regexes/device/consoles.yml +3 -3
  32. data/regexes/device/mobiles.yml +11365 -791
  33. data/regexes/device/notebooks.yml +114 -0
  34. data/regexes/device/portable_media_player.yml +2 -2
  35. data/regexes/device/televisions.yml +17 -3
  36. data/regexes/oss.yml +115 -47
  37. data/regexes/vendorfragments.yml +6 -2
  38. data/spec/device_detector/concrete_user_agent_spec.rb +16 -17
  39. data/spec/device_detector/detector_fixtures_spec.rb +30 -35
  40. data/spec/device_detector/device_spec.rb +28 -48
  41. data/spec/device_detector/memory_cache_spec.rb +60 -28
  42. data/spec/device_detector/model_extractor_spec.rb +3 -3
  43. data/spec/device_detector/version_extractor_spec.rb +5 -6
  44. data/spec/device_detector_spec.rb +49 -78
  45. data/spec/fixtures/client/browser.yml +1521 -406
  46. data/spec/fixtures/client/feed_reader.yml +39 -51
  47. data/spec/fixtures/client/library.yml +72 -11
  48. data/spec/fixtures/client/mediaplayer.yml +29 -40
  49. data/spec/fixtures/client/mobile_app.yml +172 -32
  50. data/spec/fixtures/client/pim.yml +32 -19
  51. data/spec/fixtures/detector/bots.yml +854 -19
  52. data/spec/fixtures/detector/camera.yml +22 -2
  53. data/spec/fixtures/detector/car_browser.yml +60 -0
  54. data/spec/fixtures/detector/console.yml +43 -3
  55. data/spec/fixtures/detector/desktop.yml +2860 -1527
  56. data/spec/fixtures/detector/feature_phone.yml +69 -1
  57. data/spec/fixtures/detector/feed_reader.yml +158 -130
  58. data/spec/fixtures/detector/mediaplayer.yml +113 -39
  59. data/spec/fixtures/detector/mobile_apps.yml +262 -89
  60. data/spec/fixtures/detector/phablet.yml +3444 -663
  61. data/spec/fixtures/detector/portable_media_player.yml +57 -0
  62. data/spec/fixtures/detector/smart_speaker.yml +55 -0
  63. data/spec/fixtures/detector/smartphone-1.yml +4739 -4765
  64. data/spec/fixtures/detector/smartphone-10.yml +9973 -0
  65. data/spec/fixtures/detector/smartphone-11.yml +10015 -0
  66. data/spec/fixtures/detector/smartphone-12.yml +9897 -0
  67. data/spec/fixtures/detector/smartphone-13.yml +9912 -0
  68. data/spec/fixtures/detector/smartphone-14.yml +9935 -0
  69. data/spec/fixtures/detector/smartphone-15.yml +6595 -0
  70. data/spec/fixtures/detector/smartphone-16.yml +10021 -0
  71. data/spec/fixtures/detector/smartphone-17.yml +9408 -0
  72. data/spec/fixtures/detector/smartphone-2.yml +4265 -4238
  73. data/spec/fixtures/detector/smartphone-3.yml +4487 -4391
  74. data/spec/fixtures/detector/smartphone-4.yml +4210 -4179
  75. data/spec/fixtures/detector/smartphone-5.yml +5794 -2901
  76. data/spec/fixtures/detector/smartphone-6.yml +10114 -0
  77. data/spec/fixtures/detector/smartphone-7.yml +9975 -0
  78. data/spec/fixtures/detector/smartphone-8.yml +9897 -0
  79. data/spec/fixtures/detector/smartphone-9.yml +9880 -0
  80. data/spec/fixtures/detector/smartphone.yml +4152 -4048
  81. data/spec/fixtures/detector/tablet-1.yml +3997 -3991
  82. data/spec/fixtures/detector/tablet-2.yml +6820 -1935
  83. data/spec/fixtures/detector/tablet-3.yml +9968 -0
  84. data/spec/fixtures/detector/tablet-4.yml +7113 -0
  85. data/spec/fixtures/detector/tablet.yml +3789 -3804
  86. data/spec/fixtures/detector/tv.yml +3889 -1495
  87. data/spec/fixtures/detector/unknown.yml +45 -179
  88. data/spec/fixtures/detector/wearable.yml +61 -0
  89. data/spec/fixtures/device/camera.yml +4 -3
  90. data/spec/fixtures/device/car_browser.yml +9 -2
  91. data/spec/fixtures/device/console.yml +15 -14
  92. data/spec/fixtures/device/notebook.yml +7 -0
  93. data/spec/fixtures/parser/oss.yml +177 -0
  94. data/spec/fixtures/parser/vendorfragments.yml +6 -0
  95. metadata +57 -7
@@ -0,0 +1,114 @@
1
+ ###############
2
+ # Device Detector - The Universal Device Detection library for parsing User Agents
3
+ #
4
+ # @link https://matomo.org
5
+ # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
6
+ ###############
7
+
8
+ Acer:
9
+ regex: 'FBMD/(?:Aspire E5-421G|Z5WAL|One S1003);'
10
+ device: 'desktop'
11
+ models:
12
+ - regex: 'FBMD/Aspire E5-421G;'
13
+ model: 'Aspire E5-421G'
14
+ - regex: 'FBMD/Z5WAL;'
15
+ model: 'Aspire E5-511'
16
+ - regex: 'FBMD/One S1003;'
17
+ model: 'One 10'
18
+
19
+ Asus:
20
+ regex: 'FBMD/(?:K50IN|K54L|T100HAN|T103HAF|UX360CAK|X550LB|X553MA|X555LN|X556UQK);'
21
+ device: 'desktop'
22
+ models:
23
+ - regex: 'FBMD/K50IN;'
24
+ model: 'K50IN'
25
+ - regex: 'FBMD/K54L;'
26
+ model: 'K54L'
27
+ - regex: 'FBMD/T100HAN;'
28
+ model: 'Transformer Book'
29
+ - regex: 'FBMD/T103HAF;'
30
+ model: 'Transformer Mini'
31
+ - regex: 'FBMD/UX360CAK;'
32
+ model: 'ZenBook Flip'
33
+ - regex: 'FBMD/X550LB;'
34
+ model: 'X550LB'
35
+ - regex: 'FBMD/X553MA;'
36
+ model: 'X553MA'
37
+ - regex: 'FBMD/X555LN;'
38
+ model: 'X555LN'
39
+ - regex: 'FBMD/X556UQK;'
40
+ model: 'X556UQK'
41
+
42
+ Dell:
43
+ regex: 'FBMD/(?:Latitude E4300|Inspiron 3541|XPS 15 95[35]0);'
44
+ device: 'desktop'
45
+ models:
46
+ - regex: 'Latitude E4300'
47
+ model: 'Latitude E4300'
48
+ - regex: 'Inspiron 3541'
49
+ model: 'Inspiron 3541'
50
+ - regex: 'XPS 15 9530'
51
+ model: 'XPS 15 9530'
52
+ - regex: 'XPS 15 9550'
53
+ model: 'XPS 15 9550'
54
+
55
+ HP:
56
+ regex: 'FBMD/((?:Compaq|HP) |23-f364)'
57
+ device: 'desktop'
58
+ models:
59
+ - regex: 'Compaq Presario CQ61 Notebook PC'
60
+ model: 'Compaq Presario CQ61'
61
+ - regex: 'HP Pavilion x2 Detachable'
62
+ model: 'Pavilion x2'
63
+ - regex: 'HP Laptop 15-bs0xx'
64
+ model: '15 Laptop PC'
65
+ - regex: 'HP ENVY x360 Convertible 15-bp0xx'
66
+ model: 'ENVY x360 Convertible PC'
67
+ - regex: 'HP EliteBook (25[67]0p)'
68
+ model: 'EliteBook $1'
69
+ - regex: 'HP ProBook (440 G5|6[35]60b)'
70
+ model: 'ProBook $1'
71
+ - regex: 'HP Pavilion dv6 Notebook PC'
72
+ model: 'Pavilion dv6'
73
+ - regex: 'HP Pavilion Notebook'
74
+ model: 'Pavilion'
75
+ - regex: 'HP Spectre x360 Convertible'
76
+ model: 'Spectre x360'
77
+ - regex: 'HP Pavilion All-in-One 24-r0xx'
78
+ model: 'Pavilion 24-r0xx All-in-One Desktop PC'
79
+ device: 'desktop'
80
+ - regex: '23-f364'
81
+ model: 'Pavilion TouchSmart 23-f364 All-in-One Desktop PC'
82
+ device: 'desktop'
83
+
84
+ Lenovo:
85
+ regex: 'FBMD/(?:37021C5|80E5|80SM|80VR);'
86
+ device: 'desktop'
87
+ models:
88
+ - regex: 'FBMD/37021C5;'
89
+ model: 'ThinkPad Helix 3702'
90
+ - regex: 'FBMD/80E5;'
91
+ model: 'G50-80'
92
+ - regex: 'FBMD/80SM;'
93
+ model: 'Ideapad 310-15ISK'
94
+ - regex: 'FBMD/80VR;'
95
+ model: 'Legion Y720'
96
+
97
+ Schneider:
98
+ regex: 'FBMD/SCL141CTP;'
99
+ device: 'desktop'
100
+ model: 'Notebook 14" Cherry Trail'
101
+
102
+ Thomson:
103
+ regex: 'FBMD/TH360R12.32CTW;'
104
+ device: 'desktop'
105
+ model: 'Prestige TH-360R12.32CTW'
106
+
107
+ Toshiba:
108
+ regex: 'FBMD/Satellite '
109
+ device: 'desktop'
110
+ models:
111
+ - regex: 'Satellite (A[25]00|C650|C855|L650|S855)'
112
+ model: 'Satellite $1'
113
+ - regex: 'Satellite ([^;\)]+);'
114
+ model: 'Satellite $1'
@@ -1,7 +1,7 @@
1
1
  ###############
2
2
  # Device Detector - The Universal Device Detection library for parsing User Agents
3
3
  #
4
- # @link http://piwik.org
4
+ # @link https://matomo.org
5
5
  # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
6
6
  ###############
7
7
 
@@ -56,4 +56,4 @@ Samsung:
56
56
  - regex: 'YP-G50'
57
57
  model: 'Galaxy Player 50'
58
58
  - regex: 'YP-GB70D'
59
- model: 'Galaxy Player 70 Plus'
59
+ model: 'Galaxy Player 70 Plus'
@@ -1,7 +1,7 @@
1
1
  ###############
2
2
  # Device Detector - The Universal Device Detection library for parsing User Agents
3
3
  #
4
- # @link http://piwik.org
4
+ # @link https://matomo.org
5
5
  # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
6
6
  #
7
7
  # ATTENTION: This file may only include tv user agents that contain 'HbbTV/([1-9]{1}(\.[0-9]{1}){1,2})'
@@ -258,14 +258,28 @@ TCL:
258
258
  regex: 'TCL'
259
259
  device: 'tv'
260
260
  models:
261
+ - regex: '(32D1820)'
262
+ model: '$1'
261
263
  - regex: '(LF1V[0-9]{3})'
262
264
  model: '$1'
263
265
 
264
266
  # Thomson
265
267
  Thomson:
266
- regex: 'THOMSON|THOM'
268
+ regex: 'THOMSON[,]?|THOM'
267
269
  device: 'tv'
268
270
  models:
271
+ - regex: '(TB28D19DHS-01|T28D18SFS-01B)'
272
+ model: '$1 28.0"'
273
+ - regex: '(T32RTM5040|T32D18SFS-01B)'
274
+ model: '$1 32.0"'
275
+ - regex: '(T43FSL5031|T43D18SFS-01B)'
276
+ model: '$1 43.0"'
277
+ - regex: '(T40D18SFS-01B)'
278
+ model: '$1 40.0"'
279
+ - regex: '(T49D18SFS-01B)'
280
+ model: '$1 49.0"'
281
+ - regex: '(T55D18[SD]FS-01B)'
282
+ model: '$1 55.0"'
269
283
  - regex: '(LF1V[0-9]{3})'
270
284
  model: '$1'
271
285
 
@@ -293,4 +307,4 @@ Videoweb:
293
307
  - regex: '(tv2n)'
294
308
  model: '$1'
295
309
  - regex: '(videowebtv)'
296
- model: 'VideoWeb TV'
310
+ model: 'VideoWeb TV'
@@ -1,7 +1,7 @@
1
1
  ###############
2
2
  # Device Detector - The Universal Device Detection library for parsing User Agents
3
3
  #
4
- # @link http://piwik.org
4
+ # @link https://matomo.org
5
5
  # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
6
6
  ###############
7
7
 
@@ -31,7 +31,7 @@
31
31
  ##########
32
32
  # Windows Mobile
33
33
  ##########
34
- - regex: 'Windows Phone (?:OS)?[ ]?(\d+[\.\d]+)'
34
+ - regex: '(?:Windows Phone (?:OS)?|wds)[ ]?(\d+[\.\d]+)'
35
35
  name: 'Windows Phone'
36
36
  version: '$1'
37
37
 
@@ -65,6 +65,13 @@
65
65
  name: 'Windows IoT'
66
66
  version: '10'
67
67
 
68
+ ##########
69
+ # KaiOS
70
+ ##########
71
+ - regex: 'KAIOS(?:/(\d+[\.\d]+))?'
72
+ name: 'KaiOS'
73
+ version: '$1'
74
+
68
75
  ##########
69
76
  # Custom Android Roms
70
77
  ##########
@@ -84,18 +91,33 @@
84
91
  name: 'MocorDroid'
85
92
  version: '$1'
86
93
 
94
+ - regex: 'Fire OS(?:/(\d+[\.\d]*))?'
95
+ name: 'Fire OS'
96
+ version: '$1'
97
+
87
98
  ##########
88
99
  # Android
89
100
  ##########
90
- - regex: '(?:(?:Orca-)?Android|Adr)[ /](?:[a-z]+ )?(\d+[\.\d]+)'
101
+ - regex: '[ ]([\d\.]+)\) AppleWebKit.*ROBLOX Android App'
102
+ name: 'Android'
103
+ version: '$1'
104
+
105
+ - regex: '(?:(?:Orca-)?Android|Adr)[ /](?:[a-z]+ )?(\d+[\.\d]*)'
91
106
  name: 'Android'
92
107
  version: '$1'
93
-
94
108
 
95
109
  - regex: 'Android|Silk-Accelerated=[a-z]{4,5}'
96
110
  name: 'Android'
97
111
  version: ''
98
112
 
113
+ - regex: '(?:TwitterAndroid).*[ /](?:[a-z]+ )?(\d+[\.\d]*)'
114
+ name: 'Android'
115
+ version: '$1'
116
+
117
+ - regex: 'FB4A.*FBSV/(\d+[\.\d]*);'
118
+ name: 'Android'
119
+ version: '$1'
120
+
99
121
  - regex: 'BeyondPod|AntennaPod|Podkicker|DoggCatcher|Player FM|okhttp|Podcatcher Deluxe'
100
122
  name: 'Android'
101
123
  version: ''
@@ -132,6 +154,14 @@
132
154
  ##########
133
155
  # Linux
134
156
  ##########
157
+ - regex: '(Ordissimo|webissimo3)'
158
+ name: 'Ordissimo'
159
+ version: ''
160
+
161
+ - regex: 'TOS; Linux'
162
+ name: 'TmaxOS'
163
+ version: ''
164
+
135
165
  - regex: 'Maemo'
136
166
  name: 'Maemo'
137
167
  version: ''
@@ -157,7 +187,7 @@
157
187
  ##########
158
188
  # webOS
159
189
  ##########
160
- - regex: '(?:webOS|Palm webOS)(?:/(\d+[\.\d]+))?'
190
+ - regex: '(?:webOS|web0S|Palm webOS)(?:/(\d+[\.\d]+))?'
161
191
  name: 'webOS'
162
192
  version: '$1'
163
193
 
@@ -182,79 +212,118 @@
182
212
  name: 'Windows'
183
213
  version: '10'
184
214
 
185
- - regex: 'CYGWIN_NT-6.4|Windows NT 6.4|Windows 10'
215
+ - regex: 'CYGWIN_NT-6.4|Windows NT 6.4|Windows 10|win10'
186
216
  name: 'Windows'
187
217
  version: '10'
188
-
218
+
189
219
  - regex: 'CYGWIN_NT-6.3|Windows NT 6.3|Windows 8.1'
190
220
  name: 'Windows'
191
221
  version: '8.1'
192
222
 
193
-
194
223
  - regex: 'CYGWIN_NT-6.2|Windows NT 6.2|Windows 8'
195
224
  name: 'Windows'
196
225
  version: '8'
197
-
198
-
199
- - regex: 'CYGWIN_NT-6.1|Windows NT 6.1|Windows 7'
226
+
227
+ - regex: 'CYGWIN_NT-6.1|Windows NT 6.1|Windows 7|win7'
200
228
  name: 'Windows'
201
229
  version: '7'
202
-
203
-
230
+
204
231
  - regex: 'CYGWIN_NT-6.0|Windows NT 6.0|Windows Vista'
205
232
  name: 'Windows'
206
233
  version: 'Vista'
207
-
208
-
234
+
209
235
  - regex: 'CYGWIN_NT-5.2|Windows NT 5.2|Windows Server 2003 / XP x64'
210
236
  name: 'Windows'
211
237
  version: 'Server 2003'
212
-
213
-
238
+
214
239
  - regex: 'CYGWIN_NT-5.1|Windows NT 5.1|Windows XP'
215
240
  name: 'Windows'
216
241
  version: 'XP'
217
-
218
-
242
+
219
243
  - regex: 'CYGWIN_NT-5.0|Windows NT 5.0|Windows 2000'
220
244
  name: 'Windows'
221
245
  version: '2000'
222
-
223
-
246
+
224
247
  - regex: 'CYGWIN_NT-4.0|Windows NT 4.0|WinNT|Windows NT'
225
248
  name: 'Windows'
226
249
  version: 'NT'
227
-
228
-
250
+
229
251
  - regex: 'CYGWIN_ME-4.90|Win 9x 4.90|Windows ME'
230
252
  name: 'Windows'
231
253
  version: 'ME'
232
-
233
-
254
+
234
255
  - regex: 'CYGWIN_98-4.10|Win98|Windows 98'
235
256
  name: 'Windows'
236
257
  version: '98'
237
-
238
-
258
+
239
259
  - regex: 'CYGWIN_95-4.0|Win32|Win95|Windows 95|Windows_95'
240
260
  name: 'Windows'
241
261
  version: '95'
242
-
243
-
262
+
244
263
  - regex: 'Windows 3.1'
245
264
  name: 'Windows'
246
265
  version: '3.1'
247
-
248
-
266
+
267
+ - regex: 'FBW.*FBSV/(\d+[\.\d]*);'
268
+ name: 'Windows'
269
+ version: '$1'
270
+
249
271
  - regex: 'Windows'
250
272
  name: 'Windows'
251
273
  version: ''
252
-
253
-
274
+
275
+
276
+ ##########
277
+ # Haiku OS
278
+ ##########
279
+ - regex: 'Haiku'
280
+ name: 'Haiku OS'
281
+ version: ''
282
+
254
283
 
255
284
  ##########
256
285
  # iOS
257
286
  ##########
287
+ - regex: 'CFNetwork/889'
288
+ name: 'iOS'
289
+ version: '11.1'
290
+
291
+ - regex: 'CFNetwork/887.*(x86_64)'
292
+ name: 'Mac'
293
+ version: '10.13'
294
+
295
+ - regex: 'CFNetwork/887'
296
+ name: 'iOS'
297
+ version: '11.0'
298
+
299
+ - regex: 'CFNetwork/811.*(x86_64)'
300
+ name: 'Mac'
301
+ version: '10.12'
302
+
303
+ - regex: 'CFNetwork/811'
304
+ name: 'iOS'
305
+ version: '10.3'
306
+
307
+ - regex: 'CFNetwork/808\.3'
308
+ name: 'iOS'
309
+ version: '10.3'
310
+
311
+ - regex: 'CFNetwork/808\.2'
312
+ name: 'iOS'
313
+ version: '10.2'
314
+
315
+ - regex: 'CFNetwork/808\.1'
316
+ name: 'iOS'
317
+ version: '10.1'
318
+
319
+ - regex: 'CFNetwork/808\.0'
320
+ name: 'iOS'
321
+ version: '10.0'
322
+
323
+ - regex: 'CFNetwork/808'
324
+ name: 'iOS'
325
+ version: '10'
326
+
258
327
  - regex: 'CFNetwork/758\.4\.3'
259
328
  name: 'iOS'
260
329
  version: '9.3.2'
@@ -351,11 +420,15 @@
351
420
  name: 'iOS'
352
421
  version: '$1'
353
422
 
423
+ - regex: 'FBIOS.*FBSV/(\d+[\.\d]*);'
424
+ name: 'iOS'
425
+ version: '$1'
426
+
354
427
  - regex: '(?:Apple-)?(?:iPhone|iPad|iPod)(?:.*Mac OS X.*Version/(\d+\.\d+)|; Opera)?'
355
428
  name: 'iOS'
356
429
  version: '$1'
357
430
 
358
- - regex: 'Podcasts/(?:[\d\.]+)|Instacast(?:HD)?/(?:\d\.[\d\.abc]+)|Pocket Casts, iOS|Overcast|Castro|Podcat|i[cC]atcher'
431
+ - regex: 'Podcasts/(?:[\d\.]+)|Instacast(?:HD)?/(?:\d\.[\d\.abc]+)|Pocket Casts, iOS|Overcast|Castro|Podcat|i[cC]atcher|RSSRadio/'
359
432
  name: 'iOS'
360
433
  version: ''
361
434
 
@@ -368,6 +441,10 @@
368
441
  # Mac
369
442
  ##########
370
443
 
444
+ - regex: 'CFNetwork/807'
445
+ name: 'Mac'
446
+ version: '10.12'
447
+
371
448
  - regex: 'CFNetwork/760'
372
449
  name: 'Mac'
373
450
  version: '10.11'
@@ -408,7 +485,7 @@
408
485
  name: 'Mac'
409
486
  version: '10.2'
410
487
 
411
- - regex: 'Mac OS X(?: (?:Version )?(\d+(?:[_\.]\d+)+))?'
488
+ - regex: 'Mac[ +]OS[ +]X(?:[ /](?:Version )?(\d+(?:[_\.]\d+)+))?'
412
489
  name: 'Mac'
413
490
  version: '$1'
414
491
 
@@ -458,14 +535,6 @@
458
535
  version: ''
459
536
 
460
537
 
461
- ##########
462
- # Haiku OS
463
- ##########
464
- - regex: 'Haiku'
465
- name: 'Haiku OS'
466
- version: ''
467
-
468
-
469
538
  ##########
470
539
  # BeOS
471
540
  ##########
@@ -666,11 +735,10 @@
666
735
  ##########
667
736
  # Gaming Console
668
737
  ##########
669
- - regex: 'Nintendo Wii'
738
+ - regex: 'Nintendo (Wii|Switch)'
670
739
  name: 'Nintendo'
671
- version: 'Wii'
672
-
673
-
740
+ version: '$1'
741
+
674
742
  - regex: 'PlayStation ?([3|4])'
675
743
  name: 'PlayStation'
676
744
  version: '$1'