user_agent_parser 1.0.1 → 1.0.2
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.
- data/vendor/ua-parser/regexes.yaml +119 -59
- metadata +2 -5
|
@@ -14,7 +14,7 @@ user_agent_parsers:
|
|
|
14
14
|
- regex: '(Fennec)/(\d+)\.(\d+)\.?([ab]?\d+[a-z]*)'
|
|
15
15
|
family_replacement: 'Firefox Mobile'
|
|
16
16
|
- regex: '(Fennec)/(\d+)\.(\d+)(pre)'
|
|
17
|
-
|
|
17
|
+
family_replacement: 'Firefox Mobile'
|
|
18
18
|
- regex: '(Fennec)/(\d+)\.(\d+)'
|
|
19
19
|
family_replacement: 'Firefox Mobile'
|
|
20
20
|
- regex: 'Mobile.*(Firefox)/(\d+)\.(\d+)'
|
|
@@ -88,6 +88,8 @@ user_agent_parsers:
|
|
|
88
88
|
family_replacement: 'Swiftfox'
|
|
89
89
|
|
|
90
90
|
# Rekonq
|
|
91
|
+
- regex: '(rekonq)/(\d+)\.(\d+) Safari'
|
|
92
|
+
family_replacement: 'Rekonq'
|
|
91
93
|
- regex: 'rekonq'
|
|
92
94
|
family_replacement: 'Rekonq'
|
|
93
95
|
|
|
@@ -105,19 +107,21 @@ user_agent_parsers:
|
|
|
105
107
|
- regex: '(Comodo_Dragon)/(\d+)\.(\d+)\.(\d+)'
|
|
106
108
|
family_replacement: 'Comodo Dragon'
|
|
107
109
|
|
|
108
|
-
#
|
|
109
|
-
- regex: '(YottaaMonitor)'
|
|
110
|
+
# Bots
|
|
111
|
+
- regex: '(YottaaMonitor|BrowserMob|HttpMonitor|YandexBot|Slurp|BingPreview|PagePeeker|ThumbShotsBot|WebThumb|URL2PNG|ZooShot|GomezA|Catchpoint bot|Willow Internet Crawler|Google SketchUp|Read%20Later)'
|
|
110
112
|
|
|
111
113
|
# must go before NetFront below
|
|
112
114
|
- regex: '(Kindle)/(\d+)\.(\d+)'
|
|
113
115
|
|
|
114
116
|
- regex: '(Symphony) (\d+).(\d+)'
|
|
115
117
|
|
|
116
|
-
- regex: 'Minimo'
|
|
118
|
+
- regex: '(Minimo)'
|
|
117
119
|
|
|
118
120
|
# Chrome Mobile
|
|
119
121
|
- regex: '(CrMo)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
|
120
122
|
family_replacement: 'Chrome Mobile'
|
|
123
|
+
- regex: '(CriOS)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
|
124
|
+
family_replacement: 'Chrome Mobile iOS'
|
|
121
125
|
- regex: '(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+) Mobile'
|
|
122
126
|
family_replacement: 'Chrome Mobile'
|
|
123
127
|
|
|
@@ -138,16 +142,35 @@ user_agent_parsers:
|
|
|
138
142
|
# Sogou Explorer 2.X
|
|
139
143
|
- regex: '(SE 2\.X) MetaSr (\d+)\.(\d+)'
|
|
140
144
|
family_replacement: 'Sogou Explorer'
|
|
145
|
+
|
|
146
|
+
# Baidu Browser
|
|
147
|
+
- regex: '(FlyFlow)/(\d+)\.(\d+)'
|
|
148
|
+
family_replacement: 'Baidu Explorer'
|
|
149
|
+
|
|
150
|
+
# Pingdom
|
|
151
|
+
- regex: '(Pingdom.com_bot_version_)(\d+)\.(\d+)'
|
|
152
|
+
family_replacement: 'PingdomBot'
|
|
153
|
+
|
|
154
|
+
# Facebook
|
|
155
|
+
- regex: '(facebookexternalhit)/(\d+)\.(\d+)'
|
|
156
|
+
family_replacement: 'FacebookBot'
|
|
157
|
+
|
|
158
|
+
# Twitterbot
|
|
159
|
+
- regex: '(Twitterbot)/(\d+)\.(\d+)'
|
|
160
|
+
family_replacement: 'TwitterBot'
|
|
161
|
+
|
|
162
|
+
# PyAMF
|
|
163
|
+
- regex: '(PyAMF)/(\d+)\.(\d+)\.(\d+)'
|
|
141
164
|
|
|
142
165
|
#### END SPECIAL CASES TOP ####
|
|
143
166
|
|
|
144
167
|
#### MAIN CASES - this catches > 50% of all browsers ####
|
|
145
168
|
|
|
146
169
|
# Browser/major_version.minor_version.beta_version
|
|
147
|
-
- regex: '(AdobeAIR|Chromium|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Shiira|Sunrise|Chrome|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|
|
|
170
|
+
- regex: '(AdobeAIR|Chromium|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Shiira|Sunrise|Chrome|Flock|Netscape|Lunascape|WebPilot|Vodafone|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\.Browser|Bunjaloo|Google Earth|Raven for Mac)/(\d+)\.(\d+)\.(\d+)'
|
|
148
171
|
|
|
149
172
|
# Browser/major_version.minor_version
|
|
150
|
-
- regex: '(Bolt|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|NetNewsWire|
|
|
173
|
+
- regex: '(Bolt|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|Vodafone|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser)/(\d+)\.(\d+)'
|
|
151
174
|
|
|
152
175
|
# Browser major_version.minor_version.beta_version (space instead of slash)
|
|
153
176
|
- regex: '(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\d+)\.(\d+)\.(\d+)'
|
|
@@ -217,19 +240,17 @@ user_agent_parsers:
|
|
|
217
240
|
family_replacement: 'Mobile Safari'
|
|
218
241
|
- regex: '(iPod).*Version/(\d+)\.(\d+)'
|
|
219
242
|
family_replacement: 'Mobile Safari'
|
|
220
|
-
- regex: '(iPod)'
|
|
221
|
-
family_replacement: 'Mobile Safari'
|
|
222
243
|
- regex: '(iPhone).*Version/(\d+)\.(\d+)\.(\d+)'
|
|
223
244
|
family_replacement: 'Mobile Safari'
|
|
224
245
|
- regex: '(iPhone).*Version/(\d+)\.(\d+)'
|
|
225
246
|
family_replacement: 'Mobile Safari'
|
|
226
|
-
- regex: '(iPhone)'
|
|
227
|
-
family_replacement: 'Mobile Safari'
|
|
228
247
|
- regex: '(iPad).*Version/(\d+)\.(\d+)\.(\d+)'
|
|
229
248
|
family_replacement: 'Mobile Safari'
|
|
230
249
|
- regex: '(iPad).*Version/(\d+)\.(\d+)'
|
|
231
250
|
family_replacement: 'Mobile Safari'
|
|
232
|
-
- regex: '(iPad)'
|
|
251
|
+
- regex: '(iPod|iPhone|iPad);.*CPU.*OS (\d+)(?:_\d+)?_(\d+).*Mobile'
|
|
252
|
+
family_replacement: 'Mobile Safari'
|
|
253
|
+
- regex: '(iPod|iPhone|iPad)'
|
|
233
254
|
family_replacement: 'Mobile Safari'
|
|
234
255
|
|
|
235
256
|
- regex: '(AvantGo) (\d+).(\d+)'
|
|
@@ -283,7 +304,7 @@ user_agent_parsers:
|
|
|
283
304
|
- regex: '(Silk)/(\d+)\.(\d+)(?:\.([0-9\-]+))?'
|
|
284
305
|
|
|
285
306
|
# WebKit Nightly
|
|
286
|
-
- regex: '(AppleWebKit)/(\d+)\.?(\d+)?\+ .*
|
|
307
|
+
- regex: '(AppleWebKit)/(\d+)\.?(\d+)?\+ .* Safari'
|
|
287
308
|
family_replacement: 'WebKit Nightly'
|
|
288
309
|
|
|
289
310
|
# Safari
|
|
@@ -305,6 +326,8 @@ user_agent_parsers:
|
|
|
305
326
|
- regex: '(MSIE) (\d+)\.(\d+)'
|
|
306
327
|
family_replacement: 'IE'
|
|
307
328
|
|
|
329
|
+
- regex: '(Nintendo 3DS).* Version/(\d+)\.(\d+)(?:\.(\w+))'
|
|
330
|
+
|
|
308
331
|
os_parsers:
|
|
309
332
|
|
|
310
333
|
##########
|
|
@@ -411,6 +434,11 @@ os_parsers:
|
|
|
411
434
|
- regex: '(iPhone|iPad|iPod).*Mac OS X.*Version/(\d+)\.(\d+)'
|
|
412
435
|
os_replacement: 'iOS'
|
|
413
436
|
|
|
437
|
+
- regex: '(AppleTV)/(\d+)\.(\d+)'
|
|
438
|
+
os_replacement: 'ATV OS X'
|
|
439
|
+
os_v1_replacement: '$1'
|
|
440
|
+
os_v2_replacement: '$2'
|
|
441
|
+
|
|
414
442
|
##########
|
|
415
443
|
# Chrome OS
|
|
416
444
|
# if version 0.0.0, probably this stuff:
|
|
@@ -459,6 +487,13 @@ os_parsers:
|
|
|
459
487
|
- regex: '(Black[Bb]erry)'
|
|
460
488
|
os_replacement: 'Blackberry OS'
|
|
461
489
|
|
|
490
|
+
##########
|
|
491
|
+
# Google TV
|
|
492
|
+
##########
|
|
493
|
+
- regex: '(GoogleTV) (\d+)\.(\d+)\.(\d+)'
|
|
494
|
+
# Old style
|
|
495
|
+
- regex: '(GoogleTV)\/\d+'
|
|
496
|
+
|
|
462
497
|
##########
|
|
463
498
|
# Misc mobile
|
|
464
499
|
##########
|
|
@@ -477,6 +512,7 @@ os_parsers:
|
|
|
477
512
|
|
|
478
513
|
# first.second bits
|
|
479
514
|
- regex: '(Ubuntu|Kindle|Bada|Lubuntu|BackTrack|Red Hat|Slackware)/(\d+)\.(\d+)'
|
|
515
|
+
- regex: '(PlayStation Vita) (\d+)\.(\d+)'
|
|
480
516
|
|
|
481
517
|
# just os
|
|
482
518
|
- regex: '(Windows|OpenBSD|FreeBSD|NetBSD|Ubuntu|Kubuntu|Android|Arch Linux|CentOS|WeTab|Slackware)'
|
|
@@ -510,30 +546,34 @@ device_parsers:
|
|
|
510
546
|
- regex: 'Sprint APA(9292)'
|
|
511
547
|
device_replacement: 'HTC $1 (Sprint)'
|
|
512
548
|
- regex: 'HTC ([A-Za-z0-9]+ [A-Z])'
|
|
513
|
-
device_replacement: HTC $1
|
|
549
|
+
device_replacement: 'HTC $1'
|
|
514
550
|
- regex: 'HTC-([A-Za-z0-9]+)'
|
|
515
551
|
device_replacement: 'HTC $1'
|
|
516
552
|
- regex: 'HTC_([A-Za-z0-9]+)'
|
|
517
553
|
device_replacement: 'HTC $1'
|
|
518
554
|
- regex: 'HTC ([A-Za-z0-9]+)'
|
|
519
555
|
device_replacement: 'HTC $1'
|
|
520
|
-
- regex: '(ADR[A-z0-9]+)'
|
|
556
|
+
- regex: '(ADR[A-Za-z0-9]+)'
|
|
521
557
|
device_replacement: 'HTC $1'
|
|
522
558
|
- regex: '(HTC)'
|
|
523
559
|
|
|
560
|
+
# Samsung
|
|
561
|
+
- regex: '(SamsungSGHi560)'
|
|
562
|
+
device_replacement: 'Samsung SGHi560'
|
|
563
|
+
|
|
524
564
|
#########
|
|
525
565
|
# Ericsson - must come before nokia since they also use symbian
|
|
526
566
|
#########
|
|
527
|
-
- regex: 'SonyEricsson([A-z0-9]+)/'
|
|
567
|
+
- regex: 'SonyEricsson([A-Za-z0-9]+)/'
|
|
528
568
|
device_replacement: 'Ericsson $1'
|
|
529
569
|
|
|
530
570
|
#########
|
|
531
571
|
# Android General Device Matching (far from perfect)
|
|
532
572
|
#########
|
|
533
|
-
- regex: 'Android[\- ][\d]+\.[\d]+\; [A-z]{2}\-[A-z]{2}\; WOWMobile (.+) Build'
|
|
534
|
-
- regex: 'Android[\- ][\d]+\.[\d]+\.[\d]+; [A-z]{2}\-[A-z]{2}\; (.+) Build'
|
|
535
|
-
- regex: 'Android[\- ][\d]+\.[\d]+\-update1\; [A-z]{2}\-[A-z]{2}\; (.+) Build'
|
|
536
|
-
- regex: 'Android[\- ][\d]+\.[\d]+\; [A-z]{2}\-[A-z]{2}\; (.+) Build'
|
|
573
|
+
- regex: 'Android[\- ][\d]+\.[\d]+\; [A-Za-z]{2}\-[A-Za-z]{2}\; WOWMobile (.+) Build'
|
|
574
|
+
- regex: 'Android[\- ][\d]+\.[\d]+\.[\d]+; [A-Za-z]{2}\-[A-Za-z]{2}\; (.+) Build'
|
|
575
|
+
- regex: 'Android[\- ][\d]+\.[\d]+\-update1\; [A-Za-z]{2}\-[A-Za-z]{2}\; (.+) Build'
|
|
576
|
+
- regex: 'Android[\- ][\d]+\.[\d]+\; [A-Za-z]{2}\-[A-Za-z]{2}\; (.+) Build'
|
|
537
577
|
- regex: 'Android[\- ][\d]+\.[\d]+\.[\d]+; (.+) Build'
|
|
538
578
|
|
|
539
579
|
##########
|
|
@@ -573,15 +613,21 @@ device_parsers:
|
|
|
573
613
|
device_replacement: 'Palm Pixi'
|
|
574
614
|
- regex: '(Touchpad)/(\d+)\.(\d+)'
|
|
575
615
|
device_replacement: 'HP Touchpad'
|
|
576
|
-
- regex: 'HPiPAQ([A-z0-9]+)/(\d+).(\d+)'
|
|
616
|
+
- regex: 'HPiPAQ([A-Za-z0-9]+)/(\d+).(\d+)'
|
|
577
617
|
device_replacement: 'HP iPAQ $1'
|
|
578
|
-
- regex: 'Palm([A-z0-9]+)'
|
|
618
|
+
- regex: 'Palm([A-Za-z0-9]+)'
|
|
579
619
|
device_replacement: 'Palm $1'
|
|
580
|
-
- regex: 'Treo([A-z0-9]+)'
|
|
620
|
+
- regex: 'Treo([A-Za-z0-9]+)'
|
|
581
621
|
device_replacement: 'Palm Treo $1'
|
|
582
622
|
- regex: 'webOS.*(P160UNA)/(\d+).(\d+)'
|
|
583
623
|
device_replacement: 'HP Veer'
|
|
584
624
|
|
|
625
|
+
##########
|
|
626
|
+
# PlayStation
|
|
627
|
+
##########
|
|
628
|
+
- regex: '(PlayStation Portable)'
|
|
629
|
+
- regex: '(PlayStation Vita)'
|
|
630
|
+
|
|
585
631
|
##########
|
|
586
632
|
# incomplete!
|
|
587
633
|
# Kindle
|
|
@@ -591,6 +637,14 @@ device_parsers:
|
|
|
591
637
|
- regex: '(Silk)/(\d+)\.(\d+)(?:\.([0-9\-]+))?'
|
|
592
638
|
device_replacement: 'Kindle Fire'
|
|
593
639
|
|
|
640
|
+
##########
|
|
641
|
+
# AppleTV
|
|
642
|
+
# No built in browser that I can tell
|
|
643
|
+
# Stack Overflow indicated iTunes-AppleTV/4.1 as a known UA for app available and I'm seeing it in live traffic
|
|
644
|
+
##########
|
|
645
|
+
- regex: '(AppleTV)'
|
|
646
|
+
device_replacement: 'AppleTV'
|
|
647
|
+
|
|
594
648
|
##########
|
|
595
649
|
# complete but probably catches spoofs
|
|
596
650
|
# iSTUFF
|
|
@@ -606,101 +660,101 @@ device_parsers:
|
|
|
606
660
|
##########
|
|
607
661
|
# Acer
|
|
608
662
|
##########
|
|
609
|
-
- regex: 'acer_([A-z0-9]+)_'
|
|
663
|
+
- regex: 'acer_([A-Za-z0-9]+)_'
|
|
610
664
|
device_replacement: 'Acer $1'
|
|
611
|
-
- regex: 'acer_([A-z0-9]+)_'
|
|
665
|
+
- regex: 'acer_([A-Za-z0-9]+)_'
|
|
612
666
|
device_replacement: 'Acer $1'
|
|
613
667
|
|
|
614
668
|
##########
|
|
615
669
|
# Amoi
|
|
616
670
|
##########
|
|
617
|
-
- regex: 'Amoi\-([A-z0-9]+)'
|
|
671
|
+
- regex: 'Amoi\-([A-Za-z0-9]+)'
|
|
618
672
|
device_replacement: 'Amoi $1'
|
|
619
|
-
- regex: 'AMOI\-([A-z0-9]+)'
|
|
673
|
+
- regex: 'AMOI\-([A-Za-z0-9]+)'
|
|
620
674
|
device_replacement: 'Amoi $1'
|
|
621
675
|
|
|
622
676
|
##########
|
|
623
677
|
# Amoi
|
|
624
678
|
##########
|
|
625
|
-
- regex: 'Asus\-([A-z0-9]+)'
|
|
679
|
+
- regex: 'Asus\-([A-Za-z0-9]+)'
|
|
626
680
|
device_replacement: 'Asus $1'
|
|
627
|
-
- regex: 'ASUS\-([A-z0-9]+)'
|
|
681
|
+
- regex: 'ASUS\-([A-Za-z0-9]+)'
|
|
628
682
|
device_replacement: 'Asus $1'
|
|
629
683
|
|
|
630
684
|
##########
|
|
631
685
|
# Bird
|
|
632
686
|
##########
|
|
633
|
-
- regex: 'BIRD\-([A-z0-9]+)'
|
|
687
|
+
- regex: 'BIRD\-([A-Za-z0-9]+)'
|
|
634
688
|
device_replacement: 'Bird $1'
|
|
635
|
-
- regex: 'BIRD\.([A-z0-9]+)'
|
|
689
|
+
- regex: 'BIRD\.([A-Za-z0-9]+)'
|
|
636
690
|
device_replacement: 'Bird $1'
|
|
637
|
-
- regex: 'BIRD ([A-z0-9]+)'
|
|
691
|
+
- regex: 'BIRD ([A-Za-z0-9]+)'
|
|
638
692
|
device_replacement: 'Bird $1'
|
|
639
693
|
|
|
640
694
|
##########
|
|
641
695
|
# Dell
|
|
642
696
|
##########
|
|
643
|
-
- regex: 'Dell ([A-z0-9]+)'
|
|
697
|
+
- regex: 'Dell ([A-Za-z0-9]+)'
|
|
644
698
|
device_replacement: 'Dell $1'
|
|
645
699
|
|
|
646
700
|
##########
|
|
647
701
|
# DoCoMo
|
|
648
702
|
##########
|
|
649
|
-
- regex: 'DoCoMo/2\.0 ([A-z0-9]+)'
|
|
703
|
+
- regex: 'DoCoMo/2\.0 ([A-Za-z0-9]+)'
|
|
650
704
|
device_replacement: 'DoCoMo $1'
|
|
651
|
-
- regex: '([A-z0-9]+)\_W\;FOMA'
|
|
705
|
+
- regex: '([A-Za-z0-9]+)\_W\;FOMA'
|
|
652
706
|
device_replacement: 'DoCoMo $1'
|
|
653
|
-
- regex: '([A-z0-9]+)\;FOMA'
|
|
707
|
+
- regex: '([A-Za-z0-9]+)\;FOMA'
|
|
654
708
|
device_replacement: 'DoCoMo $1'
|
|
655
709
|
|
|
656
710
|
##########
|
|
657
711
|
# Huawei Vodafone
|
|
658
712
|
##########
|
|
659
|
-
- regex: 'vodafone([A-z0-9]+)'
|
|
713
|
+
- regex: 'vodafone([A-Za-z0-9]+)'
|
|
660
714
|
device_replacement: 'Huawei Vodafone $1'
|
|
661
715
|
|
|
662
716
|
##########
|
|
663
717
|
# i-mate
|
|
664
718
|
##########
|
|
665
|
-
- regex: 'i\-mate ([A-z0-9]+)'
|
|
719
|
+
- regex: 'i\-mate ([A-Za-z0-9]+)'
|
|
666
720
|
device_replacement: 'i-mate $1'
|
|
667
721
|
|
|
668
722
|
##########
|
|
669
723
|
# kyocera
|
|
670
724
|
##########
|
|
671
|
-
- regex: 'Kyocera\-([A-z0-9]+)'
|
|
725
|
+
- regex: 'Kyocera\-([A-Za-z0-9]+)'
|
|
672
726
|
device_replacement: 'Kyocera $1'
|
|
673
|
-
- regex: 'KWC\-([A-z0-9]+)'
|
|
727
|
+
- regex: 'KWC\-([A-Za-z0-9]+)'
|
|
674
728
|
device_replacement: 'Kyocera $1'
|
|
675
729
|
|
|
676
730
|
##########
|
|
677
731
|
# lenovo
|
|
678
732
|
##########
|
|
679
|
-
- regex: 'Lenovo\-([A-z0-9]+)'
|
|
733
|
+
- regex: 'Lenovo\-([A-Za-z0-9]+)'
|
|
680
734
|
device_replacement: 'Lenovo $1'
|
|
681
|
-
- regex: 'Lenovo\_([A-z0-9]+)'
|
|
735
|
+
- regex: 'Lenovo\_([A-Za-z0-9]+)'
|
|
682
736
|
device_replacement: 'Lenovo $1'
|
|
683
737
|
|
|
684
738
|
##########
|
|
685
739
|
# lg
|
|
686
740
|
##########
|
|
687
|
-
- regex: 'LG/([A-z0-9]+)'
|
|
741
|
+
- regex: 'LG/([A-Za-z0-9]+)'
|
|
688
742
|
device_replacement: 'LG $1'
|
|
689
|
-
- regex: 'LG-LG([A-z0-9]+)'
|
|
743
|
+
- regex: 'LG-LG([A-Za-z0-9]+)'
|
|
690
744
|
device_replacement: 'LG $1'
|
|
691
|
-
- regex: 'LGE-LG([A-z0-9]+)'
|
|
745
|
+
- regex: 'LGE-LG([A-Za-z0-9]+)'
|
|
692
746
|
device_replacement: 'LG $1'
|
|
693
|
-
- regex: 'LGE VX([A-z0-9]+)'
|
|
747
|
+
- regex: 'LGE VX([A-Za-z0-9]+)'
|
|
694
748
|
device_replacement: 'LG $1'
|
|
695
|
-
- regex: 'LG ([A-z0-9]+)'
|
|
749
|
+
- regex: 'LG ([A-Za-z0-9]+)'
|
|
696
750
|
device_replacement: 'LG $1'
|
|
697
|
-
- regex: 'LGE LG\-AX([A-z0-9]+)'
|
|
751
|
+
- regex: 'LGE LG\-AX([A-Za-z0-9]+)'
|
|
698
752
|
device_replacement: 'LG $1'
|
|
699
|
-
- regex: 'LG\-([A-z0-9]+)'
|
|
753
|
+
- regex: 'LG\-([A-Za-z0-9]+)'
|
|
700
754
|
device_replacement: 'LG $1'
|
|
701
|
-
- regex: 'LGE\-([A-z0-9]+)'
|
|
755
|
+
- regex: 'LGE\-([A-Za-z0-9]+)'
|
|
702
756
|
device_replacement: 'LG $1'
|
|
703
|
-
- regex: 'LG([A-z0-9]+)'
|
|
757
|
+
- regex: 'LG([A-Za-z0-9]+)'
|
|
704
758
|
device_replacement: 'LG $1'
|
|
705
759
|
|
|
706
760
|
##########
|
|
@@ -714,36 +768,42 @@ device_parsers:
|
|
|
714
768
|
##########
|
|
715
769
|
# motorola
|
|
716
770
|
##########
|
|
717
|
-
- regex: '(Motorola)\-([A-z0-9]+)'
|
|
718
|
-
- regex: 'MOTO\-([A-z0-9]+)'
|
|
771
|
+
- regex: '(Motorola)\-([A-Za-z0-9]+)'
|
|
772
|
+
- regex: 'MOTO\-([A-Za-z0-9]+)'
|
|
719
773
|
device_replacement: 'Motorola $1'
|
|
720
|
-
- regex: 'MOT\-([A-z0-9]+)'
|
|
774
|
+
- regex: 'MOT\-([A-Za-z0-9]+)'
|
|
721
775
|
device_replacement: 'Motorola $1'
|
|
722
776
|
|
|
723
777
|
##########
|
|
724
778
|
# philips
|
|
725
779
|
##########
|
|
726
|
-
- regex: 'Philips([A-z0-9]+)'
|
|
780
|
+
- regex: 'Philips([A-Za-z0-9]+)'
|
|
727
781
|
device_replacement: 'Philips $1'
|
|
728
|
-
- regex: 'Philips ([A-z0-9]+)'
|
|
782
|
+
- regex: 'Philips ([A-Za-z0-9]+)'
|
|
729
783
|
device_replacement: 'Philips $1'
|
|
730
784
|
|
|
731
785
|
##########
|
|
732
786
|
# Samsung
|
|
733
787
|
##########
|
|
734
|
-
- regex: 'SAMSUNG-([A-z0-9\-]+)'
|
|
788
|
+
- regex: 'SAMSUNG-([A-Za-z0-9\-]+)'
|
|
735
789
|
device_replacement: 'Samsung $1'
|
|
736
|
-
- regex: 'SAMSUNG\; ([A-z0-9\-]+)'
|
|
790
|
+
- regex: 'SAMSUNG\; ([A-Za-z0-9\-]+)'
|
|
737
791
|
device_replacement: 'Samsung $1'
|
|
738
792
|
|
|
739
793
|
##########
|
|
740
794
|
# Softbank
|
|
741
795
|
##########
|
|
742
|
-
- regex: 'Softbank/1\.0/([A-z0-9]+)'
|
|
796
|
+
- regex: 'Softbank/1\.0/([A-Za-z0-9]+)'
|
|
743
797
|
device_replacement: 'Softbank $1'
|
|
744
|
-
- regex: 'Softbank/2\.0/([A-z0-9]+)'
|
|
798
|
+
- regex: 'Softbank/2\.0/([A-Za-z0-9]+)'
|
|
745
799
|
device_replacement: 'Softbank $1'
|
|
746
800
|
|
|
801
|
+
##########
|
|
802
|
+
# Sony
|
|
803
|
+
##########
|
|
804
|
+
- regex: '(PlayStation3 PPC)'
|
|
805
|
+
device_replacement: 'Playstation 3'
|
|
806
|
+
|
|
747
807
|
##########
|
|
748
808
|
# Generic Smart Phone
|
|
749
809
|
##########
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: user_agent_parser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.2
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-
|
|
12
|
+
date: 2012-11-10 00:00:00.000000000 Z
|
|
13
13
|
dependencies: []
|
|
14
14
|
description: A simple, comprehensive Ruby gem for parsing user agent strings with
|
|
15
15
|
the help of BrowserScope's UA database
|
|
@@ -45,9 +45,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
45
45
|
- - ! '>='
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
47
|
version: '0'
|
|
48
|
-
segments:
|
|
49
|
-
- 0
|
|
50
|
-
hash: -2942024885060108428
|
|
51
48
|
requirements: []
|
|
52
49
|
rubyforge_project:
|
|
53
50
|
rubygems_version: 1.8.23
|