From 1faee6813d2c69a7ca7f1ecfa2b759e5d2d6fe2f Mon Sep 17 00:00:00 2001 From: ivan deng Date: Wed, 28 Dec 2022 18:30:25 +0800 Subject: [PATCH] update paid --- app_base_chinese/__init__.py | 8 + app_base_chinese/__manifest__.py | 99 + app_base_chinese/controllers/__init__.py | 1 + app_base_chinese/data/base_data.xml | 19 + app_base_chinese/data/crm_team_data.xml | 8 + .../data/decimal_precision_data.xml | 14 + app_base_chinese/data/ir_default_data.xml | 36 + app_base_chinese/data/product_data.xml | 14 + .../data/product_pricelist_data.xml | 9 + app_base_chinese/data/res_country_data.xml | 9 + app_base_chinese/data/res_currency_data.xml | 18 + app_base_chinese/data/res_lang_data.xml | 10 + app_base_chinese/data/sales_team_data.xml | 8 + app_base_chinese/data/stock.location.csv | 7 + app_base_chinese/data/stock_location_data.xml | 31 + app_base_chinese/demo/base_demo.xml | 90 + app_base_chinese/demo/product_demo.xml | 738 ++ app_base_chinese/demo/product_image_demo.xml | 110 + app_base_chinese/demo/res_bank_demo.xml | 21 + app_base_chinese/demo/res_partner_demo.xml | 251 + .../demo/res_partner_image_demo.xml | 98 + app_base_chinese/hooks.py | 55 + app_base_chinese/i18n/zh_CN.po | 130 + app_base_chinese/ir/__init__.py | 1 + app_base_chinese/models/__init__.py | 10 + app_base_chinese/models/account_tax_group.py | 9 + app_base_chinese/models/product_category.py | 14 + app_base_chinese/models/res_company.py | 17 + app_base_chinese/models/res_country.py | 11 + app_base_chinese/models/res_currency.py | 53 + app_base_chinese/models/res_partner.py | 33 + app_base_chinese/models/stock_location.py | 12 + app_base_chinese/report/__init__.py | 2 + app_base_chinese/res/__init__.py | 1 + .../static/description/banner.jpg | Bin 0 -> 49021 bytes .../static/description/cnreadme.jpg | Bin 0 -> 16992 bytes app_base_chinese/static/description/demo1.jpg | Bin 0 -> 48990 bytes app_base_chinese/static/description/demo2.jpg | Bin 0 -> 33685 bytes app_base_chinese/static/description/demo3.jpg | Bin 0 -> 55382 bytes app_base_chinese/static/description/icon.png | Bin 0 -> 165923 bytes .../static/description/index.html | 96 + .../static/src/scss/app_style.scss | 26 + app_base_chinese/static/src/xml/views.xml | 12 + app_base_chinese/views/account_move_views.xml | 19 + app_base_chinese/views/ir_default_views.xml | 27 + app_base_chinese/views/res_company_views.xml | 26 + app_base_chinese/views/res_currency_views.xml | 27 + app_base_chinese/views/res_partner_views.xml | 171 + app_base_chinese/views/sale_order_views.xml | 24 + app_base_chinese/views/templates.xml | 8 + .../sale_make_invoice_advance_views.xml | 21 + app_common/__init__.py | 7 + app_common/__manifest__.py | 84 + app_common/controllers/__init__.py | 3 + app_common/controllers/main.py | 95 + app_common/hooks.py | 32 + app_common/i18n/zh_CN.po | 29 + app_common/lib/ua_parser/__init__.py | 1 + app_common/lib/ua_parser/_regexes.py | 7406 +++++++++++++++++ app_common/lib/ua_parser/user_agent_parser.py | 544 ++ .../lib/ua_parser/user_agent_parser_test.py | 290 + app_common/lib/user_agents/__init__.py | 3 + app_common/lib/user_agents/compat.py | 14 + app_common/lib/user_agents/parsers.py | 268 + app_common/lib/user_agents/tests.py | 268 + app_common/models/__init__.py | 30 + app_common/models/base.py | 108 + app_common/models/ir_cron.py | 15 + app_common/models/ir_ui_view.py | 41 + app_common/models/res_users.py | 10 + app_common/report/__init__.py | 2 + app_common/rng/common.rng | 433 + app_common/rng/search_view.rng | 44 + app_common/rng/tree_view.rng | 105 + app_common/security/app_security.xml | 51 + app_common/security/ir.model.access.csv | 3 + app_common/static/description/banner.png | Bin 0 -> 180099 bytes app_common/static/description/icon.png | Bin 0 -> 71282 bytes app_common/static/description/index.html | 103 + app_common/static/img/icon_sunpop.png | Bin 0 -> 28105 bytes app_common/static/img/logo_sunpop.png | Bin 0 -> 30835 bytes app_common/static/src/js/sunpop.cn | 0 app_common/static/src/xml/sunpop.cn | 0 app_common/views/ir_cron_views.xml | 13 + app_common/views/product_brand_views.xml | 116 + app_common/views/product_product_views.xml | 24 + app_common/views/product_template_views.xml | 59 + app_common/wizard/sunpop.cn | 0 88 files changed, 12605 insertions(+) create mode 100644 app_base_chinese/__init__.py create mode 100644 app_base_chinese/__manifest__.py create mode 100644 app_base_chinese/controllers/__init__.py create mode 100644 app_base_chinese/data/base_data.xml create mode 100644 app_base_chinese/data/crm_team_data.xml create mode 100644 app_base_chinese/data/decimal_precision_data.xml create mode 100644 app_base_chinese/data/ir_default_data.xml create mode 100644 app_base_chinese/data/product_data.xml create mode 100644 app_base_chinese/data/product_pricelist_data.xml create mode 100644 app_base_chinese/data/res_country_data.xml create mode 100644 app_base_chinese/data/res_currency_data.xml create mode 100644 app_base_chinese/data/res_lang_data.xml create mode 100644 app_base_chinese/data/sales_team_data.xml create mode 100644 app_base_chinese/data/stock.location.csv create mode 100644 app_base_chinese/data/stock_location_data.xml create mode 100644 app_base_chinese/demo/base_demo.xml create mode 100644 app_base_chinese/demo/product_demo.xml create mode 100644 app_base_chinese/demo/product_image_demo.xml create mode 100644 app_base_chinese/demo/res_bank_demo.xml create mode 100644 app_base_chinese/demo/res_partner_demo.xml create mode 100644 app_base_chinese/demo/res_partner_image_demo.xml create mode 100644 app_base_chinese/hooks.py create mode 100644 app_base_chinese/i18n/zh_CN.po create mode 100644 app_base_chinese/ir/__init__.py create mode 100644 app_base_chinese/models/__init__.py create mode 100644 app_base_chinese/models/account_tax_group.py create mode 100644 app_base_chinese/models/product_category.py create mode 100644 app_base_chinese/models/res_company.py create mode 100644 app_base_chinese/models/res_country.py create mode 100644 app_base_chinese/models/res_currency.py create mode 100644 app_base_chinese/models/res_partner.py create mode 100644 app_base_chinese/models/stock_location.py create mode 100644 app_base_chinese/report/__init__.py create mode 100644 app_base_chinese/res/__init__.py create mode 100644 app_base_chinese/static/description/banner.jpg create mode 100644 app_base_chinese/static/description/cnreadme.jpg create mode 100644 app_base_chinese/static/description/demo1.jpg create mode 100644 app_base_chinese/static/description/demo2.jpg create mode 100644 app_base_chinese/static/description/demo3.jpg create mode 100644 app_base_chinese/static/description/icon.png create mode 100644 app_base_chinese/static/description/index.html create mode 100644 app_base_chinese/static/src/scss/app_style.scss create mode 100644 app_base_chinese/static/src/xml/views.xml create mode 100644 app_base_chinese/views/account_move_views.xml create mode 100644 app_base_chinese/views/ir_default_views.xml create mode 100644 app_base_chinese/views/res_company_views.xml create mode 100644 app_base_chinese/views/res_currency_views.xml create mode 100644 app_base_chinese/views/res_partner_views.xml create mode 100644 app_base_chinese/views/sale_order_views.xml create mode 100644 app_base_chinese/views/templates.xml create mode 100644 app_base_chinese/wizard/sale_make_invoice_advance_views.xml create mode 100644 app_common/__init__.py create mode 100644 app_common/__manifest__.py create mode 100644 app_common/controllers/__init__.py create mode 100644 app_common/controllers/main.py create mode 100644 app_common/hooks.py create mode 100644 app_common/i18n/zh_CN.po create mode 100644 app_common/lib/ua_parser/__init__.py create mode 100644 app_common/lib/ua_parser/_regexes.py create mode 100644 app_common/lib/ua_parser/user_agent_parser.py create mode 100644 app_common/lib/ua_parser/user_agent_parser_test.py create mode 100644 app_common/lib/user_agents/__init__.py create mode 100644 app_common/lib/user_agents/compat.py create mode 100644 app_common/lib/user_agents/parsers.py create mode 100644 app_common/lib/user_agents/tests.py create mode 100644 app_common/models/__init__.py create mode 100644 app_common/models/base.py create mode 100644 app_common/models/ir_cron.py create mode 100644 app_common/models/ir_ui_view.py create mode 100644 app_common/models/res_users.py create mode 100644 app_common/report/__init__.py create mode 100644 app_common/rng/common.rng create mode 100644 app_common/rng/search_view.rng create mode 100644 app_common/rng/tree_view.rng create mode 100644 app_common/security/app_security.xml create mode 100644 app_common/security/ir.model.access.csv create mode 100644 app_common/static/description/banner.png create mode 100644 app_common/static/description/icon.png create mode 100644 app_common/static/description/index.html create mode 100644 app_common/static/img/icon_sunpop.png create mode 100644 app_common/static/img/logo_sunpop.png create mode 100644 app_common/static/src/js/sunpop.cn create mode 100644 app_common/static/src/xml/sunpop.cn create mode 100644 app_common/views/ir_cron_views.xml create mode 100644 app_common/views/product_brand_views.xml create mode 100644 app_common/views/product_product_views.xml create mode 100644 app_common/views/product_template_views.xml create mode 100644 app_common/wizard/sunpop.cn diff --git a/app_base_chinese/__init__.py b/app_base_chinese/__init__.py new file mode 100644 index 00000000..0190a7f5 --- /dev/null +++ b/app_base_chinese/__init__.py @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- + +from .hooks import pre_init_hook +from .hooks import post_init_hook +from . import controllers +from . import models +from . import ir +from . import res \ No newline at end of file diff --git a/app_base_chinese/__manifest__.py b/app_base_chinese/__manifest__.py new file mode 100644 index 00000000..a04bcf6d --- /dev/null +++ b/app_base_chinese/__manifest__.py @@ -0,0 +1,99 @@ +# -*- coding: utf-8 -*- + +# Created on 2018-11-05 +# author: 广州尚鹏,https://www.sunpop.cn +# email: 300883@qq.com +# resource of Sunpop +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +# Odoo在线中文用户手册(长期更新) +# https://www.sunpop.cn/documentation/user/10.0/zh_CN/index.html + +# Odoo10离线中文用户手册下载 +# https://www.sunpop.cn/odoo10_user_manual_document_offline/ +# Odoo10离线开发手册下载-含python教程,jquery参考,Jinja2模板,PostgresSQL参考(odoo开发必备) +# https://www.sunpop.cn/odoo10_developer_document_offline/ +# description: + + +{ + 'name': "App base chinese,中国化基本模块增强", + 'version': '15.22.07.20', + 'author': 'Sunpop.cn', + 'category': 'Base', + 'website': 'https://www.sunpop.cn', + 'license': 'LGPL-3', + 'sequence': 2, + 'price': 0, + 'currency': 'EUR', + 'summary': """ + Chinese enhance. Out of the box use in china. + Set all chinese default value. + Add quick set of english name. + Default country, timezone, currency, partner... + """, + 'description': """ + + odoo Chinese Enhance. 中国化增强-基础 + 1. 中文默认值,如国家、时区、货币等。处理模块 base, product. + 2. 客户加简称,地址显示中文化,客户编码显示优先 + 3. 客户地址显示增加手机号与电话号码 + 4. 货币处理,增加排序显示 + 5. 用户名支持翻译(可能会增加复杂度,后续看) + 6. 修正品类的列表及m2o字段中不显示中文目录名的Bug + 7. 修正仓库位置的列表及m2o字段中不显示中文目录名的Bug + 8. 超级用户改时区为 中国 + 9. 时间格式年月日为 2019-12-30,时间为 22:10 + 10. 国家增加排序,中国排第一 + 11. 收款相关显示中国习惯 + 12. 翻译导出默认中文,默认po + 13. 在 base 模型增加 name_en_US 字段,赋值后同时改翻译值 + 14. 常用小数精度调整 + 15. 销售团队改为中国 + 21. todo:中文演示数据(只有demo模式才加载) + """, + 'pre_init_hook': 'pre_init_hook', + 'post_init_hook': 'post_init_hook', + 'depends': [ + 'app_base', + 'account', + 'sales_team', + 'stock', + ], + 'images': ['static/description/banner.jpg'], + 'data': [ + 'views/res_partner_views.xml', + 'views/res_currency_views.xml', + 'views/sale_order_views.xml', + 'views/account_move_views.xml', + 'views/ir_default_views.xml', + # todo: set assets + # 'views/templates.xml', + 'wizard/sale_make_invoice_advance_views.xml', + 'data/ir_default_data.xml', + 'data/base_data.xml', + 'data/decimal_precision_data.xml', + 'data/res_country_data.xml', + 'data/res_currency_data.xml', + 'data/res_lang_data.xml', + 'data/product_data.xml', + 'data/product_pricelist_data.xml', + 'data/stock_location_data.xml', + 'data/sales_team_data.xml', + ], + 'demo': [ + ], + 'test': [ + ], + 'css': [ + ], + 'qweb': [ + 'static/src/xml/*.xml', + ], + 'js': [ + ], + 'post_init_hook': 'post_init_hook', + 'installable': True, + 'application': True, + 'auto_install': False, +} diff --git a/app_base_chinese/controllers/__init__.py b/app_base_chinese/controllers/__init__.py new file mode 100644 index 00000000..40a96afc --- /dev/null +++ b/app_base_chinese/controllers/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/app_base_chinese/data/base_data.xml b/app_base_chinese/data/base_data.xml new file mode 100644 index 00000000..703431d0 --- /dev/null +++ b/app_base_chinese/data/base_data.xml @@ -0,0 +1,19 @@ + + + + + + + 广州尚鹏 + + + + + 广州尚鹏 + + + + 超管 + + + diff --git a/app_base_chinese/data/crm_team_data.xml b/app_base_chinese/data/crm_team_data.xml new file mode 100644 index 00000000..19feb435 --- /dev/null +++ b/app_base_chinese/data/crm_team_data.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/app_base_chinese/data/decimal_precision_data.xml b/app_base_chinese/data/decimal_precision_data.xml new file mode 100644 index 00000000..69354c37 --- /dev/null +++ b/app_base_chinese/data/decimal_precision_data.xml @@ -0,0 +1,14 @@ + + + + + 0 + + + 2 + + + 3 + + + \ No newline at end of file diff --git a/app_base_chinese/data/ir_default_data.xml b/app_base_chinese/data/ir_default_data.xml new file mode 100644 index 00000000..4f9ae9ef --- /dev/null +++ b/app_base_chinese/data/ir_default_data.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + "Etc/GMT-8" + + + + + "inbox" + + + + + "product" + + + + + "zh_CN" + + + + + "po" + + + diff --git a/app_base_chinese/data/product_data.xml b/app_base_chinese/data/product_data.xml new file mode 100644 index 00000000..23e21456 --- /dev/null +++ b/app_base_chinese/data/product_data.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/app_base_chinese/data/product_pricelist_data.xml b/app_base_chinese/data/product_pricelist_data.xml new file mode 100644 index 00000000..37c61161 --- /dev/null +++ b/app_base_chinese/data/product_pricelist_data.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app_base_chinese/data/res_country_data.xml b/app_base_chinese/data/res_country_data.xml new file mode 100644 index 00000000..69abe44f --- /dev/null +++ b/app_base_chinese/data/res_country_data.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app_base_chinese/data/res_currency_data.xml b/app_base_chinese/data/res_currency_data.xml new file mode 100644 index 00000000..d80d7862 --- /dev/null +++ b/app_base_chinese/data/res_currency_data.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + before + + + diff --git a/app_base_chinese/data/res_lang_data.xml b/app_base_chinese/data/res_lang_data.xml new file mode 100644 index 00000000..a0e3efc0 --- /dev/null +++ b/app_base_chinese/data/res_lang_data.xml @@ -0,0 +1,10 @@ + + + + + + %Y-%m-%d + %H:%M:%S + + + diff --git a/app_base_chinese/data/sales_team_data.xml b/app_base_chinese/data/sales_team_data.xml new file mode 100644 index 00000000..249d2f59 --- /dev/null +++ b/app_base_chinese/data/sales_team_data.xml @@ -0,0 +1,8 @@ + + + + + 中国 + + + diff --git a/app_base_chinese/data/stock.location.csv b/app_base_chinese/data/stock.location.csv new file mode 100644 index 00000000..fa5008c6 --- /dev/null +++ b/app_base_chinese/data/stock.location.csv @@ -0,0 +1,7 @@ +id,name +stock.stock_location_locations_partner,λ +stock.stock_location_customers,ͻλ +stock.stock_location_suppliers,Ӧλ +stock.stock_location_locations,λ +stock.stock_location_locations_virtual,λ +stock.stock_location_inter_wh,ڲתλ diff --git a/app_base_chinese/data/stock_location_data.xml b/app_base_chinese/data/stock_location_data.xml new file mode 100644 index 00000000..4e39f5d8 --- /dev/null +++ b/app_base_chinese/data/stock_location_data.xml @@ -0,0 +1,31 @@ + + + + + 先进先出(FIFO) + + + 后进先出(LIFO) + + + + + 物理区位 + + + 往来单位 + + + 虚拟区位 + + + 供应商区位 + + + 客户区位 + + + 内部中转区位 + + + diff --git a/app_base_chinese/demo/base_demo.xml b/app_base_chinese/demo/base_demo.xml new file mode 100644 index 00000000..89c6ac05 --- /dev/null +++ b/app_base_chinese/demo/base_demo.xml @@ -0,0 +1,90 @@ + + + + + + Demo User + + + demo@yourcompany.example.com + YourCompany + Avenue des Dessus-de-Lives, 2 + Namur (Loyers) + 5101 + + + + + 60-16-13 31926819 + bank + + + + + YourCompany + YourCompany + 1725 Slough Ave. + Scranton + 18540 + + + +1 555 123 8069 + info@yourcompany.example.com + www.example.com + + + + + YourCompany + standard + + + + + demo + demo + --
+Mr Demo
+ + + +
+ + + YourCompany + 215 Vine St + Scranton + 18503 + + + +1 555-555-5555 + admin@yourcompany.example.com + Europe/Brussels + + + + + + + Demo Portal User + demo.portal@yourcompany.example.com + + + Vivegnis + 4683 + + YourCompany + Rue Cesar de Paepe, 43 + + + + portal + portal + --
Mr Demo Portal]]>
+ +
+ + + + +
+
diff --git a/app_base_chinese/demo/product_demo.xml b/app_base_chinese/demo/product_demo.xml new file mode 100644 index 00000000..2a8e9305 --- /dev/null +++ b/app_base_chinese/demo/product_demo.xml @@ -0,0 +1,738 @@ + + + + + + + Internal + + + + Services + + + + Software + + + + Physical + + + + Prepaid Consulting + + 40 + 90 + service + + + Example of product to invoice on order. + SERV_ORDER + + + + Cost-plus Contract + + 200.0 + 180.0 + service + + + SERV_DEL + + + + External Audit + + 160 + 180 + service + + + Example of products to invoice based on cost. + SERV_COST + + + + Switch, 24 ports + + 55.0 + 70.0 + consu + + + PROD_DEL + + + + Datacard + + 35.0 + 40.0 + consu + + + PROD_DEL02 + + + + Zed+ Antivirus + + 235.0 + 280.0 + consu + + + PROD_ORDER + + + + GAP Analysis Service + + 20.5 + 30.75 + service + + + Example of products to invoice based on delivery. + + + + Support Services + + 25.5 + 38.25 + service + + + Example of product to invoice based on delivery. + + + + + Computer SC234 + + 450.0 + 300.0 + consu + + + 17" LCD Monitor Processor AMD 8-Core + PCSC234 + + + + + + Memory + + + 16 GB + + + + 32 GB + + + + + Color + + + White + + + + Black + + + + + Wi-Fi + + + 2.4 GHz + + + + + iPad Retina Display + + 500.0 + 750.0 + consu + + + 7.9‑inch (diagonal) LED-backlit, 128Gb Dual-core A5 with quad-core graphics FaceTime HD Camera, 1.2 MP Photos + E-COM01 + + + + E-COM02 + + + + + E-COM03 + + + + + E-COM04 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 50.40 + + + + Bose Mini Bluetooth Speaker + + 140.0 + 247.0 + consu + + + Bose's smallest portable Bluetooth speaker + E-COM05 + + + + + Custom Computer (kit) + + 600.0 + 147.0 + consu + + + Custom computer shipped in kit. + E-COM06 + + + Parts Replacement + + 600.0 + 147.0 + service + + + + iPad Mini + + 800.0 + 320.0 + consu + + + E-COM07 + 0.330 + + + + Repair + + 800.0 + 320.0 + service + + + Apple In-Ear Headphones + + 70.0 + 79.0 + consu + + + E-COM08 + + + + iMac + + 1299.0 + 1799.0 + consu + + + E-COM09 + 9.54 + + + + Apple Wireless Keyboard + + 10.0 + 47.0 + consu + + + E-COM10 + + + + Mouse, Optical + + 12.50 + 14 + consu + + + E-COM11 + + + + iPod + + 14 + 16.50 + consu + + + E-COM12 + + + + E-COM13 + + + + + Cleaning + + 14 + 16.50 + service + + + + + + + + + + + + + + + + 6.40 + + + + + + Mouse, Wireless + + 18 + 12.50 + consu + + + M-Wir + + + + RAM SR5 + + 78.0 + 85.0 + consu + + + RAM-SR5 + + + + Computer Case + + 20.0 + 25.0 + consu + + + C-Case + + + + HDD SH-1 + + 860.0 + 975.0 + consu + + + HDD-SH1 + + + + Motherboard I9P57 + + 1700.0 + 1950.0 + consu + + + MBi9 + + + Processor Core i5 2.70 Ghz + + 2010.0 + 2100.0 + consu + + + CPUi5 + + + + Graphics Card + + 876.0 + 885.0 + consu + + + CARD + + + + Laptop E5023 + + 2870.0 + 2950.0 + consu + + + 17" Monitor, 4GB RAM Standard-1294P Processor + LAP-E5 + + + + Laptop Customized + + 3300.0 + 3645.0 + consu + + + Custom Laptop based on customer's requirement. + LAP-CUS + + + + Basic Computer + + 25000.0 + 23500.0 + consu + + + Dvorak keyboard left-handed mouse + CONS_DEL03 + + + + Little server + + 45000.0 + 40000.0 + consu + + + raid 1, 512ECC ram + CONS_DEL02 + + + + Server + + 65000.0 + 60000.0 + consu + + + raid 10, 2048ECC ram + CONS_DEL01 + + + + + + Gold Membership + 180 + + service + + + + + Silver Membership + + 80 + service + + + + + Basic Membership + + 40 + service + + + + + + + + + 3 + 1 + 750 + + + + + + 3 + 1 + 790 + + + + + + 3 + 3 + 785 + + + + + + 3 + 1 + 65 + + + + + + 3 + 1 + 72 + + + + + + 2 + 5 + 1299 + + + + + + 4 + 1 + 1399 + + + + + + 2 + 1 + 12.50 + + + + + + 2 + 1 + 14 + + + + + + 5 + 1 + 78 + + + + + + 1 + 1 + 20 + + + + + + 3 + 1 + 860 + + + + + + 3 + 1 + 1700 + + + + + + 4 + 5 + 1720 + + + + + + 3 + 1 + 2010 + + + + + + 3 + 1 + 876 + + + + + + 8 + 1 + 2870 + + + + + + 4 + 1 + 390 + + + + + + 2 + 12 + 90 + + + + + + 4 + 1 + 66 + + + + + + 5 + 1 + 35 + + + + + + 7 + 1 + 55 + + + + + + 4 + 0 + 10 + + + + + + 10 + 0 + 3300 + + + + + + 3 + 0 + 12.50 + + + + + + 2 + 0 + 13.50 + + + + property_product_pricelist + + + + + + + + diff --git a/app_base_chinese/demo/product_image_demo.xml b/app_base_chinese/demo/product_image_demo.xml new file mode 100644 index 00000000..ab98b4a7 --- /dev/null +++ b/app_base_chinese/demo/product_image_demo.xml @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app_base_chinese/demo/res_bank_demo.xml b/app_base_chinese/demo/res_bank_demo.xml new file mode 100644 index 00000000..bd563fc6 --- /dev/null +++ b/app_base_chinese/demo/res_bank_demo.xml @@ -0,0 +1,21 @@ + + + + + + ING + BBRUBEBB + + + + Crelan + NICABEBB + + + + CBC + CREGBEBB + + + + diff --git a/app_base_chinese/demo/res_partner_demo.xml b/app_base_chinese/demo/res_partner_demo.xml new file mode 100644 index 00000000..795824e1 --- /dev/null +++ b/app_base_chinese/demo/res_partner_demo.xml @@ -0,0 +1,251 @@ + + + + + + + Partner + + + + Vendor + + + + Prospect + + + + Employee + + + + Gold + + + + + Silver + + + + + Bronze + + + + + IT Services + + + + + Consultancy Services + + + + Components Buyer + + + + Services + + + + Office Supplies + + + + Distributor + + + + Manufacturer + + + + Wholesaler + + + + Retailer + + + + Company Contact + + + + + + + ASUSTeK + + 1 + + 1 + Taipei + 106 + + 31 Hong Kong street + asusteK@yourcompany.example.com + (+886) (02) 4162 2023 + http://www.asustek.com + + + + Agrolait + + 1 + Wavre + 1300 + + 69 rue de Namur + agrolait@yourcompany.example.com + +32 10 588 558 + http://www.agrolait.com + + + + China Export + 1 + + 1 + Shanghai + 200000 + + + 52 Chop Suey street + chinaexport@yourcompany.example.com + +86 21 6484 5671 + http://www.chinaexport.com/ + + + + + Delta PC + + + + 1 + Fremont + 94538 + + + 3661 Station Street + deltapc@yourcompany.example.com + +1 510 340 2385 + http://www.distribpc.com/ + + + + + The Jackson Group + + 1 + Miami + 33169 + + + jackson@yourcompany.example.com + +1 786 525 0724 + 3203 Lamberts Branch Road + + + + + Camptocamp + + 1 + 1 + 1 + Le Bourget du Lac + 73377 + +33 4 49 23 44 54 + + 93, Press Avenue + camptocamp@yourcompany.example.com + http://www.camptocamp.com + + + + + Think Big Systems + 1 + + London + thinkbig@yourcompany.example.com + +1 857 349 3049 + + 89 Lingfield Tower + http://www.think-big.com + + + + + Tang Tsui + + Service Manager + tang@asustek.com + 1 + + + + Joseph Walters + + Store Manager + joseph.walters@asustek.com + 1 + + + + Richard Ellis + + Production Supervisor + richard.ellis@deltapc.example.com + 1 + + + + James Miller + + Electrical Supervisor + 1 + + + + Edward Foster + + Sales Representative + efoster@seagate.com + 1 + + + + Arthur Gomez + + Software Developer + 1 + + + + Julia Rivero + + Technical Director + 1 + + + + Peter Mitchell + + Store Manager + 1 + + + + + diff --git a/app_base_chinese/demo/res_partner_image_demo.xml b/app_base_chinese/demo/res_partner_image_demo.xml new file mode 100644 index 00000000..da8c2841 --- /dev/null +++ b/app_base_chinese/demo/res_partner_image_demo.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app_base_chinese/hooks.py b/app_base_chinese/hooks.py new file mode 100644 index 00000000..de9af053 --- /dev/null +++ b/app_base_chinese/hooks.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- + +# Created on 2017-11-22 +# author: 广州尚鹏,https://www.sunpop.cn +# email: 300883@qq.com +# resource of Sunpop +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +# Odoo在线中文用户手册(长期更新) +# https://www.sunpop.cn/documentation/user/10.0/zh_CN/index.html + +# Odoo10离线中文用户手册下载 +# https://www.sunpop.cn/odoo10_user_manual_document_offline/ +# Odoo10离线开发手册下载-含python教程,jquery参考,Jinja2模板,PostgresSQL参考(odoo开发必备) +# https://www.sunpop.cn/odoo10_developer_document_offline/ +# description: + +from odoo import api, SUPERUSER_ID, _ + + +def pre_init_hook(cr): + """ + 数据初始化,只在安装时执行,更新时不执行 + """ + pass + + +def post_init_hook(cr, registry): + """ + 数据初始化,只在安装后执行,更新时不执行 + """ + try: + env = api.Environment(cr, SUPERUSER_ID, {}) + ids = env['product.category'].sudo().with_context(lang='zh_CN').search([ + ('parent_id', '!=', False) + ], order='parent_path') + for rec in ids: + rec._compute_complete_name() + ids = env['stock.location'].sudo().with_context(lang='zh_CN').search([ + ('location_id', '!=', False), + ('usage', '!=', 'views'), + ], order='parent_path') + for rec in ids: + rec._compute_complete_name() + # 超级用户改时区为中国 + ids = env['res.users'].sudo().with_context(lang='zh_CN').browse([1, 2]) + ids.write({'tz': "Etc/GMT-8"}) + except Exception as e: + raise Warning(e) + +def uninstall_hook(cr, registry): + """ + 数据初始化,卸载时执行 + """ + pass diff --git a/app_base_chinese/i18n/zh_CN.po b/app_base_chinese/i18n/zh_CN.po new file mode 100644 index 00000000..af04a3df --- /dev/null +++ b/app_base_chinese/i18n/zh_CN.po @@ -0,0 +1,130 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * app_base_chinese +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-10 18:20+0000\n" +"PO-Revision-Date: 2020-04-10 18:20+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: app_base_chinese +#: model:ir.model.fields,field_description:app_base_chinese.field_account_tax_group__active +msgid "Active" +msgstr "激活" + +#. module: app_base_chinese +#: model:ir.model,name:app_base_chinese.model_base +msgid "Base" +msgstr "基础" + +#. module: app_base_chinese +#: model:ir.model.fields,field_description:app_base_chinese.field_product_category__complete_name +msgid "Complete Name" +msgstr "完整名称" + +#. module: app_base_chinese +#: model:ir.model,name:app_base_chinese.model_res_partner +msgid "Contact" +msgstr "联系人" + +#. module: app_base_chinese +#: model_terms:ir.ui.view,arch_db:app_base_chinese.app_res_partner_kanban_view +msgid "Credit:" +msgstr "信用额:" + +#. module: app_base_chinese +#: model:ir.model,name:app_base_chinese.model_res_currency +msgid "Currency" +msgstr "币种" + +#. module: app_base_chinese +#: model:ir.model.fields,help:app_base_chinese.field_res_currency__sequence +msgid "Determine the display order. Sort ascending." +msgstr "决定显示顺序,数字越小排序越前" + +#. module: app_base_chinese +#: model:ir.model.fields,field_description:app_base_chinese.field_res_partner__name_en_US +#: model:ir.model.fields,field_description:app_base_chinese.field_res_users__name_en_US +msgid "English Name" +msgstr "英文名" + +#. module: app_base_chinese +#: model_terms:ir.ui.view,arch_db:app_base_chinese.app_view_sale_advance_payment_inv +msgid "FaPiao / Invoice Orders" +msgstr "创建收据/发票" + +#. module: app_base_chinese +#: model:ir.model.fields,field_description:app_base_chinese.field_res_partner__fax +#: model:ir.model.fields,field_description:app_base_chinese.field_res_users__fax +msgid "Fax" +msgstr "传真" + +#. module: app_base_chinese +#: model:ir.model.fields,field_description:app_base_chinese.field_stock_location__complete_name +msgid "Full Location Name" +msgstr "完整的位置名称" + +#. module: app_base_chinese +#: model:ir.model,name:app_base_chinese.model_stock_location +msgid "Inventory Locations" +msgstr "库存位置" + +#. module: app_base_chinese +#: model_terms:ir.ui.view,arch_db:app_base_chinese.app_view_order_form +msgid "Invoices/FaPiao" +msgstr "收据/发票" + +#. module: app_base_chinese +#: model_terms:ir.ui.view,arch_db:app_base_chinese.app_view_order_form +msgid "Make Collections" +msgstr "收款" + +#. module: app_base_chinese +#: model:ir.model.fields,field_description:app_base_chinese.field_res_partner__name +#: model:ir.model.fields,field_description:app_base_chinese.field_res_users__name +msgid "Name" +msgstr "名称" + +#. module: app_base_chinese +#: model_terms:ir.ui.view,arch_db:app_base_chinese.app_view_move_form +msgid "Post Entry" +msgstr "过帐" + +#. module: app_base_chinese +#: model:ir.model,name:app_base_chinese.model_product_category +msgid "Product Category" +msgstr "品类" + +#. module: app_base_chinese +#: model:ir.model.fields,field_description:app_base_chinese.field_res_currency__sequence +msgid "Sequence" +msgstr "排序" + +#. module: app_base_chinese +#: model:ir.model.fields,help:app_base_chinese.field_account_tax_group__active +msgid "Set active to false to hide the tax without removing it." +msgstr "请不要删除指定税率,可以将其归档。" + +#. module: app_base_chinese +#: model:ir.model.fields,field_description:app_base_chinese.field_res_partner__short_name +#: model:ir.model.fields,field_description:app_base_chinese.field_res_users__short_name +msgid "Short Name" +msgstr "简称" + +#. module: app_base_chinese +#: model:ir.model,name:app_base_chinese.model_account_tax_group +msgid "Tax Group" +msgstr "税组" + +#. module: app_base_chinese +#: model:ir.sequence,name:app_base_chinese.sequence_product_category_normal +msgid "产品目录常规编号规则" +msgstr "" diff --git a/app_base_chinese/ir/__init__.py b/app_base_chinese/ir/__init__.py new file mode 100644 index 00000000..40a96afc --- /dev/null +++ b/app_base_chinese/ir/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/app_base_chinese/models/__init__.py b/app_base_chinese/models/__init__.py new file mode 100644 index 00000000..423324f5 --- /dev/null +++ b/app_base_chinese/models/__init__.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- + +from . import res_partner +from . import res_currency +from . import product_category +from . import stock_location +from . import account_tax_group + + + diff --git a/app_base_chinese/models/account_tax_group.py b/app_base_chinese/models/account_tax_group.py new file mode 100644 index 00000000..d1413359 --- /dev/null +++ b/app_base_chinese/models/account_tax_group.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models, _, tools + +class AccountTaxGroup(models.Model): + _inherit = 'account.tax.group' + + active = fields.Boolean(default=True, help="Set active to false to hide the tax without removing it.") + diff --git a/app_base_chinese/models/product_category.py b/app_base_chinese/models/product_category.py new file mode 100644 index 00000000..380f50cd --- /dev/null +++ b/app_base_chinese/models/product_category.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- + +import logging + +from odoo import api, fields, models, _ + +_logger = logging.getLogger(__name__) + +class ProductCategory(models.Model): + _inherit = "product.category" + + complete_name = fields.Char( + 'Complete Name', compute='_compute_complete_name', + store=True, translate=True) diff --git a/app_base_chinese/models/res_company.py b/app_base_chinese/models/res_company.py new file mode 100644 index 00000000..06892a0b --- /dev/null +++ b/app_base_chinese/models/res_company.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- + +from odoo import api, models, fields, _ +from odoo.exceptions import UserError, ValidationError + + +class ResCompany(models.Model): + _inherit = 'res.company' + + short_name = fields.Char('Short Name', related='partner_id.short_name', readonly=False) + + # 当传参 show_short_company 时,只显示简称 + def name_get(self): + if self._context.get('show_short_company'): + return [(value.id, "%s" % (value.short_name if value.short_name else value.name)) for value in self] + else: + return super().name_get() diff --git a/app_base_chinese/models/res_country.py b/app_base_chinese/models/res_country.py new file mode 100644 index 00000000..d0cf4869 --- /dev/null +++ b/app_base_chinese/models/res_country.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class Country(models.Model): + _inherit = 'res.country' + _order = 'sequence,name' + + sequence = fields.Integer('Sequence', help="Determine the display order", default=99) diff --git a/app_base_chinese/models/res_currency.py b/app_base_chinese/models/res_currency.py new file mode 100644 index 00000000..e78aec28 --- /dev/null +++ b/app_base_chinese/models/res_currency.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +from odoo import api, fields, models + + +class ResCurrency(models.Model): + _inherit = 'res.currency' + _order = 'active desc, sequence, name' + + sequence = fields.Integer('Sequence', default=10, help="Determine the display order. Sort ascending.") + + def rmb_upper(self, value): + """ + 人民币大写 + 传入浮点类型的值返回 unicode 字符串 + :param 传入阿拉伯数字 + :return 返回值是对应阿拉伯数字的绝对值的中文数字 + """ + if self.name != 'CNY': + return + rmbmap = [u"零", u"壹", u"贰", u"叁", u"肆", u"伍", u"陆", u"柒", u"捌", u"玖"] + unit = [u"分", u"角", u"元", u"拾", u"佰", u"仟", u"万", u"拾", u"佰", u"仟", u"亿", + u"拾", u"佰", u"仟", u"万", u"拾", u"佰", u"仟", u"兆"] + # 冲红负数处理 + xflag = 0 + if value < 0: + xflag = value + value = abs(value) + # 先把value 数字进行格式化保留两位小数,转成字符串然后去除小数点 + nums = list(map(int, list(str('%0.2f' % value).replace('.', '')))) + words = [] + zflag = 0 # 标记连续0次数,以删除万字,或适时插入零字 + start = len(nums) - 3 + for i in range(start, -3, -1): # 使i对应实际位数,负数为角分 + # 大部分情况对应数字不等于零 或者是刚开始循环 + if 0 != nums[start - i] or len(words) == 0: + if zflag: + words.append(rmbmap[0]) + zflag = 0 + words.append(rmbmap[nums[start - i]]) # 数字对应的中文字符 + words.append(unit[i + 2]) # 列表此位置的单位 + # 控制‘万/元’ 万和元比较特殊,如2拾万和2拾1万 无论有没有这个1 万字是必须的 + elif 0 == i or (0 == i % 4 and zflag < 3): + # 上面那种情况定义了 2拾1万 的显示 这个是特殊对待的 2拾万(一类)的显示 + words.append(unit[i + 2]) + # 元(控制条件为 0 == i )和万(控制条为(0 == i % 4 and zflag < 3))的情况的处理是一样的 + zflag = 0 + else: + zflag += 1 + if words[-1] != unit[0]: # 结尾非‘分’补整字 最小单位 如果最后一个字符不是最小单位(分)则要加一个整字 + words.append(u"整") + if xflag < 0: # 如果为负数则要在数字前面加上‘负’字 + words.insert(0, u"负") + return ''.join(words) diff --git a/app_base_chinese/models/res_partner.py b/app_base_chinese/models/res_partner.py new file mode 100644 index 00000000..fc9e0644 --- /dev/null +++ b/app_base_chinese/models/res_partner.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- + +from odoo import api, models, fields, _ +from odoo.exceptions import UserError, ValidationError + + +class ResPartner(models.Model): + _inherit = 'res.partner' + + name = fields.Char(index=True, translate=True) + short_name = fields.Char('Short Name') # 简称 + fax = fields.Char('Fax') # 简称 + + # 增加地址显示中的手机号与电话号码 + # 选项 show_address 开启则增加显示手机与电话号 + def _get_name(self): + name = super(ResPartner, self)._get_name() or '' + partner = self + if self._context.get('show_address'): + if partner.mobile and partner.phone: + name = name + "\n" + partner.mobile + "," + partner.phone + elif partner.mobile: + name = name + "\n" + partner.mobile + elif partner.phone: + name = name + "\n" + partner.phone + return name + + @api.model_create_multi + def create(self, vals_list): + for values in vals_list: + if 'lang' not in values: + values['lang'] = 'zh_CN' + return super(ResPartner, self).create(vals_list) diff --git a/app_base_chinese/models/stock_location.py b/app_base_chinese/models/stock_location.py new file mode 100644 index 00000000..b142432d --- /dev/null +++ b/app_base_chinese/models/stock_location.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- + +import logging + +from odoo import api, fields, models, _ + +_logger = logging.getLogger(__name__) + +class Location(models.Model): + _inherit = "stock.location" + + complete_name = fields.Char("Full Location Name", compute='_compute_complete_name', store=True, translate=True) diff --git a/app_base_chinese/report/__init__.py b/app_base_chinese/report/__init__.py new file mode 100644 index 00000000..633f8661 --- /dev/null +++ b/app_base_chinese/report/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- + diff --git a/app_base_chinese/res/__init__.py b/app_base_chinese/res/__init__.py new file mode 100644 index 00000000..40a96afc --- /dev/null +++ b/app_base_chinese/res/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/app_base_chinese/static/description/banner.jpg b/app_base_chinese/static/description/banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ae2ca114511495fc795b21f98e3142eec04c00e5 GIT binary patch literal 49021 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 U>u@r-8UGEwe+?MCdA<6-0REg=DgXcg literal 0 HcmV?d00001 diff --git a/app_base_chinese/static/description/demo1.jpg b/app_base_chinese/static/description/demo1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3eb8d87b983f45bd0e07ff8ca98c3fff1823f871 GIT binary patch literal 48990 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%0Arz>l7vz9g+6&NO(fsfPsKe(CS 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 Jzr~D0{tt*Wu^RvY literal 0 HcmV?d00001 diff --git a/app_base_chinese/static/description/index.html b/app_base_chinese/static/description/index.html new file mode 100644 index 00000000..efe242f5 --- /dev/null +++ b/app_base_chinese/static/description/index.html @@ -0,0 +1,96 @@ +

+
+
+

App base chinese. Local customize for china user

+

Set all chinese default value. Like Default country, timezone, currency, partner...

+
+

Lastest update: v13.20.04.11

+
+ +
+
+
+ Key features: +
    +
  • + + Chinese feature enhance. +
  • +
  • + + Set Default country, state, timezone, currency. +
  • +
  • + + Set partner to chinese format. +
  • +
  • + + Fix Category Display not in english bug. +
  • +
+
+
+
+ +
+
+
+
+
+ +
+
+

Set Default country, state, timezone, currency.

+
+ +
+
+ +
+
+
+ +
+
+

Fix Category Display not in english bug.

+
+ +
+
+
+ +
+
+
+

Technical Help & Support

+
+
+
+

+ For any type of technical help & support requests, Feel free to contact us

+
+ guohuadeng@hotmail.com +

+ Via QQ: 300883 (App user would not get QQ or any other IM support. Only for odoo project customize.)

+ + 300883@qq.com +
+
+

+ Visit our website for more support.

+

https://www.sunpop.cn

+
+
+
+
+

More Powerful addons, Make your odoo very easy to use, easy customize: + Supop.cn Odoo Addons +

+
+
+ diff --git a/app_base_chinese/static/src/scss/app_style.scss b/app_base_chinese/static/src/scss/app_style.scss new file mode 100644 index 00000000..39bfb17d --- /dev/null +++ b/app_base_chinese/static/src/scss/app_style.scss @@ -0,0 +1,26 @@ +.o_form_view .o_address_format { + .o_address_country { + display: -webkit-inline-flex; + display: inline-flex; + width: 48%; + margin-right: 2%; + } +} +.o_form_view.o_form_editable .o_address_format { + div.o_address_state { + width: 50%; + margin-right: 0; + } + .o_address_city{ + width: 48%; + margin-right: 2%; + } + .o_address_city_id{ + width: 48%; + margin-right: 2%; + } + input.o_address_zip{ + width: 50%; + margin-right: 0; + } +} diff --git a/app_base_chinese/static/src/xml/views.xml b/app_base_chinese/static/src/xml/views.xml new file mode 100644 index 00000000..e05ae2a2 --- /dev/null +++ b/app_base_chinese/static/src/xml/views.xml @@ -0,0 +1,12 @@ + + + + + +
+ 性能原因,只支持 200 条记录的显示 + 记录没有树状结构 +
+
+
+
\ No newline at end of file diff --git a/app_base_chinese/views/account_move_views.xml b/app_base_chinese/views/account_move_views.xml new file mode 100644 index 00000000..728d8a79 --- /dev/null +++ b/app_base_chinese/views/account_move_views.xml @@ -0,0 +1,19 @@ + + + + + + + app.account.move.form + account.move + + + + + Post Entry + + + + + + diff --git a/app_base_chinese/views/ir_default_views.xml b/app_base_chinese/views/ir_default_views.xml new file mode 100644 index 00000000..d14570d7 --- /dev/null +++ b/app_base_chinese/views/ir_default_views.xml @@ -0,0 +1,27 @@ + + + + + + app.res.currency.tree + res.currency + + + + + + + + + + app.res.currency.form + res.currency + + + + + + + + + diff --git a/app_base_chinese/views/res_company_views.xml b/app_base_chinese/views/res_company_views.xml new file mode 100644 index 00000000..880be72b --- /dev/null +++ b/app_base_chinese/views/res_company_views.xml @@ -0,0 +1,26 @@ + + + + + app.res.company.form + res.company + + + + + + + + + + app.res.company.form + res.company + + + + + + + + + diff --git a/app_base_chinese/views/res_currency_views.xml b/app_base_chinese/views/res_currency_views.xml new file mode 100644 index 00000000..51fe143e --- /dev/null +++ b/app_base_chinese/views/res_currency_views.xml @@ -0,0 +1,27 @@ + + + + + + app.ir.default tree view + ir.default + + + + + + + + + + app.ir.default form view + ir.default + + + + + + + + + diff --git a/app_base_chinese/views/res_partner_views.xml b/app_base_chinese/views/res_partner_views.xml new file mode 100644 index 00000000..4d6deedb --- /dev/null +++ b/app_base_chinese/views/res_partner_views.xml @@ -0,0 +1,171 @@ + + + + + + app.res.partner.form + res.partner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + [] + + +
+
+
+
+
+ + + + app.res.partner.form.address + res.partner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + app.res.partner.view.form.private + res.partner + + + + + + + + + + + + + + + + + + + app.res.partner.tree + res.partner + + + + + + + + + + + app.res.partner.kanban + res.partner + + + + + + +
  • + Credit: +
  • +
    +
    +
    + + + + + + +
    +
    diff --git a/app_base_chinese/views/sale_order_views.xml b/app_base_chinese/views/sale_order_views.xml new file mode 100644 index 00000000..b67ab85c --- /dev/null +++ b/app_base_chinese/views/sale_order_views.xml @@ -0,0 +1,24 @@ + + + + + app.sale.order.form + sale.order + + + + + Make Collections + + + + Make Collections + + + + Invoices/FaPiao + + + + + \ No newline at end of file diff --git a/app_base_chinese/views/templates.xml b/app_base_chinese/views/templates.xml new file mode 100644 index 00000000..dd348f61 --- /dev/null +++ b/app_base_chinese/views/templates.xml @@ -0,0 +1,8 @@ + + + + diff --git a/app_base_chinese/wizard/sale_make_invoice_advance_views.xml b/app_base_chinese/wizard/sale_make_invoice_advance_views.xml new file mode 100644 index 00000000..1362a7aa --- /dev/null +++ b/app_base_chinese/wizard/sale_make_invoice_advance_views.xml @@ -0,0 +1,21 @@ + + + + FaPiao / Invoice Orders + + + + app.account.move.form + sale.advance.payment.inv + + + + FaPiao / Invoice Orders + + + + + + Create FaPiao / Invoice + + diff --git a/app_common/__init__.py b/app_common/__init__.py new file mode 100644 index 00000000..7f49029b --- /dev/null +++ b/app_common/__init__.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- + +from . import controllers +from . import models +from .hooks import pre_init_hook +from .hooks import post_init_hook +from .hooks import uninstall_hook diff --git a/app_common/__manifest__.py b/app_common/__manifest__.py new file mode 100644 index 00000000..929fb5b4 --- /dev/null +++ b/app_common/__manifest__.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- + +# Created on 20120-01-05 +# author: 广州尚鹏,https://www.sunpop.cn +# email: 300883@qq.com +# resource of Sunpop +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +# Odoo12在线用户手册(长期更新) +# https://www.sunpop.cn/documentation/user/12.0/zh_CN/index.html + +# Odoo12在线开发者手册(长期更新) +# https://www.sunpop.cn/documentation/12.0/index.html + +# Odoo10在线中文用户手册(长期更新) +# https://www.sunpop.cn/documentation/user/10.0/zh_CN/index.html + +# Odoo10离线中文用户手册下载 +# https://www.sunpop.cn/odoo10_user_manual_document_offline/ +# Odoo10离线开发手册下载-含python教程,jquery参考,Jinja2模板,PostgresSQL参考(odoo开发必备) +# https://www.sunpop.cn/odoo10_developer_document_offline/ + +############################################################################## +# Copyright (C) 2009-TODAY Sunpop.cn Ltd. https://www.sunpop.cn +# Author: Ivan Deng,300883@qq.com +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# See . +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +############################################################################## + +{ + 'name': "Sunpop Odooapp Common Func", + 'version': '15.21.11.30', + 'author': 'Sunpop.cn', + 'category': 'Base', + 'website': 'https://www.sunpop.cn', + 'license': 'LGPL-3', + 'sequence': 2, + 'price': 0.00, + 'currency': 'EUR', + 'images': ['static/description/banner.png'], + 'summary': ''' + Core for common use sunpop apps. + 基础核心,必须没有要被依赖字段及视图等,实现auto_install + ''', + 'description': ''' + Support Odoo 15, Enterprise and Community Edition + 1. + 2. + 3. Multi-language Support. + 4. Multi-Company Support. + 5. Support Odoo 15, Enterprise and Community Edition + ========== + 1. + 2. + 3. 多语言支持 + 4. 多公司支持 + 5. Odoo 15, 企业版,社区版,多版本支持 + ''', + 'depends': [ + 'base', + 'web', + ], + 'data': [ + # 'security/*.xml', + # 'security/ir.model.access.csv', + # 'data/.xml', + 'views/ir_cron_views.xml', + # 'report/.xml', + ], + 'qweb': [ + 'static/src/xml/*.xml', + ], + 'demo': [], + # 'pre_init_hook': 'pre_init_hook', + # 'post_init_hook': 'post_init_hook', + # 'uninstall_hook': 'uninstall_hook', + 'installable': True, + 'application': True, + 'auto_install': True, +} diff --git a/app_common/controllers/__init__.py b/app_common/controllers/__init__.py new file mode 100644 index 00000000..6920e202 --- /dev/null +++ b/app_common/controllers/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import main \ No newline at end of file diff --git a/app_common/controllers/main.py b/app_common/controllers/main.py new file mode 100644 index 00000000..fe720a53 --- /dev/null +++ b/app_common/controllers/main.py @@ -0,0 +1,95 @@ +# -*- coding: utf-8 -*- + +import base64 +from io import BytesIO +import requests +from math import radians, cos, sin, asin, sqrt + +from ..lib.user_agents import parse + +from odoo import api, http, SUPERUSER_ID, _ +from odoo import http, exceptions +from odoo.http import request + +import logging +_logger = logging.getLogger(__name__) + +class AppController(http.Controller): + + def get_image_from_url(self, url): + if not url: + return None + try: + response = requests.get(url) # 将这个图片保存在内存 + except Exception as e: + return None + # 返回这个图片的base64编码 + return base64.b64encode(BytesIO(response.content).read()) + + @http.route('/web/ua/show', auth='public', methods=['GET']) + def app_ua_show(self): + # https://github.com/selwin/python-user-agents + ua_string = request.httprequest.headers.get('User-Agent') + user_agent = parse(ua_string) + ua_type = self.get_ua_type() + ustr = "Request UA:
    %s
    Parse UA:
    %s
    UA Type:
    %s
    " % (ua_string, str(user_agent), ua_type) + return request.make_response(ustr, [('Content-Type', 'text/html')]) + + def get_ua_type(self): + ua = request.httprequest.headers.get('User-Agent') + # 临时用 agent 处理,后续要前端中正确处理或者都从后台来 + # 微信浏览器 + # MicroMessenger: Mozilla/5.0 (Linux; Android 10; ELE-AL00 Build/HUAWEIELE-AL00; wv) + # AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 + # MQQBrowser/6.2 TBS/045525 Mobile Safari/537.36 MMWEBID/3135 MicroMessenger/8.0.2.1860(0x2800023B) Process/tools WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 + # 微信浏览器,开发工具,网页 iphone + # ,Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 + # wechatdevtools/1.03.2011120 MicroMessenger/7.0.4 Language/zh_CN webview/16178807094901773 + # webdebugger port/27772 token/b91f4a234b918f4e2a5d1a835a09c31e + + # 微信小程序 + # MicroMessenger: Mozilla/5.0 (Linux; Android 10; ELE-AL00 Build/HUAWEIELE-AL00; wv) + # AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.62 XWEB/2767 MMWEBSDK/20210302 Mobile Safari/537.36 MMWEBID/6689 MicroMessenger/8.0.2.1860(0x2800023B) Process/appbrand2 WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 + # MiniProgramEnv/android + # 微信浏览器,开发工具,小程序,iphone + # Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 + # wechatdevtools/1.03.2011120 MicroMessenger/7.0.4 Language/zh_CN webview/ + # 微信内,iphone web + # Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 + # MicroMessenger/8.0.3(0x1800032a) NetType/WIFI Language/zh_CN + # 安卓app,h5 + # ELE-AL00(Android/10) (cn.erpapp.o20sticks.App/13.20.12.09) Weex/0.26.0 1080x2265 + + utype = 'web' + # todo: 引入现成 py lib,处理企业微信 + if 'MicroMessenger' in ua and 'webdebugger' not in ua and ('MiniProgramEnv' in ua or 'wechatdevtools' in ua): + # 微信小程序及开发者工具 + utype = 'wxapp' + elif 'MicroMessenger' in ua: + # 微信浏览器 + utype = 'wxweb' + elif 'cn.erpapp.o20sticks.App' in ua: + # 安卓app + utype = 'native_android' + # _logger.warning('=========get ua %s,%s' % (utype, ua)) + return utype + + +def haversine(lon1, lat1, lon2, lat2): + # 计算地图上两点的距离 + # in:经度1,纬度1,经度2,纬度2 (十进制度数) + # out: 距离(米) + """ + Calculate the great circle distance between two points + on the earth (specified in decimal degrees) + """ + # 将十进制度数转化为弧度 + lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) + + # haversine公式 + dlon = lon2 - lon1 + dlat = lat2 - lat1 + a = sin(dlat / 2) ** 2 + cos(lat1) * cos(lat2) * sin(dlon / 2) ** 2 + c = 2 * asin(sqrt(a)) + r = 6371 # 地球平均半径,单位为公里 + return c * r * 1000 diff --git a/app_common/hooks.py b/app_common/hooks.py new file mode 100644 index 00000000..3ba52cbf --- /dev/null +++ b/app_common/hooks.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +# Created on 2018-10-12 +# author: 广州尚鹏,https://www.sunpop.cn +# email: 300883@qq.com +# resource of Sunpop +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +# Odoo在线中文用户手册(长期更新) +# https://www.sunpop.cn/documentation/user/10.0/zh_CN/index.html + +# Odoo10离线中文用户手册下载 +# https://www.sunpop.cn/odoo10_user_manual_document_offline/ +# Odoo10离线开发手册下载-含python教程,jquery参考,Jinja2模板,PostgresSQL参考(odoo开发必备) +# https://www.sunpop.cn/odoo10_developer_document_offline/ +# description: + +from odoo import api, SUPERUSER_ID, _ + + +def pre_init_hook(cr): + pass + # cr.execute("") + +def post_init_hook(cr, registry): + pass + # cr.execute("") + +def uninstall_hook(cr, registry): + pass + # cr.execute("") + diff --git a/app_common/i18n/zh_CN.po b/app_common/i18n/zh_CN.po new file mode 100644 index 00000000..9552e39e --- /dev/null +++ b/app_common/i18n/zh_CN.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-08 14:28+0000\n" +"PO-Revision-Date: 2018-01-08 14:28+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: app_common +#: model:ir.model.fields,field_description:app_common.field_ir_cron__trigger_user_id +msgid "Last Trigger User" +msgstr "手动运行用户" + +#. module: app_common +#: model:ir.model,name:app_common.model_ir_cron +msgid "Scheduled Actions" +msgstr "安排的动作" + +#. module: app_common +#: model:ir.model,name:app_common.model_ir_ui_view +msgid "View" +msgstr "查看" diff --git a/app_common/lib/ua_parser/__init__.py b/app_common/lib/ua_parser/__init__.py new file mode 100644 index 00000000..ca04bbe6 --- /dev/null +++ b/app_common/lib/ua_parser/__init__.py @@ -0,0 +1 @@ +VERSION = (0, 10, 0) diff --git a/app_common/lib/ua_parser/_regexes.py b/app_common/lib/ua_parser/_regexes.py new file mode 100644 index 00000000..2e626e16 --- /dev/null +++ b/app_common/lib/ua_parser/_regexes.py @@ -0,0 +1,7406 @@ +# -*- coding: utf-8 -*- +############################################ +# NOTICE: This file is autogenerated from # +# regexes.yaml. Do not edit by hand, # +# instead, re-run `setup.py build_regexes` # +############################################ + +from __future__ import absolute_import, unicode_literals +from .user_agent_parser import ( + UserAgentParser, DeviceParser, OSParser, +) + +__all__ = ( + 'USER_AGENT_PARSERS', 'DEVICE_PARSERS', 'OS_PARSERS', +) + +USER_AGENT_PARSERS = [ + UserAgentParser( + '^(Luminary)[Stage]+/(\\d+) CFNetwork', + None, + None, + None, + ), + UserAgentParser( + '(ESPN)[%20| ]+Radio/(\\d+)\\.(\\d+)\\.(\\d+) CFNetwork', + None, + None, + None, + ), + UserAgentParser( + '(Antenna)/(\\d+) CFNetwork', + 'AntennaPod', + None, + None, + ), + UserAgentParser( + '(TopPodcasts)Pro/(\\d+) CFNetwork', + None, + None, + None, + ), + UserAgentParser( + '(MusicDownloader)Lite/(\\d+)\\.(\\d+)\\.(\\d+) CFNetwork', + None, + None, + None, + ), + UserAgentParser( + '^(.*)-iPad\\/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)(?:\\.(\\d+)|) CFNetwork', + None, + None, + None, + ), + UserAgentParser( + '^(.*)-iPhone/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)(?:\\.(\\d+)|) CFNetwork', + None, + None, + None, + ), + UserAgentParser( + '^(.*)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)(?:\\.(\\d+)|) CFNetwork', + None, + None, + None, + ), + UserAgentParser( + '^(Luminary)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(espn\\.go)', + 'ESPN', + None, + None, + ), + UserAgentParser( + '(espnradio\\.com)', + 'ESPN', + None, + None, + ), + UserAgentParser( + 'ESPN APP$', + 'ESPN', + None, + None, + ), + UserAgentParser( + '(audioboom\\.com)', + 'AudioBoom', + None, + None, + ), + UserAgentParser( + ' (Rivo) RHYTHM', + None, + None, + None, + ), + UserAgentParser( + '(CFNetwork)(?:/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)|)', + 'CFNetwork', + None, + None, + ), + UserAgentParser( + '(Pingdom\\.com_bot_version_)(\\d+)\\.(\\d+)', + 'PingdomBot', + None, + None, + ), + UserAgentParser( + '(PingdomTMS)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'PingdomBot', + None, + None, + ), + UserAgentParser( + ' (PTST)/(\\d+)(?:\\.(\\d+)|)$', + 'WebPageTest.org bot', + None, + None, + ), + UserAgentParser( + 'X11; (Datanyze); Linux', + None, + None, + None, + ), + UserAgentParser( + '(NewRelicPinger)/(\\d+)\\.(\\d+)', + 'NewRelicPingerBot', + None, + None, + ), + UserAgentParser( + '(Tableau)/(\\d+)\\.(\\d+)', + 'Tableau', + None, + None, + ), + UserAgentParser( + 'AppleWebKit/\\d+\\.\\d+.* Safari.* (CreativeCloud)/(\\d+)\\.(\\d+).(\\d+)', + 'Adobe CreativeCloud', + None, + None, + ), + UserAgentParser( + '(Salesforce)(?:.)\\/(\\d+)\\.(\\d?)', + None, + None, + None, + ), + UserAgentParser( + '(\\(StatusCake\\))', + 'StatusCakeBot', + None, + None, + ), + UserAgentParser( + '(facebookexternalhit)/(\\d+)\\.(\\d+)', + 'FacebookBot', + None, + None, + ), + UserAgentParser( + 'Google.*/\\+/web/snippet', + 'GooglePlusBot', + None, + None, + ), + UserAgentParser( + 'via ggpht\\.com GoogleImageProxy', + 'GmailImageProxy', + None, + None, + ), + UserAgentParser( + 'YahooMailProxy; https://help\\.yahoo\\.com/kb/yahoo-mail-proxy-SLN28749\\.html', + 'YahooMailProxy', + None, + None, + ), + UserAgentParser( + '(Twitterbot)/(\\d+)\\.(\\d+)', + 'Twitterbot', + None, + None, + ), + UserAgentParser( + '/((?:Ant-|)Nutch|[A-z]+[Bb]ot|[A-z]+[Ss]pider|Axtaris|fetchurl|Isara|ShopSalad|Tailsweep)[ \\-](\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '\\b(008|Altresium|Argus|BaiduMobaider|BoardReader|DNSGroup|DataparkSearch|EDI|Goodzer|Grub|INGRID|Infohelfer|LinkedInBot|LOOQ|Nutch|OgScrper|PathDefender|Peew|PostPost|Steeler|Twitterbot|VSE|WebCrunch|WebZIP|Y!J-BR[A-Z]|YahooSeeker|envolk|sproose|wminer)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(MSIE) (\\d+)\\.(\\d+)([a-z]\\d|[a-z]|);.* MSIECrawler', + 'MSIECrawler', + None, + None, + ), + UserAgentParser( + '(DAVdroid)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(Google-HTTP-Java-Client|Apache-HttpClient|Go-http-client|scalaj-http|http%20client|Python-urllib|HttpMonitor|TLSProber|WinHTTP|JNLP|okhttp|aihttp|reqwest|axios|unirest-(?:java|python|ruby|nodejs|php|net))(?:[ /](\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)', + None, + None, + None, + ), + UserAgentParser( + '(Pinterest(?:bot|))/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)[;\\s(]+\\+https://www.pinterest.com/bot.html', + 'Pinterestbot', + None, + None, + ), + UserAgentParser( + '(CSimpleSpider|Cityreview Robot|CrawlDaddy|CrawlFire|Finderbots|Index crawler|Job Roboter|KiwiStatus Spider|Lijit Crawler|QuerySeekerSpider|ScollSpider|Trends Crawler|USyd-NLP-Spider|SiteCat Webbot|BotName\\/\\$BotVersion|123metaspider-Bot|1470\\.net crawler|50\\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]{1,30}-Agent|AdsBot-Google(?:-[a-z]{1,30}|)|altavista|AppEngine-Google|archive.{0,30}\\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]{1,30})(?:-[A-Za-z]{1,30}|)|bingbot|BingPreview|blitzbot|BlogBridge|Bloglovin|BoardReader Blog Indexer|BoardReader Favicon Fetcher|boitho.com-dc|BotSeer|BUbiNG|\\b\\w{0,30}favicon\\w{0,30}\\b|\\bYeti(?:-[a-z]{1,30}|)|Catchpoint(?: bot|)|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\\(S\\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher|)|Feed Seeker Bot|Feedbin|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]{1,30}-|)Googlebot(?:-[a-zA-Z]{1,30}|)|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile|)|IconSurf|IlTrovatore(?:-Setaccio|)|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]{1,30}Bot|jbot\\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\\.RU_Bot|masscan|masidani_bot|Mediapartners-Google|Microsoft .{0,30} Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media {0,2}|)|msrbot|Mtps Feed Aggregation System|netresearch|Netvibes|NewsGator[^/]{0,30}|^NING|Nutch[^/]{0,30}|Nymesis|ObjectsSearch|OgScrper|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PlantyNet_WebRobot|Pompos|Qwantify|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|SemrushBot|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slackbot-LinkExpanding|Slack-ImgProxy|Slurp|snappy|Speedy Spider|Squrl Java|Stringer|TheUsefulbot|ThumbShotsBot|Thumbshots\\.ru|Tiny Tiny RSS|Twitterbot|WhatsApp|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]{1,30}|WhatWeb|WIRE|WordPress|Wotbox|www\\.almaden\\.ibm\\.com|Xenu(?:.s|) Link Sleuth|Xerka [A-z]{1,30}Bot|yacy(?:bot|)|YahooSeeker|Yahoo! Slurp|Yandex\\w{1,30}|YodaoBot(?:-[A-z]{1,30}|)|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\\.ze\\.bz|ZooShot|ZyBorg)(?:[ /]v?(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)|)|)|)', + None, + None, + None, + ), + UserAgentParser( + '\\b(Boto3?|JetS3t|aws-(?:cli|sdk-(?:cpp|go|java|nodejs|ruby2?|dotnet-(?:\\d{1,2}|core)))|s3fs)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '\\[(FBAN/MessengerForiOS|FB_IAB/MESSENGER);FBAV/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)|)|)', + 'Facebook Messenger', + None, + None, + ), + UserAgentParser( + '\\[FB.*;(FBAV)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + 'Facebook', + None, + None, + ), + UserAgentParser( + '\\[FB.*;', + 'Facebook', + None, + None, + ), + UserAgentParser( + '(?:\\/[A-Za-z0-9\\.]+|) {0,5}([A-Za-z0-9 \\-_\\!\\[\\]:]{0,50}(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]{0,50}))[/ ](\\d+)(?:\\.(\\d+)(?:\\.(\\d+)|)|)', + None, + None, + None, + ), + UserAgentParser( + '((?:[A-Za-z][A-Za-z0-9 -]{0,50}|)[^C][^Uu][Bb]ot)\\b(?:(?:[ /]| v)(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)', + None, + None, + None, + ), + UserAgentParser( + '((?:[A-z0-9]{1,50}|[A-z\\-]{1,50} ?|)(?: the |)(?:[Ss][Pp][Ii][Dd][Ee][Rr]|[Ss]crape|[Cc][Rr][Aa][Ww][Ll])[A-z0-9]{0,50})(?:(?:[ /]| v)(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)', + None, + None, + None, + ), + UserAgentParser( + '(HbbTV)/(\\d+)\\.(\\d+)\\.(\\d+) \\(', + None, + None, + None, + ), + UserAgentParser( + '(Chimera|SeaMonkey|Camino|Waterfox)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*|)', + None, + None, + None, + ), + UserAgentParser( + '(SailfishBrowser)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'Sailfish Browser', + None, + None, + ), + UserAgentParser( + '\\[(Pinterest)/[^\\]]+\\]', + None, + None, + None, + ), + UserAgentParser( + '(Pinterest)(?: for Android(?: Tablet|)|)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + 'Mozilla.*Mobile.*(Instagram).(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + 'Mozilla.*Mobile.*(Flipboard).(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + 'Mozilla.*Mobile.*(Flipboard-Briefing).(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + 'Mozilla.*Mobile.*(Onefootball)\\/Android.(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Snapchat)\\/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Twitter for (?:iPhone|iPad)|TwitterAndroid)(?:\\/(\\d+)\\.(\\d+)|)', + 'Twitter', + None, + None, + ), + UserAgentParser( + '(Firefox)/(\\d+)\\.(\\d+) Basilisk/(\\d+)', + 'Basilisk', + None, + None, + ), + UserAgentParser( + '(PaleMoon)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'Pale Moon', + None, + None, + ), + UserAgentParser( + '(Fennec)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)', + 'Firefox Mobile', + None, + None, + ), + UserAgentParser( + '(Fennec)/(\\d+)\\.(\\d+)(pre)', + 'Firefox Mobile', + None, + None, + ), + UserAgentParser( + '(Fennec)/(\\d+)\\.(\\d+)', + 'Firefox Mobile', + None, + None, + ), + UserAgentParser( + '(?:Mobile|Tablet);.*(Firefox)/(\\d+)\\.(\\d+)', + 'Firefox Mobile', + None, + None, + ), + UserAgentParser( + '(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre|))', + 'Firefox ($1)', + None, + None, + ), + UserAgentParser( + '(Firefox)/(\\d+)\\.(\\d+)(a\\d+[a-z]*)', + 'Firefox Alpha', + None, + None, + ), + UserAgentParser( + '(Firefox)/(\\d+)\\.(\\d+)(b\\d+[a-z]*)', + 'Firefox Beta', + None, + None, + ), + UserAgentParser( + '(Firefox)-(?:\\d+\\.\\d+|)/(\\d+)\\.(\\d+)(a\\d+[a-z]*)', + 'Firefox Alpha', + None, + None, + ), + UserAgentParser( + '(Firefox)-(?:\\d+\\.\\d+|)/(\\d+)\\.(\\d+)(b\\d+[a-z]*)', + 'Firefox Beta', + None, + None, + ), + UserAgentParser( + '(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*|)', + 'Firefox ($1)', + None, + None, + ), + UserAgentParser( + '(Firefox).*Tablet browser (\\d+)\\.(\\d+)\\.(\\d+)', + 'MicroB', + None, + None, + ), + UserAgentParser( + '(MozillaDeveloperPreview)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*|)', + None, + None, + None, + ), + UserAgentParser( + '(FxiOS)/(\\d+)\\.(\\d+)(\\.(\\d+)|)(\\.(\\d+)|)', + 'Firefox iOS', + None, + None, + ), + UserAgentParser( + '(Flock)/(\\d+)\\.(\\d+)(b\\d+?)', + None, + None, + None, + ), + UserAgentParser( + '(RockMelt)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Navigator)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Netscape', + None, + None, + ), + UserAgentParser( + '(Navigator)/(\\d+)\\.(\\d+)([ab]\\d+)', + 'Netscape', + None, + None, + ), + UserAgentParser( + '(Netscape6)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+|)', + 'Netscape', + None, + None, + ), + UserAgentParser( + '(MyIBrow)/(\\d+)\\.(\\d+)', + 'My Internet Browser', + None, + None, + ), + UserAgentParser( + '(UC? ?Browser|UCWEB|U3)[ /]?(\\d+)\\.(\\d+)\\.(\\d+)', + 'UC Browser', + None, + None, + ), + UserAgentParser( + '(Opera Tablet).*Version/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(Opera Mini)(?:/att|)/?(\\d+|)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(Opera)/.+Opera Mobi.+Version/(\\d+)\\.(\\d+)', + 'Opera Mobile', + None, + None, + ), + UserAgentParser( + '(Opera)/(\\d+)\\.(\\d+).+Opera Mobi', + 'Opera Mobile', + None, + None, + ), + UserAgentParser( + 'Opera Mobi.+(Opera)(?:/|\\s+)(\\d+)\\.(\\d+)', + 'Opera Mobile', + None, + None, + ), + UserAgentParser( + 'Opera Mobi', + 'Opera Mobile', + None, + None, + ), + UserAgentParser( + '(Opera)/9.80.*Version/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(?:Mobile Safari).*(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Opera Mobile', + None, + None, + ), + UserAgentParser( + '(?:Chrome).*(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Opera', + None, + None, + ), + UserAgentParser( + '(Coast)/(\\d+).(\\d+).(\\d+)', + 'Opera Coast', + None, + None, + ), + UserAgentParser( + '(OPiOS)/(\\d+).(\\d+).(\\d+)', + 'Opera Mini', + None, + None, + ), + UserAgentParser( + 'Chrome/.+( MMS)/(\\d+).(\\d+).(\\d+)', + 'Opera Neon', + None, + None, + ), + UserAgentParser( + '(hpw|web)OS/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'webOS Browser', + None, + None, + ), + UserAgentParser( + '(luakit)', + 'LuaKit', + None, + None, + ), + UserAgentParser( + '(Snowshoe)/(\\d+)\\.(\\d+).(\\d+)', + None, + None, + None, + ), + UserAgentParser( + 'Gecko/\\d+ (Lightning)/(\\d+)\\.(\\d+)\\.?((?:[ab]?\\d+[a-z]*)|(?:\\d*))', + None, + None, + None, + ), + UserAgentParser( + '(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre|)) \\(Swiftfox\\)', + 'Swiftfox', + None, + None, + ), + UserAgentParser( + '(Firefox)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*|) \\(Swiftfox\\)', + 'Swiftfox', + None, + None, + ), + UserAgentParser( + '(rekonq)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|) Safari', + 'Rekonq', + None, + None, + ), + UserAgentParser( + 'rekonq', + 'Rekonq', + None, + None, + ), + UserAgentParser( + '(conkeror|Conkeror)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'Conkeror', + None, + None, + ), + UserAgentParser( + '(konqueror)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Konqueror', + None, + None, + ), + UserAgentParser( + '(WeTab)-Browser', + None, + None, + None, + ), + UserAgentParser( + '(Comodo_Dragon)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Comodo Dragon', + None, + None, + ), + UserAgentParser( + '(Symphony) (\\d+).(\\d+)', + None, + None, + None, + ), + UserAgentParser( + 'PLAYSTATION 3.+WebKit', + 'NetFront NX', + None, + None, + ), + UserAgentParser( + 'PLAYSTATION 3', + 'NetFront', + None, + None, + ), + UserAgentParser( + '(PlayStation Portable)', + 'NetFront', + None, + None, + ), + UserAgentParser( + '(PlayStation Vita)', + 'NetFront NX', + None, + None, + ), + UserAgentParser( + 'AppleWebKit.+ (NX)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'NetFront NX', + None, + None, + ), + UserAgentParser( + '(Nintendo 3DS)', + 'NetFront NX', + None, + None, + ), + UserAgentParser( + '(Silk)/(\\d+)\\.(\\d+)(?:\\.([0-9\\-]+)|)', + 'Amazon Silk', + None, + None, + ), + UserAgentParser( + '(Puffin)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + 'Windows Phone .*(Edge)/(\\d+)\\.(\\d+)', + 'Edge Mobile', + None, + None, + ), + UserAgentParser( + '(EdgA)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + 'Edge Mobile', + None, + None, + ), + UserAgentParser( + '(EdgiOS)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + 'Edge Mobile', + None, + None, + ), + UserAgentParser( + '(SamsungBrowser)/(\\d+)\\.(\\d+)', + 'Samsung Internet', + None, + None, + ), + UserAgentParser( + '(SznProhlizec)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'Seznam prohlížeč', + None, + None, + ), + UserAgentParser( + '(coc_coc_browser)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'Coc Coc', + None, + None, + ), + UserAgentParser( + '(baidubrowser)[/\\s](\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + 'Baidu Browser', + None, + None, + ), + UserAgentParser( + '(FlyFlow)/(\\d+)\\.(\\d+)', + 'Baidu Explorer', + None, + None, + ), + UserAgentParser( + '(MxBrowser)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'Maxthon', + None, + None, + ), + UserAgentParser( + '(Crosswalk)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Line)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'LINE', + None, + None, + ), + UserAgentParser( + '(MiuiBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'MiuiBrowser', + None, + None, + ), + UserAgentParser( + '(Mint Browser)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Mint Browser', + None, + None, + ), + UserAgentParser( + '(TopBuzz)/(\\d+).(\\d+).(\\d+)', + 'TopBuzz', + None, + None, + ), + UserAgentParser( + 'Mozilla.+Android.+(GSA)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Google', + None, + None, + ), + UserAgentParser( + '(MQQBrowser/Mini)(?:(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)', + 'QQ Browser Mini', + None, + None, + ), + UserAgentParser( + '(MQQBrowser)(?:/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)', + 'QQ Browser Mobile', + None, + None, + ), + UserAgentParser( + '(QQBrowser)(?:/(\\d+)(?:\\.(\\d+)\\.(\\d+)(?:\\.(\\d+)|)|)|)', + 'QQ Browser', + None, + None, + ), + UserAgentParser( + 'Version/.+(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + 'Chrome Mobile WebView', + None, + None, + ), + UserAgentParser( + '; wv\\).+(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + 'Chrome Mobile WebView', + None, + None, + ), + UserAgentParser( + '(CrMo)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + 'Chrome Mobile', + None, + None, + ), + UserAgentParser( + '(CriOS)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + 'Chrome Mobile iOS', + None, + None, + ), + UserAgentParser( + '(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+) Mobile(?:[ /]|$)', + 'Chrome Mobile', + None, + None, + ), + UserAgentParser( + ' Mobile .*(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + 'Chrome Mobile', + None, + None, + ), + UserAgentParser( + '(chromeframe)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Chrome Frame', + None, + None, + ), + UserAgentParser( + '(SLP Browser)/(\\d+)\\.(\\d+)', + 'Tizen Browser', + None, + None, + ), + UserAgentParser( + '(SE 2\\.X) MetaSr (\\d+)\\.(\\d+)', + 'Sogou Explorer', + None, + None, + ), + UserAgentParser( + '(Rackspace Monitoring)/(\\d+)\\.(\\d+)', + 'RackspaceBot', + None, + None, + ), + UserAgentParser( + '(PyAMF)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(YaBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Yandex Browser', + None, + None, + ), + UserAgentParser( + '(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+).* MRCHROME', + 'Mail.ru Chromium Browser', + None, + None, + ), + UserAgentParser( + '(AOL) (\\d+)\\.(\\d+); AOLBuild (\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(PodCruncher|Downcast)[ /]?(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + ' (BoxNotes)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Whale)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+) Mobile(?:[ /]|$)', + 'Whale', + None, + None, + ), + UserAgentParser( + '(Whale)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Whale', + None, + None, + ), + UserAgentParser( + '(1Password)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Ghost)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Slack_SSB)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Slack Desktop Client', + None, + None, + ), + UserAgentParser( + '(HipChat)/?(\\d+|)', + 'HipChat Desktop Client', + None, + None, + ), + UserAgentParser( + '\\b(MobileIron|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Spotify|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\\.Browser|Bunjalloo|Google Earth|Raven for Mac|Openwave|MacOutlook|Electron|OktaMobile)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + 'Microsoft Office Outlook 12\\.\\d+\\.\\d+|MSOffice 12', + 'Outlook', + '2007', + None, + ), + UserAgentParser( + 'Microsoft Outlook 14\\.\\d+\\.\\d+|MSOffice 14', + 'Outlook', + '2010', + None, + ), + UserAgentParser( + 'Microsoft Outlook 15\\.\\d+\\.\\d+', + 'Outlook', + '2013', + None, + ), + UserAgentParser( + 'Microsoft Outlook (?:Mail )?16\\.\\d+\\.\\d+|MSOffice 16', + 'Outlook', + '2016', + None, + ), + UserAgentParser( + 'Microsoft Office (Word) 2014', + None, + None, + None, + ), + UserAgentParser( + 'Outlook-Express\\/7\\.0.*', + 'Windows Live Mail', + None, + None, + ), + UserAgentParser( + '(Airmail) (\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(Thunderbird)/(\\d+)\\.(\\d+)(?:\\.(\\d+(?:pre|))|)', + 'Thunderbird', + None, + None, + ), + UserAgentParser( + '(Postbox)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Postbox', + None, + None, + ), + UserAgentParser( + '(Barca(?:Pro)?)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'Barca', + None, + None, + ), + UserAgentParser( + '(Lotus-Notes)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'Lotus Notes', + None, + None, + ), + UserAgentParser( + 'Superhuman', + 'Superhuman', + None, + None, + ), + UserAgentParser( + '(Vivaldi)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Edge?)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + 'Edge', + None, + None, + ), + UserAgentParser( + '(brave)/(\\d+)\\.(\\d+)\\.(\\d+) Chrome', + 'Brave', + None, + None, + ), + UserAgentParser( + '(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)[\\d.]* Iron[^/]', + 'Iron', + None, + None, + ), + UserAgentParser( + '\\b(Dolphin)(?: |HDCN/|/INT\\-)(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(HeadlessChrome)(?:/(\\d+)\\.(\\d+)\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(Evolution)/(\\d+)\\.(\\d+)\\.(\\d+\\.\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(RCM CardDAV plugin)/(\\d+)\\.(\\d+)\\.(\\d+(?:-dev|))', + None, + None, + None, + ), + UserAgentParser( + '(bingbot|Bolt|AdobeAIR|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|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|iTunes|MacAppStore|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser|mDolphin|qutebrowser|Otter|QupZilla|MailBar|kmail2|YahooMobileMail|ExchangeWebServices|ExchangeServicesClient|Dragon|Outlook-iOS-Android)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(Chromium|Chrome)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(IEMobile)[ /](\\d+)\\.(\\d+)', + 'IE Mobile', + None, + None, + ), + UserAgentParser( + '(BacaBerita App)\\/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '^(bPod|Pocket Casts|Player FM)$', + None, + None, + None, + ), + UserAgentParser( + '^(AlexaMediaPlayer|VLC)/(\\d+)\\.(\\d+)\\.([^.\\s]+)', + None, + None, + None, + ), + UserAgentParser( + '^(AntennaPod|WMPlayer|Zune|Podkicker|Radio|ExoPlayerDemo|Overcast|PocketTunes|NSPlayer|okhttp|DoggCatcher|QuickNews|QuickTime|Peapod|Podcasts|GoldenPod|VLC|Spotify|Miro|MediaGo|Juice|iPodder|gPodder|Banshee)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '^(Peapod|Liferea)/([^.\\s]+)\\.([^.\\s]+|)\\.?([^.\\s]+|)', + None, + None, + None, + ), + UserAgentParser( + '^(bPod|Player FM) BMID/(\\S+)', + None, + None, + None, + ), + UserAgentParser( + '^(Podcast ?Addict)/v(\\d+) ', + None, + None, + None, + ), + UserAgentParser( + '^(Podcast ?Addict) ', + 'PodcastAddict', + None, + None, + ), + UserAgentParser( + '(Replay) AV', + None, + None, + None, + ), + UserAgentParser( + '(VOX) Music Player', + None, + None, + None, + ), + UserAgentParser( + '(CITA) RSS Aggregator/(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Pocket Casts)$', + None, + None, + None, + ), + UserAgentParser( + '(Player FM)$', + None, + None, + None, + ), + UserAgentParser( + '(LG Player|Doppler|FancyMusic|MediaMonkey|Clementine) (\\d+)\\.(\\d+)\\.?([^.\\s]+|)\\.?([^.\\s]+|)', + None, + None, + None, + ), + UserAgentParser( + '(philpodder)/(\\d+)\\.(\\d+)\\.?([^.\\s]+|)\\.?([^.\\s]+|)', + None, + None, + None, + ), + UserAgentParser( + '(Player FM|Pocket Casts|DoggCatcher|Spotify|MediaMonkey|MediaGo|BashPodder)', + None, + None, + None, + ), + UserAgentParser( + '(QuickTime)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Kinoma)(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Fancy) Cloud Music (\\d+)\\.(\\d+)', + 'FancyMusic', + None, + None, + ), + UserAgentParser( + 'EspnDownloadManager', + 'ESPN', + None, + None, + ), + UserAgentParser( + '(ESPN) Radio (\\d+)\\.(\\d+)(?:\\.(\\d+)|) ?(?:rv:(\\d+)|) ', + None, + None, + None, + ), + UserAgentParser( + '(podracer|jPodder) v ?(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(ZDM)/(\\d+)\\.(\\d+)[; ]?', + None, + None, + None, + ), + UserAgentParser( + '(Zune|BeyondPod) (\\d+)(?:\\.(\\d+)|)[\\);]', + None, + None, + None, + ), + UserAgentParser( + '(WMPlayer)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '^(Lavf)', + 'WMPlayer', + None, + None, + ), + UserAgentParser( + '^(RSSRadio)[ /]?(\\d+|)', + None, + None, + None, + ), + UserAgentParser( + '(RSS_Radio) (\\d+)\\.(\\d+)', + 'RSSRadio', + None, + None, + ), + UserAgentParser( + '(Podkicker) \\S+/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Podkicker', + None, + None, + ), + UserAgentParser( + '^(HTC) Streaming Player \\S+ / \\S+ / \\S+ / (\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '^(Stitcher)/iOS', + None, + None, + None, + ), + UserAgentParser( + '^(Stitcher)/Android', + None, + None, + None, + ), + UserAgentParser( + '^(VLC) .*version (\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + ' (VLC) for', + None, + None, + None, + ), + UserAgentParser( + '(vlc)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'VLC', + None, + None, + ), + UserAgentParser( + '^(foobar)\\S+/([^.\\s]+)\\.([^.\\s]+|)\\.?([^.\\s]+|)', + None, + None, + None, + ), + UserAgentParser( + '^(Clementine)\\S+ ([^.\\s]+)\\.([^.\\s]+|)\\.?([^.\\s]+|)', + None, + None, + None, + ), + UserAgentParser( + '(amarok)/([^.\\s]+)\\.([^.\\s]+|)\\.?([^.\\s]+|)', + 'Amarok', + None, + None, + ), + UserAgentParser( + '(Custom)-Feed Reader', + None, + None, + None, + ), + UserAgentParser( + '(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(iCab|Lunascape|Opera|Android|Jasmine|Polaris|Microsoft SkyDriveSync|The Bat!) (\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(Kindle)/(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Android) Donut', + None, + '1', + '2', + ), + UserAgentParser( + '(Android) Eclair', + None, + '2', + '1', + ), + UserAgentParser( + '(Android) Froyo', + None, + '2', + '2', + ), + UserAgentParser( + '(Android) Gingerbread', + None, + '2', + '3', + ), + UserAgentParser( + '(Android) Honeycomb', + None, + '3', + None, + ), + UserAgentParser( + '(MSIE) (\\d+)\\.(\\d+).*XBLWP7', + 'IE Large Screen', + None, + None, + ), + UserAgentParser( + '(Nextcloud)', + None, + None, + None, + ), + UserAgentParser( + '(mirall)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(ownCloud-android)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Owncloud', + None, + None, + ), + UserAgentParser( + '(OC)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+) \\(Skype for Business\\)', + 'Skype', + None, + None, + ), + UserAgentParser( + '(Obigo)InternetBrowser', + None, + None, + None, + ), + UserAgentParser( + '(Obigo)\\-Browser', + None, + None, + None, + ), + UserAgentParser( + '(Obigo|OBIGO)[^\\d]*(\\d+)(?:.(\\d+)|)', + 'Obigo', + None, + None, + ), + UserAgentParser( + '(MAXTHON|Maxthon) (\\d+)\\.(\\d+)', + 'Maxthon', + None, + None, + ), + UserAgentParser( + '(Maxthon|MyIE2|Uzbl|Shiira)', + None, + '0', + None, + ), + UserAgentParser( + '(BrowseX) \\((\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(NCSA_Mosaic)/(\\d+)\\.(\\d+)', + 'NCSA Mosaic', + None, + None, + ), + UserAgentParser( + '(POLARIS)/(\\d+)\\.(\\d+)', + 'Polaris', + None, + None, + ), + UserAgentParser( + '(Embider)/(\\d+)\\.(\\d+)', + 'Polaris', + None, + None, + ), + UserAgentParser( + '(BonEcho)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+|)', + 'Bon Echo', + None, + None, + ), + UserAgentParser( + '(TopBuzz) com.alex.NewsMaster/(\\d+).(\\d+).(\\d+)', + 'TopBuzz', + None, + None, + ), + UserAgentParser( + '(TopBuzz) com.mobilesrepublic.newsrepublic/(\\d+).(\\d+).(\\d+)', + 'TopBuzz', + None, + None, + ), + UserAgentParser( + '(TopBuzz) com.topbuzz.videoen/(\\d+).(\\d+).(\\d+)', + 'TopBuzz', + None, + None, + ), + UserAgentParser( + '(iPod|iPhone|iPad).+GSA/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+)|) Mobile', + 'Google', + None, + None, + ), + UserAgentParser( + '(iPod|iPhone|iPad).+Version/(\\d+)\\.(\\d+)(?:\\.(\\d+)|).*[ +]Safari', + 'Mobile Safari', + None, + None, + ), + UserAgentParser( + '(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+)|).* AppleNews\\/\\d+\\.\\d+\\.\\d+?', + 'Mobile Safari UI/WKWebView', + None, + None, + ), + UserAgentParser( + '(iPod|iPhone|iPad).+Version/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'Mobile Safari UI/WKWebView', + None, + None, + ), + UserAgentParser( + '(iPod|iPod touch|iPhone|iPad).* Safari', + 'Mobile Safari', + None, + None, + ), + UserAgentParser( + '(iPod|iPod touch|iPhone|iPad)', + 'Mobile Safari UI/WKWebView', + None, + None, + ), + UserAgentParser( + '(Watch)(\\d+),(\\d+)', + 'Apple $1 App', + None, + None, + ), + UserAgentParser( + '(Outlook-iOS)/\\d+\\.\\d+\\.prod\\.iphone \\((\\d+)\\.(\\d+)\\.(\\d+)\\)', + None, + None, + None, + ), + UserAgentParser( + '(AvantGo) (\\d+).(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(OneBrowser)/(\\d+).(\\d+)', + 'ONE Browser', + None, + None, + ), + UserAgentParser( + '(Avant)', + None, + '1', + None, + ), + UserAgentParser( + '(QtCarBrowser)', + None, + '1', + None, + ), + UserAgentParser( + '^(iBrowser/Mini)(\\d+).(\\d+)', + 'iBrowser Mini', + None, + None, + ), + UserAgentParser( + '^(iBrowser|iRAPP)/(\\d+).(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '^(Nokia)', + 'Nokia Services (WAP) Browser', + None, + None, + ), + UserAgentParser( + '(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)\\.(\\d+)', + 'Nokia Browser', + None, + None, + ), + UserAgentParser( + '(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)', + 'Nokia Browser', + None, + None, + ), + UserAgentParser( + '(NokiaBrowser)/(\\d+)\\.(\\d+)', + 'Nokia Browser', + None, + None, + ), + UserAgentParser( + '(BrowserNG)/(\\d+)\\.(\\d+).(\\d+)', + 'Nokia Browser', + None, + None, + ), + UserAgentParser( + '(Series60)/5\\.0', + 'Nokia Browser', + '7', + '0', + ), + UserAgentParser( + '(Series60)/(\\d+)\\.(\\d+)', + 'Nokia OSS Browser', + None, + None, + ), + UserAgentParser( + '(S40OviBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)', + 'Ovi Browser', + None, + None, + ), + UserAgentParser( + '(Nokia)[EN]?(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(PlayBook).+RIM Tablet OS (\\d+)\\.(\\d+)\\.(\\d+)', + 'BlackBerry WebKit', + None, + None, + ), + UserAgentParser( + '(Black[bB]erry|BB10).+Version/(\\d+)\\.(\\d+)\\.(\\d+)', + 'BlackBerry WebKit', + None, + None, + ), + UserAgentParser( + '(Black[bB]erry)\\s?(\\d+)', + 'BlackBerry', + None, + None, + ), + UserAgentParser( + '(OmniWeb)/v(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Blazer)/(\\d+)\\.(\\d+)', + 'Palm Blazer', + None, + None, + ), + UserAgentParser( + '(Pre)/(\\d+)\\.(\\d+)', + 'Palm Pre', + None, + None, + ), + UserAgentParser( + '(ELinks)/(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(ELinks) \\((\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Links) \\((\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(QtWeb) Internet Browser/(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(PhantomJS)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(AppleWebKit)/(\\d+)(?:\\.(\\d+)|)\\+ .* Safari', + 'WebKit Nightly', + None, + None, + ), + UserAgentParser( + '(Version)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|).*Safari/', + 'Safari', + None, + None, + ), + UserAgentParser( + '(Safari)/\\d+', + None, + None, + None, + ), + UserAgentParser( + '(OLPC)/Update(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(OLPC)/Update()\\.(\\d+)', + None, + '0', + None, + ), + UserAgentParser( + '(SEMC\\-Browser)/(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Teleca)', + 'Teleca Browser', + None, + None, + ), + UserAgentParser( + '(Phantom)/V(\\d+)\\.(\\d+)', + 'Phantom Browser', + None, + None, + ), + UserAgentParser( + '(Trident)/(7|8)\\.(0)', + 'IE', + '11', + None, + ), + UserAgentParser( + '(Trident)/(6)\\.(0)', + 'IE', + '10', + None, + ), + UserAgentParser( + '(Trident)/(5)\\.(0)', + 'IE', + '9', + None, + ), + UserAgentParser( + '(Trident)/(4)\\.(0)', + 'IE', + '8', + None, + ), + UserAgentParser( + '(Espial)/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '(AppleWebKit)/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Apple Mail', + None, + None, + ), + UserAgentParser( + '(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Firefox)/(\\d+)\\.(\\d+)(pre|[ab]\\d+[a-z]*|)', + None, + None, + None, + ), + UserAgentParser( + '([MS]?IE) (\\d+)\\.(\\d+)', + 'IE', + None, + None, + ), + UserAgentParser( + '(python-requests)/(\\d+)\\.(\\d+)', + 'Python Requests', + None, + None, + ), + UserAgentParser( + '\\b(Windows-Update-Agent|Microsoft-CryptoAPI|SophosUpdateManager|SophosAgent|Debian APT-HTTP|Ubuntu APT-HTTP|libcurl-agent|libwww-perl|urlgrabber|curl|PycURL|Wget|aria2|Axel|OpenBSD ftp|lftp|jupdate|insomnia|fetch libfetch|akka-http|got)(?:[ /](\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)', + None, + None, + None, + ), + UserAgentParser( + '(Python/3\\.\\d{1,3} aiohttp)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Python/3\\.\\d{1,3} aiohttp)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Java)[/ ]?\\d+\\.(\\d+)\\.(\\d+)[_-]*([a-zA-Z0-9]+|)', + None, + None, + None, + ), + UserAgentParser( + '^(Cyberduck)/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.\\d+|)', + None, + None, + None, + ), + UserAgentParser( + '^(S3 Browser) (\\d+)-(\\d+)-(\\d+)(?:\\s*http://s3browser\\.com|)', + None, + None, + None, + ), + UserAgentParser( + '(S3Gof3r)', + None, + None, + None, + ), + UserAgentParser( + '\\b(ibm-cos-sdk-(?:core|java|js|python))/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + None, + None, + None, + ), + UserAgentParser( + '^(rusoto)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '^(rclone)/v(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '^(Roku)/DVP-(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '(Kurio)\\/(\\d+)\\.(\\d+)\\.(\\d+)', + 'Kurio App', + None, + None, + ), + UserAgentParser( + '^(Box(?: Sync)?)/(\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + ), + UserAgentParser( + '^(ViaFree|Viafree)-(?:tvOS-)?[A-Z]{2}/(\\d+)\\.(\\d+)\\.(\\d+)', + 'ViaFree', + None, + None, + ), +] + +DEVICE_PARSERS = [ + DeviceParser( + '(?:(?:iPhone|Windows CE|Windows Phone|Android).*(?:(?:Bot|Yeti)-Mobile|YRSpider|BingPreview|bots?/\\d|(?:bot|spider)\\.html)|AdsBot-Google-Mobile.*iPhone)', + 'i', + 'Spider', + 'Spider', + 'Smartphone', + ), + DeviceParser( + '(?:DoCoMo|\\bMOT\\b|\\bLG\\b|Nokia|Samsung|SonyEricsson).*(?:(?:Bot|Yeti)-Mobile|bots?/\\d|(?:bot|crawler)\\.html|(?:jump|google|Wukong)bot|ichiro/mobile|/spider|YahooSeeker)', + 'i', + 'Spider', + 'Spider', + 'Feature Phone', + ), + DeviceParser( + ' PTST/\\d+(?:\\.)?\\d+$', + None, + 'Spider', + 'Spider', + None, + ), + DeviceParser( + 'X11; Datanyze; Linux', + None, + 'Spider', + 'Spider', + None, + ), + DeviceParser( + '\\bSmartWatch {0,2}\\( {0,2}([^;]+) {0,2}; {0,2}([^;]+) {0,2};', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + 'Android Application[^\\-]+ - (Sony) ?(Ericsson|) (.+) \\w+ - ', + None, + '$1 $2', + '$1$2', + '$3', + ), + DeviceParser( + 'Android Application[^\\-]+ - (?:HTC|HUAWEI|LGE|LENOVO|MEDION|TCT) (HTC|HUAWEI|LG|LENOVO|MEDION|ALCATEL)[ _\\-](.+) \\w+ - ', + 'i', + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + 'Android Application[^\\-]+ - ([^ ]+) (.+) \\w+ - ', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *([BLRQ]C\\d{4}[A-Z]+?)(?: Build|\\) AppleWebKit)', + None, + '3Q $1', + '3Q', + '$1', + ), + DeviceParser( + '; *(?:3Q_)([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '3Q $1', + '3Q', + '$1', + ), + DeviceParser( + 'Android [34].*; *(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700(?: Lite| 3G|)|A701|B1-A71|A1-\\d{3}|B1-\\d{3}|V360|V370|W500|W500P|W501|W501P|W510|W511|W700|Slider SL101|DA22[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Acer', + '$1', + ), + DeviceParser( + '; *Acer Iconia Tab ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Acer', + '$1', + ), + DeviceParser( + '; *(Z1[1235]0|E320[^/]*|S500|S510|Liquid[^;/]*|Iconia A\\d+)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Acer', + '$1', + ), + DeviceParser( + '; *(Acer |ACER )([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Acer', + '$2', + ), + DeviceParser( + '; *(Advent |)(Vega(?:Bean|Comb|)).*?(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Advent', + '$2', + ), + DeviceParser( + '; *(Ainol |)((?:NOVO|[Nn]ovo)[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Ainol', + '$2', + ), + DeviceParser( + '; *AIRIS[ _\\-]?([^/;\\)]+) *(?:;|\\)|Build)', + 'i', + '$1', + 'Airis', + '$1', + ), + DeviceParser( + '; *(OnePAD[^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + '$1', + 'Airis', + '$1', + ), + DeviceParser( + '; *Airpad[ \\-]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Airpad $1', + 'Airpad', + '$1', + ), + DeviceParser( + '; *(one ?touch) (EVO7|T10|T20)(?: Build|\\) AppleWebKit)', + None, + 'Alcatel One Touch $2', + 'Alcatel', + 'One Touch $2', + ), + DeviceParser( + '; *(?:alcatel[ _]|)(?:(?:one[ _]?touch[ _])|ot[ \\-])([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + 'Alcatel One Touch $1', + 'Alcatel', + 'One Touch $1', + ), + DeviceParser( + '; *(TCL)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *(Vodafone Smart II|Optimus_Madrid)(?: Build|\\) AppleWebKit)', + None, + 'Alcatel $1', + 'Alcatel', + '$1', + ), + DeviceParser( + '; *BASE_Lutea_3(?: Build|\\) AppleWebKit)', + None, + 'Alcatel One Touch 998', + 'Alcatel', + 'One Touch 998', + ), + DeviceParser( + '; *BASE_Varia(?: Build|\\) AppleWebKit)', + None, + 'Alcatel One Touch 918D', + 'Alcatel', + 'One Touch 918D', + ), + DeviceParser( + '; *((?:FINE|Fine)\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Allfine', + '$1', + ), + DeviceParser( + '; *(ALLVIEW[ _]?|Allview[ _]?)((?:Speed|SPEED).*?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Allview', + '$2', + ), + DeviceParser( + '; *(ALLVIEW[ _]?|Allview[ _]?|)(AX1_Shine|AX2_Frenzy)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Allview', + '$2', + ), + DeviceParser( + '; *(ALLVIEW[ _]?|Allview[ _]?)([^;/]*?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Allview', + '$2', + ), + DeviceParser( + '; *(A13-MID)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Allwinner', + '$1', + ), + DeviceParser( + '; *(Allwinner)[ _\\-]?([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Allwinner', + '$1', + ), + DeviceParser( + '; *(A651|A701B?|A702|A703|A705|A706|A707|A711|A712|A713|A717|A722|A785|A801|A802|A803|A901|A902|A1002|A1003|A1006|A1007|A9701|A9703|Q710|Q80)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Amaway', + '$1', + ), + DeviceParser( + '; *(?:AMOI|Amoi)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Amoi $1', + 'Amoi', + '$1', + ), + DeviceParser( + '^(?:AMOI|Amoi)[ _]([^;/]+?) Linux', + None, + 'Amoi $1', + 'Amoi', + '$1', + ), + DeviceParser( + '; *(MW(?:0[789]|10)[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Aoc', + '$1', + ), + DeviceParser( + '; *(G7|M1013|M1015G|M11[CG]?|M-?12[B]?|M15|M19[G]?|M30[ACQ]?|M31[GQ]|M32|M33[GQ]|M36|M37|M38|M701T|M710|M712B|M713|M715G|M716G|M71(?:G|GS|T|)|M72[T]?|M73[T]?|M75[GT]?|M77G|M79T|M7L|M7LN|M81|M810|M81T|M82|M92|M92KS|M92S|M717G|M721|M722G|M723|M725G|M739|M785|M791|M92SK|M93D)(?: Build|\\) AppleWebKit)', + None, + 'Aoson $1', + 'Aoson', + '$1', + ), + DeviceParser( + '; *Aoson ([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + 'Aoson $1', + 'Aoson', + '$1', + ), + DeviceParser( + '; *[Aa]panda[ _\\-]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Apanda $1', + 'Apanda', + '$1', + ), + DeviceParser( + '; *(?:ARCHOS|Archos) ?(GAMEPAD.*?)(?: Build|\\) AppleWebKit)', + None, + 'Archos $1', + 'Archos', + '$1', + ), + DeviceParser( + 'ARCHOS; GOGI; ([^;]+);', + None, + 'Archos $1', + 'Archos', + '$1', + ), + DeviceParser( + '(?:ARCHOS|Archos)[ _]?(.*?)(?: Build|[;/\\(\\)\\-]|$)', + None, + 'Archos $1', + 'Archos', + '$1', + ), + DeviceParser( + '; *(AN(?:7|8|9|10|13)[A-Z0-9]{1,4})(?: Build|\\) AppleWebKit)', + None, + 'Archos $1', + 'Archos', + '$1', + ), + DeviceParser( + '; *(A28|A32|A43|A70(?:BHT|CHT|HB|S|X)|A101(?:B|C|IT)|A7EB|A7EB-WK|101G9|80G9)(?: Build|\\) AppleWebKit)', + None, + 'Archos $1', + 'Archos', + '$1', + ), + DeviceParser( + '; *(PAD-FMD[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Arival', + '$1', + ), + DeviceParser( + '; *(BioniQ) ?([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Arival', + '$1 $2', + ), + DeviceParser( + '; *(AN\\d[^;/]+|ARCHM\\d+)(?: Build|\\) AppleWebKit)', + None, + 'Arnova $1', + 'Arnova', + '$1', + ), + DeviceParser( + '; *(?:ARNOVA|Arnova) ?([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Arnova $1', + 'Arnova', + '$1', + ), + DeviceParser( + '; *(?:ASSISTANT |)(AP)-?([1789]\\d{2}[A-Z]{0,2}|80104)(?: Build|\\) AppleWebKit)', + None, + 'Assistant $1-$2', + 'Assistant', + '$1-$2', + ), + DeviceParser( + '; *(ME17\\d[^;/]*|ME3\\d{2}[^;/]+|K00[A-Z]|Nexus 10|Nexus 7(?: 2013|)|PadFone[^;/]*|Transformer[^;/]*|TF\\d{3}[^;/]*|eeepc)(?: Build|\\) AppleWebKit)', + None, + 'Asus $1', + 'Asus', + '$1', + ), + DeviceParser( + '; *ASUS[ _]*([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Asus $1', + 'Asus', + '$1', + ), + DeviceParser( + '; *Garmin-Asus ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Garmin-Asus $1', + 'Garmin-Asus', + '$1', + ), + DeviceParser( + '; *(Garminfone)(?: Build|\\) AppleWebKit)', + None, + 'Garmin $1', + 'Garmin-Asus', + '$1', + ), + DeviceParser( + '; (@TAB-[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Attab', + '$1', + ), + DeviceParser( + '; *(T-(?:07|[^0]\\d)[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Audiosonic', + '$1', + ), + DeviceParser( + '; *(?:Axioo[ _\\-]([^;/]+?)|(picopad)[ _\\-]([^;/]+?))(?: Build|\\) AppleWebKit)', + 'i', + 'Axioo $1$2 $3', + 'Axioo', + '$1$2 $3', + ), + DeviceParser( + '; *(V(?:100|700|800)[^;/]*)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Azend', + '$1', + ), + DeviceParser( + '; *(IBAK\\-[^;/]*)(?: Build|\\) AppleWebKit)', + 'i', + '$1', + 'Bak', + '$1', + ), + DeviceParser( + '; *(HY5001|HY6501|X12|X21|I5)(?: Build|\\) AppleWebKit)', + None, + 'Bedove $1', + 'Bedove', + '$1', + ), + DeviceParser( + '; *(JC-[^;/]*)(?: Build|\\) AppleWebKit)', + None, + 'Benss $1', + 'Benss', + '$1', + ), + DeviceParser( + '; *(BB) ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Blackberry', + '$2', + ), + DeviceParser( + '; *(BlackBird)[ _](I8.*?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *(BlackBird)[ _](.*?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *([0-9]+BP[EM][^;/]*|Endeavour[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Blaupunkt $1', + 'Blaupunkt', + '$1', + ), + DeviceParser( + '; *((?:BLU|Blu)[ _\\-])([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Blu', + '$2', + ), + DeviceParser( + '; *(?:BMOBILE )?(Blu|BLU|DASH [^;/]+|VIVO 4\\.3|TANK 4\\.5)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Blu', + '$1', + ), + DeviceParser( + '; *(TOUCH\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Blusens', + '$1', + ), + DeviceParser( + '; *(AX5\\d+)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Bmobile', + '$1', + ), + DeviceParser( + '; *([Bb]q) ([^;/]+?);?(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'bq', + '$2', + ), + DeviceParser( + '; *(Maxwell [^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'bq', + '$1', + ), + DeviceParser( + '; *((?:B-Tab|B-TAB) ?\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Braun', + '$1', + ), + DeviceParser( + '; *(Broncho) ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *CAPTIVA ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Captiva $1', + 'Captiva', + '$1', + ), + DeviceParser( + '; *(C771|CAL21|IS11CA)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Casio', + '$1', + ), + DeviceParser( + '; *(?:Cat|CAT) ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Cat $1', + 'Cat', + '$1', + ), + DeviceParser( + '; *(?:Cat)(Nova.*?)(?: Build|\\) AppleWebKit)', + None, + 'Cat $1', + 'Cat', + '$1', + ), + DeviceParser( + '; *(INM8002KP|ADM8000KP_[AB])(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Cat', + 'Tablet PHOENIX 8.1J0', + ), + DeviceParser( + '; *(?:[Cc]elkon[ _\\*]|CELKON[ _\\*])([^;/\\)]+) ?(?:Build|;|\\))', + None, + '$1', + 'Celkon', + '$1', + ), + DeviceParser( + 'Build/(?:[Cc]elkon)+_?([^;/_\\)]+)', + None, + '$1', + 'Celkon', + '$1', + ), + DeviceParser( + '; *(CT)-?(\\d+)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Celkon', + '$1$2', + ), + DeviceParser( + '; *(A19|A19Q|A105|A107[^;/\\)]*) ?(?:Build|;|\\))', + None, + '$1', + 'Celkon', + '$1', + ), + DeviceParser( + '; *(TPC[0-9]{4,5})(?: Build|\\) AppleWebKit)', + None, + '$1', + 'ChangJia', + '$1', + ), + DeviceParser( + '; *(Cloudfone)[ _](Excite)([^ ][^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2 $3', + 'Cloudfone', + '$1 $2 $3', + ), + DeviceParser( + '; *(Excite|ICE)[ _](\\d+[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Cloudfone $1 $2', + 'Cloudfone', + 'Cloudfone $1 $2', + ), + DeviceParser( + '; *(Cloudfone|CloudPad)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Cloudfone', + '$1 $2', + ), + DeviceParser( + '; *((?:Aquila|Clanga|Rapax)[^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + '$1', + 'Cmx', + '$1', + ), + DeviceParser( + '; *(?:CFW-|Kyros )?(MID[0-9]{4}(?:[ABC]|SR|TV)?)(\\(3G\\)-4G| GB 8K| 3G| 8K| GB)? *(?:Build|[;\\)])', + None, + 'CobyKyros $1$2', + 'CobyKyros', + '$1$2', + ), + DeviceParser( + '; *([^;/]*)Coolpad[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Coolpad', + '$1$2', + ), + DeviceParser( + '; *(CUBE[ _])?([KU][0-9]+ ?GT.*?|A5300)(?: Build|\\) AppleWebKit)', + 'i', + '$1$2', + 'Cube', + '$2', + ), + DeviceParser( + '; *CUBOT ([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + '$1', + 'Cubot', + '$1', + ), + DeviceParser( + '; *(BOBBY)(?: Build|\\) AppleWebKit)', + 'i', + '$1', + 'Cubot', + '$1', + ), + DeviceParser( + '; *(Dslide [^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Danew', + '$1', + ), + DeviceParser( + '; *(XCD)[ _]?(28|35)(?: Build|\\) AppleWebKit)', + None, + 'Dell $1$2', + 'Dell', + '$1$2', + ), + DeviceParser( + '; *(001DL)(?: Build|\\) AppleWebKit)', + None, + 'Dell $1', + 'Dell', + 'Streak', + ), + DeviceParser( + '; *(?:Dell|DELL) (Streak)(?: Build|\\) AppleWebKit)', + None, + 'Dell $1', + 'Dell', + 'Streak', + ), + DeviceParser( + '; *(101DL|GS01|Streak Pro[^;/]*)(?: Build|\\) AppleWebKit)', + None, + 'Dell $1', + 'Dell', + 'Streak Pro', + ), + DeviceParser( + '; *([Ss]treak ?7)(?: Build|\\) AppleWebKit)', + None, + 'Dell $1', + 'Dell', + 'Streak 7', + ), + DeviceParser( + '; *(Mini-3iX)(?: Build|\\) AppleWebKit)', + None, + 'Dell $1', + 'Dell', + '$1', + ), + DeviceParser( + '; *(?:Dell|DELL)[ _](Aero|Venue|Thunder|Mini.*?|Streak[ _]Pro)(?: Build|\\) AppleWebKit)', + None, + 'Dell $1', + 'Dell', + '$1', + ), + DeviceParser( + '; *Dell[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Dell $1', + 'Dell', + '$1', + ), + DeviceParser( + '; *Dell ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Dell $1', + 'Dell', + '$1', + ), + DeviceParser( + '; *(TA[CD]-\\d+[^;/]*)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Denver', + '$1', + ), + DeviceParser( + '; *(iP[789]\\d{2}(?:-3G)?|IP10\\d{2}(?:-8GB)?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Dex', + '$1', + ), + DeviceParser( + '; *(AirTab)[ _\\-]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'DNS', + '$1 $2', + ), + DeviceParser( + '; *(F\\-\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Fujitsu', + '$1', + ), + DeviceParser( + '; *(HT-03A)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'HTC', + 'Magic', + ), + DeviceParser( + '; *(HT\\-\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'HTC', + '$1', + ), + DeviceParser( + '; *(L\\-\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'LG', + '$1', + ), + DeviceParser( + '; *(N\\-\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Nec', + '$1', + ), + DeviceParser( + '; *(P\\-\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Panasonic', + '$1', + ), + DeviceParser( + '; *(SC\\-\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Samsung', + '$1', + ), + DeviceParser( + '; *(SH\\-\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Sharp', + '$1', + ), + DeviceParser( + '; *(SO\\-\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'SonyEricsson', + '$1', + ), + DeviceParser( + '; *(T\\-0[12][^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Toshiba', + '$1', + ), + DeviceParser( + '; *(DOOV)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'DOOV', + '$2', + ), + DeviceParser( + '; *(Enot|ENOT)[ -]?([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Enot', + '$2', + ), + DeviceParser( + '; *[^;/]+ Build/(?:CROSS|Cross)+[ _\\-]([^\\)]+)', + None, + 'CROSS $1', + 'Evercoss', + 'Cross $1', + ), + DeviceParser( + '; *(CROSS|Cross)[ _\\-]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Evercoss', + 'Cross $2', + ), + DeviceParser( + '; *Explay[_ ](.+?)(?:[\\)]| Build)', + None, + '$1', + 'Explay', + '$1', + ), + DeviceParser( + '; *(IQ.*?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Fly', + '$1', + ), + DeviceParser( + '; *(Fly|FLY)[ _](IQ[^;]+?|F[34]\\d+[^;]*?);?(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Fly', + '$2', + ), + DeviceParser( + '; *(M532|Q572|FJL21)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Fujitsu', + '$1', + ), + DeviceParser( + '; *(G1)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Galapad', + '$1', + ), + DeviceParser( + '; *(Geeksphone) ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *(G[^F]?FIVE) ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Gfive', + '$2', + ), + DeviceParser( + '; *(Gionee)[ _\\-]([^;/]+?)(?:/[^;/]+|)(?: Build|\\) AppleWebKit)', + 'i', + '$1 $2', + 'Gionee', + '$2', + ), + DeviceParser( + '; *(GN\\d+[A-Z]?|INFINITY_PASSION|Ctrl_V1)(?: Build|\\) AppleWebKit)', + None, + 'Gionee $1', + 'Gionee', + '$1', + ), + DeviceParser( + '; *(E3) Build/JOP40D', + None, + 'Gionee $1', + 'Gionee', + '$1', + ), + DeviceParser( + '\\sGIONEE[-\\s_](\\w*)', + 'i', + 'Gionee $1', + 'Gionee', + '$1', + ), + DeviceParser( + '; *((?:FONE|QUANTUM|INSIGNIA) \\d+[^;/]*|PLAYTAB)(?: Build|\\) AppleWebKit)', + None, + 'GoClever $1', + 'GoClever', + '$1', + ), + DeviceParser( + '; *GOCLEVER ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'GoClever $1', + 'GoClever', + '$1', + ), + DeviceParser( + '; *(Glass \\d+)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Google', + '$1', + ), + DeviceParser( + '; *(Pixel.*?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Google', + '$1', + ), + DeviceParser( + '; *(GSmart)[ -]([^/]+)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Gigabyte', + '$1 $2', + ), + DeviceParser( + '; *(imx5[13]_[^/]+)(?: Build|\\) AppleWebKit)', + None, + 'Freescale $1', + 'Freescale', + '$1', + ), + DeviceParser( + '; *Haier[ _\\-]([^/]+)(?: Build|\\) AppleWebKit)', + None, + 'Haier $1', + 'Haier', + '$1', + ), + DeviceParser( + '; *(PAD1016)(?: Build|\\) AppleWebKit)', + None, + 'Haipad $1', + 'Haipad', + '$1', + ), + DeviceParser( + '; *(M701|M7|M8|M9)(?: Build|\\) AppleWebKit)', + None, + 'Haipad $1', + 'Haipad', + '$1', + ), + DeviceParser( + '; *(SN\\d+T[^;\\)/]*)(?: Build|[;\\)])', + None, + 'Hannspree $1', + 'Hannspree', + '$1', + ), + DeviceParser( + 'Build/HCL ME Tablet ([^;\\)]+)[\\);]', + None, + 'HCLme $1', + 'HCLme', + '$1', + ), + DeviceParser( + '; *([^;\\/]+) Build/HCL', + None, + 'HCLme $1', + 'HCLme', + '$1', + ), + DeviceParser( + '; *(MID-?\\d{4}C[EM])(?: Build|\\) AppleWebKit)', + None, + 'Hena $1', + 'Hena', + '$1', + ), + DeviceParser( + '; *(EG\\d{2,}|HS-[^;/]+|MIRA[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Hisense $1', + 'Hisense', + '$1', + ), + DeviceParser( + '; *(andromax[^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + 'Hisense $1', + 'Hisense', + '$1', + ), + DeviceParser( + '; *(?:AMAZE[ _](S\\d+)|(S\\d+)[ _]AMAZE)(?: Build|\\) AppleWebKit)', + None, + 'AMAZE $1$2', + 'hitech', + 'AMAZE $1$2', + ), + DeviceParser( + '; *(PlayBook)(?: Build|\\) AppleWebKit)', + None, + 'HP $1', + 'HP', + '$1', + ), + DeviceParser( + '; *HP ([^/]+)(?: Build|\\) AppleWebKit)', + None, + 'HP $1', + 'HP', + '$1', + ), + DeviceParser( + '; *([^/]+_tenderloin)(?: Build|\\) AppleWebKit)', + None, + 'HP TouchPad', + 'HP', + 'TouchPad', + ), + DeviceParser( + '; *(HUAWEI |Huawei-|)([UY][^;/]+) Build/(?:Huawei|HUAWEI)([UY][^\\);]+)\\)', + None, + '$1$2', + 'Huawei', + '$2', + ), + DeviceParser( + '; *([^;/]+) Build[/ ]Huawei(MT1-U06|[A-Z]+\\d+[^\\);]+)\\)', + None, + '$1', + 'Huawei', + '$2', + ), + DeviceParser( + '; *(S7|M860) Build', + None, + '$1', + 'Huawei', + '$1', + ), + DeviceParser( + '; *((?:HUAWEI|Huawei)[ \\-]?)(MediaPad) Build', + None, + '$1$2', + 'Huawei', + '$2', + ), + DeviceParser( + '; *((?:HUAWEI[ _]?|Huawei[ _]|)Ascend[ _])([^;/]+) Build', + None, + '$1$2', + 'Huawei', + '$2', + ), + DeviceParser( + '; *((?:HUAWEI|Huawei)[ _\\-]?)((?:G700-|MT-)[^;/]+) Build', + None, + '$1$2', + 'Huawei', + '$2', + ), + DeviceParser( + '; *((?:HUAWEI|Huawei)[ _\\-]?)([^;/]+) Build', + None, + '$1$2', + 'Huawei', + '$2', + ), + DeviceParser( + '; *(MediaPad[^;]+|SpringBoard) Build/Huawei', + None, + '$1', + 'Huawei', + '$1', + ), + DeviceParser( + '; *([^;]+) Build/(?:Huawei|HUAWEI)', + None, + '$1', + 'Huawei', + '$1', + ), + DeviceParser( + '; *([Uu])([89]\\d{3}) Build', + None, + '$1$2', + 'Huawei', + 'U$2', + ), + DeviceParser( + '; *(?:Ideos |IDEOS )(S7) Build', + None, + 'Huawei Ideos$1', + 'Huawei', + 'Ideos$1', + ), + DeviceParser( + '; *(?:Ideos |IDEOS )([^;/]+\\s*|\\s*)Build', + None, + 'Huawei Ideos$1', + 'Huawei', + 'Ideos$1', + ), + DeviceParser( + '; *(Orange Daytona|Pulse|Pulse Mini|Vodafone 858|C8500|C8600|C8650|C8660|Nexus 6P|ATH-.+?) Build[/ ]', + None, + 'Huawei $1', + 'Huawei', + '$1', + ), + DeviceParser( + '; *((?:[A-Z]{3})\\-L[A-Za0-9]{2})[\\)]', + None, + 'Huawei $1', + 'Huawei', + '$1', + ), + DeviceParser( + '; *HTC[ _]([^;]+); Windows Phone', + None, + 'HTC $1', + 'HTC', + '$1', + ), + DeviceParser( + '; *(?:HTC[ _/])+([^ _/]+)(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))', + None, + 'HTC $1', + 'HTC', + '$1', + ), + DeviceParser( + '; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)|)(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))', + None, + 'HTC $1 $2', + 'HTC', + '$1 $2', + ), + DeviceParser( + '; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)|)|)(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))', + None, + 'HTC $1 $2 $3', + 'HTC', + '$1 $2 $3', + ), + DeviceParser( + '; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)|)|)|)(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))', + None, + 'HTC $1 $2 $3 $4', + 'HTC', + '$1 $2 $3 $4', + ), + DeviceParser( + '; *(?:(?:HTC|htc)(?:_blocked|)[ _/])+([^ _/;]+)(?: *Build|[;\\)]| - )', + None, + 'HTC $1', + 'HTC', + '$1', + ), + DeviceParser( + '; *(?:(?:HTC|htc)(?:_blocked|)[ _/])+([^ _/]+)(?:[ _/]([^ _/;\\)]+)|)(?: *Build|[;\\)]| - )', + None, + 'HTC $1 $2', + 'HTC', + '$1 $2', + ), + DeviceParser( + '; *(?:(?:HTC|htc)(?:_blocked|)[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/;\\)]+)|)|)(?: *Build|[;\\)]| - )', + None, + 'HTC $1 $2 $3', + 'HTC', + '$1 $2 $3', + ), + DeviceParser( + '; *(?:(?:HTC|htc)(?:_blocked|)[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ /;]+)|)|)|)(?: *Build|[;\\)]| - )', + None, + 'HTC $1 $2 $3 $4', + 'HTC', + '$1 $2 $3 $4', + ), + DeviceParser( + 'HTC Streaming Player [^\\/]*/[^\\/]*/ htc_([^/]+) /', + None, + 'HTC $1', + 'HTC', + '$1', + ), + DeviceParser( + '(?:[;,] *|^)(?:htccn_chs-|)HTC[ _-]?([^;]+?)(?: *Build|clay|Android|-?Mozilla| Opera| Profile| UNTRUSTED|[;/\\(\\)]|$)', + 'i', + 'HTC $1', + 'HTC', + '$1', + ), + DeviceParser( + '; *(A6277|ADR6200|ADR6300|ADR6350|ADR6400[A-Z]*|ADR6425[A-Z]*|APX515CKT|ARIA|Desire[^_ ]*|Dream|EndeavorU|Eris|Evo|Flyer|HD2|Hero|HERO200|Hero CDMA|HTL21|Incredible|Inspire[A-Z0-9]*|Legend|Liberty|Nexus ?(?:One|HD2)|One|One S C2|One[ _]?(?:S|V|X\\+?)\\w*|PC36100|PG06100|PG86100|S31HT|Sensation|Wildfire)(?: Build|[/;\\(\\)])', + 'i', + 'HTC $1', + 'HTC', + '$1', + ), + DeviceParser( + '; *(ADR6200|ADR6400L|ADR6425LVW|Amaze|DesireS?|EndeavorU|Eris|EVO|Evo\\d[A-Z]+|HD2|IncredibleS?|Inspire[A-Z0-9]*|Inspire[A-Z0-9]*|Sensation[A-Z0-9]*|Wildfire)[ _-](.+?)(?:[/;\\)]|Build|MIUI|1\\.0)', + 'i', + 'HTC $1 $2', + 'HTC', + '$1 $2', + ), + DeviceParser( + '; *HYUNDAI (T\\d[^/]*)(?: Build|\\) AppleWebKit)', + None, + 'Hyundai $1', + 'Hyundai', + '$1', + ), + DeviceParser( + '; *HYUNDAI ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Hyundai $1', + 'Hyundai', + '$1', + ), + DeviceParser( + '; *(X700|Hold X|MB-6900)(?: Build|\\) AppleWebKit)', + None, + 'Hyundai $1', + 'Hyundai', + '$1', + ), + DeviceParser( + '; *(?:iBall[ _\\-]|)(Andi)[ _]?(\\d[^;/]*)(?: Build|\\) AppleWebKit)', + 'i', + '$1 $2', + 'iBall', + '$1 $2', + ), + DeviceParser( + '; *(IBall)(?:[ _]([^;/]+?)|)(?: Build|\\) AppleWebKit)', + 'i', + '$1 $2', + 'iBall', + '$2', + ), + DeviceParser( + '; *(NT-\\d+[^ ;/]*|Net[Tt]AB [^;/]+|Mercury [A-Z]+|iconBIT)(?: S/N:[^;/]+|)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'IconBIT', + '$1', + ), + DeviceParser( + '; *(IMO)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + '$1 $2', + 'IMO', + '$2', + ), + DeviceParser( + '; *i-?mobile[ _]([^/]+)(?: Build|\\) AppleWebKit)', + 'i', + 'i-mobile $1', + 'imobile', + '$1', + ), + DeviceParser( + '; *(i-(?:style|note)[^/]*)(?: Build|\\) AppleWebKit)', + 'i', + 'i-mobile $1', + 'imobile', + '$1', + ), + DeviceParser( + '; *(ImPAD) ?(\\d+(?:.)*?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Impression', + '$1 $2', + ), + DeviceParser( + '; *(Infinix)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Infinix', + '$2', + ), + DeviceParser( + '; *(Informer)[ \\-]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Informer', + '$2', + ), + DeviceParser( + '; *(TAB) ?([78][12]4)(?: Build|\\) AppleWebKit)', + None, + 'Intenso $1', + 'Intenso', + '$1 $2', + ), + DeviceParser( + '; *(?:Intex[ _]|)(AQUA|Aqua)([ _\\.\\-])([^;/]+?) *(?:Build|;)', + None, + '$1$2$3', + 'Intex', + '$1 $3', + ), + DeviceParser( + '; *(?:INTEX|Intex)(?:[_ ]([^\\ _;/]+))(?:[_ ]([^\\ _;/]+)|) *(?:Build|;)', + None, + '$1 $2', + 'Intex', + '$1 $2', + ), + DeviceParser( + '; *([iI]Buddy)[ _]?(Connect)(?:_|\\?_| |)([^;/]*) *(?:Build|;)', + None, + '$1 $2 $3', + 'Intex', + 'iBuddy $2 $3', + ), + DeviceParser( + '; *(I-Buddy)[ _]([^;/]+?) *(?:Build|;)', + None, + '$1 $2', + 'Intex', + 'iBuddy $2', + ), + DeviceParser( + '; *(iOCEAN) ([^/]+)(?: Build|\\) AppleWebKit)', + 'i', + '$1 $2', + 'iOCEAN', + '$2', + ), + DeviceParser( + '; *(TP\\d+(?:\\.\\d+|)\\-\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'ionik $1', + 'ionik', + '$1', + ), + DeviceParser( + '; *(M702pro)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Iru', + '$1', + ), + DeviceParser( + '; *(DE88Plus|MD70)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Ivio', + '$1', + ), + DeviceParser( + '; *IVIO[_\\-]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Ivio', + '$1', + ), + DeviceParser( + '; *(TPC-\\d+|JAY-TECH)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Jaytech', + '$1', + ), + DeviceParser( + '; *(JY-[^;/]+|G[234]S?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Jiayu', + '$1', + ), + DeviceParser( + '; *(JXD)[ _\\-]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'JXD', + '$2', + ), + DeviceParser( + '; *Karbonn[ _]?([^;/]+) *(?:Build|;)', + 'i', + '$1', + 'Karbonn', + '$1', + ), + DeviceParser( + '; *([^;]+) Build/Karbonn', + None, + '$1', + 'Karbonn', + '$1', + ), + DeviceParser( + '; *(A11|A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2|Titanium S\\d) +Build', + None, + '$1', + 'Karbonn', + '$1', + ), + DeviceParser( + '; *(IS01|IS03|IS05|IS\\d{2}SH)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Sharp', + '$1', + ), + DeviceParser( + '; *(IS04)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Regza', + '$1', + ), + DeviceParser( + '; *(IS06|IS\\d{2}PT)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Pantech', + '$1', + ), + DeviceParser( + '; *(IS11S)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'SonyEricsson', + 'Xperia Acro', + ), + DeviceParser( + '; *(IS11CA)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Casio', + 'GzOne $1', + ), + DeviceParser( + '; *(IS11LG)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'LG', + 'Optimus X', + ), + DeviceParser( + '; *(IS11N)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Medias', + '$1', + ), + DeviceParser( + '; *(IS11PT)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Pantech', + 'MIRACH', + ), + DeviceParser( + '; *(IS12F)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Fujitsu', + 'Arrows ES', + ), + DeviceParser( + '; *(IS12M)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Motorola', + 'XT909', + ), + DeviceParser( + '; *(IS12S)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'SonyEricsson', + 'Xperia Acro HD', + ), + DeviceParser( + '; *(ISW11F)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Fujitsu', + 'Arrowz Z', + ), + DeviceParser( + '; *(ISW11HT)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'HTC', + 'EVO', + ), + DeviceParser( + '; *(ISW11K)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Kyocera', + 'DIGNO', + ), + DeviceParser( + '; *(ISW11M)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Motorola', + 'Photon', + ), + DeviceParser( + '; *(ISW11SC)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Samsung', + 'GALAXY S II WiMAX', + ), + DeviceParser( + '; *(ISW12HT)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'HTC', + 'EVO 3D', + ), + DeviceParser( + '; *(ISW13HT)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'HTC', + 'J', + ), + DeviceParser( + '; *(ISW?[0-9]{2}[A-Z]{0,2})(?: Build|\\) AppleWebKit)', + None, + '$1', + 'KDDI', + '$1', + ), + DeviceParser( + '; *(INFOBAR [^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'KDDI', + '$1', + ), + DeviceParser( + '; *(JOYPAD|Joypad)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Kingcom', + '$1 $2', + ), + DeviceParser( + '; *(Vox|VOX|Arc|K080)(?: Build|\\) AppleWebKit)', + 'i', + '$1', + 'Kobo', + '$1', + ), + DeviceParser( + '\\b(Kobo Touch)\\b', + None, + '$1', + 'Kobo', + '$1', + ), + DeviceParser( + '; *(K-Touch)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + '$1 $2', + 'Ktouch', + '$2', + ), + DeviceParser( + '; *((?:EV|KM)-S\\d+[A-Z]?)(?: Build|\\) AppleWebKit)', + 'i', + '$1', + 'KTtech', + '$1', + ), + DeviceParser( + '; *(Zio|Hydro|Torque|Event|EVENT|Echo|Milano|Rise|URBANO PROGRESSO|WX04K|WX06K|WX10K|KYL21|101K|C5[12]\\d{2})(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Kyocera', + '$1', + ), + DeviceParser( + '; *(?:LAVA[ _]|)IRIS[ _\\-]?([^/;\\)]+) *(?:;|\\)|Build)', + 'i', + 'Iris $1', + 'Lava', + 'Iris $1', + ), + DeviceParser( + '; *LAVA[ _]([^;/]+) Build', + None, + '$1', + 'Lava', + '$1', + ), + DeviceParser( + '; *(?:(Aspire A1)|(?:LEMON|Lemon)[ _]([^;/]+))_?(?: Build|\\) AppleWebKit)', + None, + 'Lemon $1$2', + 'Lemon', + '$1$2', + ), + DeviceParser( + '; *(TAB-1012)(?: Build|\\) AppleWebKit)', + None, + 'Lenco $1', + 'Lenco', + '$1', + ), + DeviceParser( + '; Lenco ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Lenco $1', + 'Lenco', + '$1', + ), + DeviceParser( + '; *(A1_07|A2107A-H|S2005A-H|S1-37AH0) Build', + None, + '$1', + 'Lenovo', + '$1', + ), + DeviceParser( + '; *(Idea[Tp]ab)[ _]([^;/]+);? Build', + None, + 'Lenovo $1 $2', + 'Lenovo', + '$1 $2', + ), + DeviceParser( + '; *(Idea(?:Tab|pad)) ?([^;/]+) Build', + None, + 'Lenovo $1 $2', + 'Lenovo', + '$1 $2', + ), + DeviceParser( + '; *(ThinkPad) ?(Tablet) Build/', + None, + 'Lenovo $1 $2', + 'Lenovo', + '$1 $2', + ), + DeviceParser( + '; *(?:LNV-|)(?:=?[Ll]enovo[ _\\-]?|LENOVO[ _])(.+?)(?:Build|[;/\\)])', + None, + 'Lenovo $1', + 'Lenovo', + '$1', + ), + DeviceParser( + '[;,] (?:Vodafone |)(SmartTab) ?(II) ?(\\d+) Build/', + None, + 'Lenovo $1 $2 $3', + 'Lenovo', + '$1 $2 $3', + ), + DeviceParser( + '; *(?:Ideapad |)K1 Build/', + None, + 'Lenovo Ideapad K1', + 'Lenovo', + 'Ideapad K1', + ), + DeviceParser( + '; *(3GC101|3GW10[01]|A390) Build/', + None, + '$1', + 'Lenovo', + '$1', + ), + DeviceParser( + '\\b(?:Lenovo|LENOVO)+[ _\\-]?([^,;:/ ]+)', + None, + 'Lenovo $1', + 'Lenovo', + '$1', + ), + DeviceParser( + '; *(MFC\\d+)[A-Z]{2}([^;,/]*),?(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Lexibook', + '$1$2', + ), + DeviceParser( + '; *(E[34][0-9]{2}|LS[6-8][0-9]{2}|VS[6-9][0-9]+[^;/]+|Nexus 4|Nexus 5X?|GT540f?|Optimus (?:2X|G|4X HD)|OptimusX4HD) *(?:Build|;)', + None, + '$1', + 'LG', + '$1', + ), + DeviceParser( + '[;:] *(L-\\d+[A-Z]|LGL\\d+[A-Z]?)(?:/V\\d+|) *(?:Build|[;\\)])', + None, + '$1', + 'LG', + '$1', + ), + DeviceParser( + '; *(LG-)([A-Z]{1,2}\\d{2,}[^,;/\\)\\(]*?)(?:Build| V\\d+|[,;/\\)\\(]|$)', + None, + '$1$2', + 'LG', + '$2', + ), + DeviceParser( + '; *(LG[ \\-]|LG)([^;/]+)[;/]? Build', + None, + '$1$2', + 'LG', + '$2', + ), + DeviceParser( + '^(LG)-([^;/]+)/ Mozilla/.*; Android', + None, + '$1 $2', + 'LG', + '$2', + ), + DeviceParser( + '(Web0S); Linux/(SmartTV)', + None, + 'LG $1 $2', + 'LG', + '$1 $2', + ), + DeviceParser( + '; *((?:SMB|smb)[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Malata', + '$1', + ), + DeviceParser( + '; *(?:Malata|MALATA) ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Malata', + '$1', + ), + DeviceParser( + '; *(MS[45][0-9]{3}|MID0[568][NS]?|MID[1-9]|MID[78]0[1-9]|MID970[1-9]|MID100[1-9])(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Manta', + '$1', + ), + DeviceParser( + '; *(M1052|M806|M9000|M9100|M9701|MID100|MID120|MID125|MID130|MID135|MID140|MID701|MID710|MID713|MID727|MID728|MID731|MID732|MID733|MID735|MID736|MID737|MID760|MID800|MID810|MID820|MID830|MID833|MID835|MID860|MID900|MID930|MID933|MID960|MID980)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Match', + '$1', + ), + DeviceParser( + '; *(GenxDroid7|MSD7.*?|AX\\d.*?|Tab 701|Tab 722)(?: Build|\\) AppleWebKit)', + None, + 'Maxx $1', + 'Maxx', + '$1', + ), + DeviceParser( + '; *(M-PP[^;/]+|PhonePad ?\\d{2,}[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Mediacom $1', + 'Mediacom', + '$1', + ), + DeviceParser( + '; *(M-MP[^;/]+|SmartPad ?\\d{2,}[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Mediacom $1', + 'Mediacom', + '$1', + ), + DeviceParser( + '; *(?:MD_|)LIFETAB[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + 'Medion Lifetab $1', + 'Medion', + 'Lifetab $1', + ), + DeviceParser( + '; *MEDION ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Medion $1', + 'Medion', + '$1', + ), + DeviceParser( + '; *(M030|M031|M035|M040|M065|m9)(?: Build|\\) AppleWebKit)', + None, + 'Meizu $1', + 'Meizu', + '$1', + ), + DeviceParser( + '; *(?:meizu_|MEIZU )(.+?) *(?:Build|[;\\)])', + None, + 'Meizu $1', + 'Meizu', + '$1', + ), + DeviceParser( + '; *(?:Micromax[ _](A111|A240)|(A111|A240)) Build', + 'i', + 'Micromax $1$2', + 'Micromax', + '$1$2', + ), + DeviceParser( + '; *Micromax[ _](A\\d{2,3}[^;/]*) Build', + 'i', + 'Micromax $1', + 'Micromax', + '$1', + ), + DeviceParser( + '; *(A\\d{2}|A[12]\\d{2}|A90S|A110Q) Build', + 'i', + 'Micromax $1', + 'Micromax', + '$1', + ), + DeviceParser( + '; *Micromax[ _](P\\d{3}[^;/]*) Build', + 'i', + 'Micromax $1', + 'Micromax', + '$1', + ), + DeviceParser( + '; *(P\\d{3}|P\\d{3}\\(Funbook\\)) Build', + 'i', + 'Micromax $1', + 'Micromax', + '$1', + ), + DeviceParser( + '; *(MITO)[ _\\-]?([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + '$1 $2', + 'Mito', + '$2', + ), + DeviceParser( + '; *(Cynus)[ _](F5|T\\d|.+?) *(?:Build|[;/\\)])', + 'i', + '$1 $2', + 'Mobistel', + '$1 $2', + ), + DeviceParser( + '; *(MODECOM |)(FreeTab) ?([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + '$1$2 $3', + 'Modecom', + '$2 $3', + ), + DeviceParser( + '; *(MODECOM )([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + '$1 $2', + 'Modecom', + '$2', + ), + DeviceParser( + '; *(MZ\\d{3}\\+?|MZ\\d{3} 4G|Xoom|XOOM[^;/]*) Build', + None, + 'Motorola $1', + 'Motorola', + '$1', + ), + DeviceParser( + '; *(Milestone )(XT[^;/]*) Build', + None, + 'Motorola $1$2', + 'Motorola', + '$2', + ), + DeviceParser( + '; *(Motoroi ?x|Droid X|DROIDX) Build', + 'i', + 'Motorola $1', + 'Motorola', + 'DROID X', + ), + DeviceParser( + '; *(Droid[^;/]*|DROID[^;/]*|Milestone[^;/]*|Photon|Triumph|Devour|Titanium) Build', + None, + 'Motorola $1', + 'Motorola', + '$1', + ), + DeviceParser( + '; *(A555|A85[34][^;/]*|A95[356]|ME[58]\\d{2}\\+?|ME600|ME632|ME722|MB\\d{3}\\+?|MT680|MT710|MT870|MT887|MT917|WX435|WX453|WX44[25]|XT\\d{3,4}[A-Z\\+]*|CL[iI]Q|CL[iI]Q XT) Build', + None, + '$1', + 'Motorola', + '$1', + ), + DeviceParser( + '; *(Motorola MOT-|Motorola[ _\\-]|MOT\\-?)([^;/]+) Build', + None, + '$1$2', + 'Motorola', + '$2', + ), + DeviceParser( + '; *(Moto[_ ]?|MOT\\-)([^;/]+) Build', + None, + '$1$2', + 'Motorola', + '$2', + ), + DeviceParser( + '; *((?:MP[DQ]C|MPG\\d{1,4}|MP\\d{3,4}|MID(?:(?:10[234]|114|43|7[247]|8[24]|7)C|8[01]1))[^;/]*)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Mpman', + '$1', + ), + DeviceParser( + '; *(?:MSI[ _]|)(Primo\\d+|Enjoy[ _\\-][^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + '$1', + 'Msi', + '$1', + ), + DeviceParser( + '; *Multilaser[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Multilaser', + '$1', + ), + DeviceParser( + '; *(My)[_]?(Pad)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2 $3', + 'MyPhone', + '$1$2 $3', + ), + DeviceParser( + '; *(My)\\|?(Phone)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2 $3', + 'MyPhone', + '$3', + ), + DeviceParser( + '; *(A\\d+)[ _](Duo|)(?: Build|\\) AppleWebKit)', + 'i', + '$1 $2', + 'MyPhone', + '$1 $2', + ), + DeviceParser( + '; *(myTab[^;/]*)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Mytab', + '$1', + ), + DeviceParser( + '; *(NABI2?-)([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Nabi', + '$2', + ), + DeviceParser( + '; *(N-\\d+[CDE])(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Nec', + '$1', + ), + DeviceParser( + '; ?(NEC-)(.*?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Nec', + '$2', + ), + DeviceParser( + '; *(LT-NA7)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Nec', + 'Lifetouch Note', + ), + DeviceParser( + '; *(NXM\\d+[A-Za-z0-9_]*|Next\\d[A-Za-z0-9_ \\-]*|NEXT\\d[A-Za-z0-9_ \\-]*|Nextbook [A-Za-z0-9_ ]*|DATAM803HC|M805)(?: Build|[\\);])', + None, + '$1', + 'Nextbook', + '$1', + ), + DeviceParser( + '; *(Nokia)([ _\\-]*)([^;/]*) Build', + 'i', + '$1$2$3', + 'Nokia', + '$3', + ), + DeviceParser( + '; *(Nook ?|Barnes & Noble Nook |BN )([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Nook', + '$2', + ), + DeviceParser( + '; *(NOOK |)(BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Nook', + '$2', + ), + DeviceParser( + '; Build/(Nook)', + None, + '$1', + 'Nook', + 'Tablet', + ), + DeviceParser( + '; *(OP110|OliPad[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Olivetti $1', + 'Olivetti', + '$1', + ), + DeviceParser( + '; *OMEGA[ _\\-](MID[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Omega $1', + 'Omega', + '$1', + ), + DeviceParser( + '^(MID7500|MID\\d+) Mozilla/5\\.0 \\(iPad;', + None, + 'Omega $1', + 'Omega', + '$1', + ), + DeviceParser( + '; *((?:CIUS|cius)[^;/]*)(?: Build|\\) AppleWebKit)', + None, + 'Openpeak $1', + 'Openpeak', + '$1', + ), + DeviceParser( + '; *(Find ?(?:5|7a)|R8[012]\\d{1,2}|T703\\d?|U70\\d{1,2}T?|X90\\d{1,2})(?: Build|\\) AppleWebKit)', + None, + 'Oppo $1', + 'Oppo', + '$1', + ), + DeviceParser( + '; *OPPO ?([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Oppo $1', + 'Oppo', + '$1', + ), + DeviceParser( + '; *(?:Odys\\-|ODYS\\-|ODYS )([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Odys $1', + 'Odys', + '$1', + ), + DeviceParser( + '; *(SELECT) ?(7)(?: Build|\\) AppleWebKit)', + None, + 'Odys $1 $2', + 'Odys', + '$1 $2', + ), + DeviceParser( + '; *(PEDI)_(PLUS)_(W)(?: Build|\\) AppleWebKit)', + None, + 'Odys $1 $2 $3', + 'Odys', + '$1 $2 $3', + ), + DeviceParser( + '; *(AEON|BRAVIO|FUSION|FUSION2IN1|Genio|EOS10|IEOS[^;/]*|IRON|Loox|LOOX|LOOX Plus|Motion|NOON|NOON_PRO|NEXT|OPOS|PEDI[^;/]*|PRIME[^;/]*|STUDYTAB|TABLO|Tablet-PC-4|UNO_X8|XELIO[^;/]*|Xelio ?\\d+ ?[Pp]ro|XENO10|XPRESS PRO)(?: Build|\\) AppleWebKit)', + None, + 'Odys $1', + 'Odys', + '$1', + ), + DeviceParser( + '; (ONE [a-zA-Z]\\d+)(?: Build|\\) AppleWebKit)', + None, + 'OnePlus $1', + 'OnePlus', + '$1', + ), + DeviceParser( + '; (ONEPLUS [a-zA-Z]\\d+)(?: Build|\\) AppleWebKit)', + None, + 'OnePlus $1', + 'OnePlus', + '$1', + ), + DeviceParser( + '; *(TP-\\d+)(?: Build|\\) AppleWebKit)', + None, + 'Orion $1', + 'Orion', + '$1', + ), + DeviceParser( + '; *(G100W?)(?: Build|\\) AppleWebKit)', + None, + 'PackardBell $1', + 'PackardBell', + '$1', + ), + DeviceParser( + '; *(Panasonic)[_ ]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *(FZ-A1B|JT-B1)(?: Build|\\) AppleWebKit)', + None, + 'Panasonic $1', + 'Panasonic', + '$1', + ), + DeviceParser( + '; *(dL1|DL1)(?: Build|\\) AppleWebKit)', + None, + 'Panasonic $1', + 'Panasonic', + '$1', + ), + DeviceParser( + '; *(SKY[ _]|)(IM\\-[AT]\\d{3}[^;/]+).* Build/', + None, + 'Pantech $1$2', + 'Pantech', + '$1$2', + ), + DeviceParser( + '; *((?:ADR8995|ADR910L|ADR930L|ADR930VW|PTL21|P8000)(?: 4G|)) Build/', + None, + '$1', + 'Pantech', + '$1', + ), + DeviceParser( + '; *Pantech([^;/]+).* Build/', + None, + 'Pantech $1', + 'Pantech', + '$1', + ), + DeviceParser( + '; *(papyre)[ _\\-]([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + '$1 $2', + 'Papyre', + '$2', + ), + DeviceParser( + '; *(?:Touchlet )?(X10\\.[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Pearl $1', + 'Pearl', + '$1', + ), + DeviceParser( + '; PHICOMM (i800)(?: Build|\\) AppleWebKit)', + None, + 'Phicomm $1', + 'Phicomm', + '$1', + ), + DeviceParser( + '; PHICOMM ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Phicomm $1', + 'Phicomm', + '$1', + ), + DeviceParser( + '; *(FWS\\d{3}[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Phicomm $1', + 'Phicomm', + '$1', + ), + DeviceParser( + '; *(D633|D822|D833|T539|T939|V726|W335|W336|W337|W3568|W536|W5510|W626|W632|W6350|W6360|W6500|W732|W736|W737|W7376|W820|W832|W8355|W8500|W8510|W930)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Philips', + '$1', + ), + DeviceParser( + '; *(?:Philips|PHILIPS)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Philips $1', + 'Philips', + '$1', + ), + DeviceParser( + 'Android 4\\..*; *(M[12356789]|U[12368]|S[123])\\ ?(pro)?(?: Build|\\) AppleWebKit)', + None, + 'Pipo $1$2', + 'Pipo', + '$1$2', + ), + DeviceParser( + '; *(MOMO[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Ployer', + '$1', + ), + DeviceParser( + '; *(?:Polaroid[ _]|)((?:MIDC\\d{3,}|PMID\\d{2,}|PTAB\\d{3,})[^;/]*?)(\\/[^;/]*|)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Polaroid', + '$1', + ), + DeviceParser( + '; *(?:Polaroid )(Tablet)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Polaroid', + '$1', + ), + DeviceParser( + '; *(POMP)[ _\\-](.+?) *(?:Build|[;/\\)])', + None, + '$1 $2', + 'Pomp', + '$2', + ), + DeviceParser( + '; *(TB07STA|TB10STA|TB07FTA|TB10FTA)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Positivo', + '$1', + ), + DeviceParser( + '; *(?:Positivo |)((?:YPY|Ypy)[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Positivo', + '$1', + ), + DeviceParser( + '; *(MOB-[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'POV', + '$1', + ), + DeviceParser( + '; *POV[ _\\-]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'POV $1', + 'POV', + '$1', + ), + DeviceParser( + '; *((?:TAB-PLAYTAB|TAB-PROTAB|PROTAB|PlayTabPro|Mobii[ _\\-]|TAB-P)[^;/]*)(?: Build|\\) AppleWebKit)', + None, + 'POV $1', + 'POV', + '$1', + ), + DeviceParser( + '; *(?:Prestigio |)((?:PAP|PMP)\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Prestigio $1', + 'Prestigio', + '$1', + ), + DeviceParser( + '; *(PLT[0-9]{4}.*?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Proscan', + '$1', + ), + DeviceParser( + '; *(A2|A5|A8|A900)_?(Classic|)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Qmobile', + '$1 $2', + ), + DeviceParser( + '; *(Q[Mm]obile)_([^_]+)_([^_]+?)(?: Build|\\) AppleWebKit)', + None, + 'Qmobile $2 $3', + 'Qmobile', + '$2 $3', + ), + DeviceParser( + '; *(Q\\-?[Mm]obile)[_ ](A[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Qmobile $2', + 'Qmobile', + '$2', + ), + DeviceParser( + '; *(Q\\-Smart)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Qmobilevn', + '$2', + ), + DeviceParser( + '; *(Q\\-?[Mm]obile)[ _\\-](S[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Qmobilevn', + '$2', + ), + DeviceParser( + '; *(TA1013)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Quanta', + '$1', + ), + DeviceParser( + '; (RCT\\w+)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'RCA', + '$1', + ), + DeviceParser( + '; RCA (\\w+)(?: Build|\\) AppleWebKit)', + None, + 'RCA $1', + 'RCA', + '$1', + ), + DeviceParser( + '; *(RK\\d+),?(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Rockchip', + '$1', + ), + DeviceParser( + ' Build/(RK\\d+)', + None, + '$1', + 'Rockchip', + '$1', + ), + DeviceParser( + '; *(SAMSUNG |Samsung |)((?:Galaxy (?:Note II|S\\d)|GT-I9082|GT-I9205|GT-N7\\d{3}|SM-N9005)[^;/]*)\\/?[^;/]* Build/', + None, + 'Samsung $1$2', + 'Samsung', + '$2', + ), + DeviceParser( + '; *(Google |)(Nexus [Ss](?: 4G|)) Build/', + None, + 'Samsung $1$2', + 'Samsung', + '$2', + ), + DeviceParser( + '; *(SAMSUNG |Samsung )([^\\/]*)\\/[^ ]* Build/', + None, + 'Samsung $2', + 'Samsung', + '$2', + ), + DeviceParser( + '; *(Galaxy(?: Ace| Nexus| S ?II+|Nexus S| with MCR 1.2| Mini Plus 4G|)) Build/', + None, + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + '; *(SAMSUNG[ _\\-]|)(?:SAMSUNG[ _\\-])([^;/]+) Build', + None, + 'Samsung $2', + 'Samsung', + '$2', + ), + DeviceParser( + '; *(SAMSUNG-|)(GT\\-[BINPS]\\d{4}[^\\/]*)(\\/[^ ]*) Build', + None, + 'Samsung $1$2$3', + 'Samsung', + '$2', + ), + DeviceParser( + '(?:; *|^)((?:GT\\-[BIiNPS]\\d{4}|I9\\d{2}0[A-Za-z\\+]?\\b)[^;/\\)]*?)(?:Build|Linux|MIUI|[;/\\)])', + None, + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + '; (SAMSUNG-)([A-Za-z0-9\\-]+).* Build/', + None, + 'Samsung $1$2', + 'Samsung', + '$2', + ), + DeviceParser( + '; *((?:SCH|SGH|SHV|SHW|SPH|SC|SM)\\-[A-Za-z0-9 ]+)(/?[^ ]*|) Build', + None, + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + '; *((?:SC)\\-[A-Za-z0-9 ]+)(/?[^ ]*|)\\)', + None, + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + ' ((?:SCH)\\-[A-Za-z0-9 ]+)(/?[^ ]*|) Build', + None, + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + '; *(Behold ?(?:2|II)|YP\\-G[^;/]+|EK-GC100|SCL21|I9300) Build', + None, + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + '; *((?:SCH|SGH|SHV|SHW|SPH|SC|SM)\\-[A-Za-z0-9]{5,6})[\\)]', + None, + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + '; *(SH\\-?\\d\\d[^;/]+|SBM\\d[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Sharp', + '$1', + ), + DeviceParser( + '; *(SHARP[ -])([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Sharp', + '$2', + ), + DeviceParser( + '; *(SPX[_\\-]\\d[^;/]*)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Simvalley', + '$1', + ), + DeviceParser( + '; *(SX7\\-PEARL\\.GmbH)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Simvalley', + '$1', + ), + DeviceParser( + '; *(SP[T]?\\-\\d{2}[^;/]*)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Simvalley', + '$1', + ), + DeviceParser( + '; *(SK\\-.*?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'SKtelesys', + '$1', + ), + DeviceParser( + '; *(?:SKYTEX|SX)-([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Skytex', + '$1', + ), + DeviceParser( + '; *(IMAGINE [^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Skytex', + '$1', + ), + DeviceParser( + '; *(SmartQ) ?([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *(WF7C|WF10C|SBT[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Smartbitt', + '$1', + ), + DeviceParser( + '; *(SBM(?:003SH|005SH|006SH|007SH|102SH)) Build', + None, + '$1', + 'Sharp', + '$1', + ), + DeviceParser( + '; *(003P|101P|101P11C|102P) Build', + None, + '$1', + 'Panasonic', + '$1', + ), + DeviceParser( + '; *(00\\dZ) Build/', + None, + '$1', + 'ZTE', + '$1', + ), + DeviceParser( + '; HTC(X06HT) Build', + None, + '$1', + 'HTC', + '$1', + ), + DeviceParser( + '; *(001HT|X06HT) Build', + None, + '$1', + 'HTC', + '$1', + ), + DeviceParser( + '; *(201M) Build', + None, + '$1', + 'Motorola', + 'XT902', + ), + DeviceParser( + '; *(ST\\d{4}.*)Build/ST', + None, + 'Trekstor $1', + 'Trekstor', + '$1', + ), + DeviceParser( + '; *(ST\\d{4}.*?)(?: Build|\\) AppleWebKit)', + None, + 'Trekstor $1', + 'Trekstor', + '$1', + ), + DeviceParser( + '; *(Sony ?Ericsson ?)([^;/]+) Build', + None, + '$1$2', + 'SonyEricsson', + '$2', + ), + DeviceParser( + '; *((?:SK|ST|E|X|LT|MK|MT|WT)\\d{2}[a-z0-9]*(?:-o|)|R800i|U20i) Build', + None, + '$1', + 'SonyEricsson', + '$1', + ), + DeviceParser( + '; *(Xperia (?:A8|Arc|Acro|Active|Live with Walkman|Mini|Neo|Play|Pro|Ray|X\\d+)[^;/]*) Build', + 'i', + '$1', + 'SonyEricsson', + '$1', + ), + DeviceParser( + '; Sony (Tablet[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Sony $1', + 'Sony', + '$1', + ), + DeviceParser( + '; Sony ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Sony $1', + 'Sony', + '$1', + ), + DeviceParser( + '; *(Sony)([A-Za-z0-9\\-]+)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *(Xperia [^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Sony', + '$1', + ), + DeviceParser( + '; *(C(?:1[0-9]|2[0-9]|53|55|6[0-9])[0-9]{2}|D[25]\\d{3}|D6[56]\\d{2})(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Sony', + '$1', + ), + DeviceParser( + '; *(SGP\\d{3}|SGPT\\d{2})(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Sony', + '$1', + ), + DeviceParser( + '; *(NW-Z1000Series)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Sony', + '$1', + ), + DeviceParser( + 'PLAYSTATION 3', + None, + 'PlayStation 3', + 'Sony', + 'PlayStation 3', + ), + DeviceParser( + '(PlayStation (?:Portable|Vita|\\d+))', + None, + '$1', + 'Sony', + '$1', + ), + DeviceParser( + '; *((?:CSL_Spice|Spice|SPICE|CSL)[ _\\-]?|)([Mm][Ii])([ _\\-]|)(\\d{3}[^;/]*)(?: Build|\\) AppleWebKit)', + None, + '$1$2$3$4', + 'Spice', + 'Mi$4', + ), + DeviceParser( + '; *(Sprint )(.+?) *(?:Build|[;/])', + None, + '$1$2', + 'Sprint', + '$2', + ), + DeviceParser( + '\\b(Sprint)[: ]([^;,/ ]+)', + None, + '$1$2', + 'Sprint', + '$2', + ), + DeviceParser( + '; *(TAGI[ ]?)(MID) ?([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2$3', + 'Tagi', + '$2$3', + ), + DeviceParser( + '; *(Oyster500|Opal 800)(?: Build|\\) AppleWebKit)', + None, + 'Tecmobile $1', + 'Tecmobile', + '$1', + ), + DeviceParser( + '; *(TECNO[ _])([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Tecno', + '$2', + ), + DeviceParser( + '; *Android for (Telechips|Techvision) ([^ ]+) ', + 'i', + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *(T-Hub2)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Telstra', + '$1', + ), + DeviceParser( + '; *(PAD) ?(100[12])(?: Build|\\) AppleWebKit)', + None, + 'Terra $1$2', + 'Terra', + '$1$2', + ), + DeviceParser( + '; *(T[BM]-\\d{3}[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Texet', + '$1', + ), + DeviceParser( + '; *(tolino [^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Thalia', + '$1', + ), + DeviceParser( + '; *Build/.* (TOLINO_BROWSER)', + None, + '$1', + 'Thalia', + 'Tolino Shine', + ), + DeviceParser( + '; *(?:CJ[ -])?(ThL|THL)[ -]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Thl', + '$2', + ), + DeviceParser( + '; *(T100|T200|T5|W100|W200|W8s)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Thl', + '$1', + ), + DeviceParser( + '; *(T-Mobile[ _]G2[ _]Touch) Build', + None, + '$1', + 'HTC', + 'Hero', + ), + DeviceParser( + '; *(T-Mobile[ _]G2) Build', + None, + '$1', + 'HTC', + 'Desire Z', + ), + DeviceParser( + '; *(T-Mobile myTouch Q) Build', + None, + '$1', + 'Huawei', + 'U8730', + ), + DeviceParser( + '; *(T-Mobile myTouch) Build', + None, + '$1', + 'Huawei', + 'U8680', + ), + DeviceParser( + '; *(T-Mobile_Espresso) Build', + None, + '$1', + 'HTC', + 'Espresso', + ), + DeviceParser( + '; *(T-Mobile G1) Build', + None, + '$1', + 'HTC', + 'Dream', + ), + DeviceParser( + '\\b(T-Mobile ?|)(myTouch)[ _]?([34]G)[ _]?([^\\/]*) (?:Mozilla|Build)', + None, + '$1$2 $3 $4', + 'HTC', + '$2 $3 $4', + ), + DeviceParser( + '\\b(T-Mobile)_([^_]+)_(.*) Build', + None, + '$1 $2 $3', + 'Tmobile', + '$2 $3', + ), + DeviceParser( + '\\b(T-Mobile)[_ ]?(.*?)Build', + None, + '$1 $2', + 'Tmobile', + '$2', + ), + DeviceParser( + ' (ATP[0-9]{4})(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Tomtec', + '$1', + ), + DeviceParser( + ' *(TOOKY)[ _\\-]([^;/]+?) ?(?:Build|;)', + 'i', + '$1 $2', + 'Tooky', + '$2', + ), + DeviceParser( + '\\b(TOSHIBA_AC_AND_AZ|TOSHIBA_FOLIO_AND_A|FOLIO_AND_A)', + None, + '$1', + 'Toshiba', + 'Folio 100', + ), + DeviceParser( + '; *([Ff]olio ?100)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Toshiba', + 'Folio 100', + ), + DeviceParser( + '; *(AT[0-9]{2,3}(?:\\-A|LE\\-A|PE\\-A|SE|a|)|AT7-A|AT1S0|Hikari-iFrame/WDPF-[^;/]+|THRiVE|Thrive)(?: Build|\\) AppleWebKit)', + None, + 'Toshiba $1', + 'Toshiba', + '$1', + ), + DeviceParser( + '; *(TM-MID\\d+[^;/]+|TOUCHMATE|MID-750)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Touchmate', + '$1', + ), + DeviceParser( + '; *(TM-SM\\d+[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Touchmate', + '$1', + ), + DeviceParser( + '; *(A10 [Bb]asic2?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Treq', + '$1', + ), + DeviceParser( + '; *(TREQ[ _\\-])([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + '$1$2', + 'Treq', + '$2', + ), + DeviceParser( + '; *(X-?5|X-?3)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Umeox', + '$1', + ), + DeviceParser( + '; *(A502\\+?|A936|A603|X1|X2)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Umeox', + '$1', + ), + DeviceParser( + '(TOUCH(?:TAB|PAD).+?)(?: Build|\\) AppleWebKit)', + 'i', + 'Versus $1', + 'Versus', + '$1', + ), + DeviceParser( + '(VERTU) ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'Vertu', + '$2', + ), + DeviceParser( + '; *(Videocon)[ _\\-]([^;/]+?) *(?:Build|;)', + None, + '$1 $2', + 'Videocon', + '$2', + ), + DeviceParser( + ' (VT\\d{2}[A-Za-z]*)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Videocon', + '$1', + ), + DeviceParser( + '; *((?:ViewPad|ViewPhone|VSD)[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Viewsonic', + '$1', + ), + DeviceParser( + '; *(ViewSonic-)([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'Viewsonic', + '$2', + ), + DeviceParser( + '; *(GTablet.*?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Viewsonic', + '$1', + ), + DeviceParser( + '; *([Vv]ivo)[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'vivo', + '$2', + ), + DeviceParser( + '(Vodafone) (.*?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *(?:Walton[ _\\-]|)(Primo[ _\\-][^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + 'Walton $1', + 'Walton', + '$1', + ), + DeviceParser( + '; *(?:WIKO[ \\-]|)(CINK\\+?|BARRY|BLOOM|DARKFULL|DARKMOON|DARKNIGHT|DARKSIDE|FIZZ|HIGHWAY|IGGY|OZZY|RAINBOW|STAIRWAY|SUBLIM|WAX|CINK [^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + 'Wiko $1', + 'Wiko', + '$1', + ), + DeviceParser( + '; *WellcoM-([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Wellcom $1', + 'Wellcom', + '$1', + ), + DeviceParser( + '(?:(WeTab)-Browser|; (wetab) Build)', + None, + '$1', + 'WeTab', + 'WeTab', + ), + DeviceParser( + '; *(AT-AS[^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Wolfgang $1', + 'Wolfgang', + '$1', + ), + DeviceParser( + '; *(?:Woxter|Wxt) ([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'Woxter $1', + 'Woxter', + '$1', + ), + DeviceParser( + '; *(?:Xenta |Luna |)(TAB[234][0-9]{2}|TAB0[78]-\\d{3}|TAB0?9-\\d{3}|TAB1[03]-\\d{3}|SMP\\d{2}-\\d{3})(?: Build|\\) AppleWebKit)', + None, + 'Yarvik $1', + 'Yarvik', + '$1', + ), + DeviceParser( + '; *([A-Z]{2,4})(M\\d{3,}[A-Z]{2})([^;\\)\\/]*)(?: Build|[;\\)])', + None, + 'Yifang $1$2$3', + 'Yifang', + '$2', + ), + DeviceParser( + '; *((Mi|MI|HM|MI-ONE|Redmi)[ -](NOTE |Note |)[^;/]*) (Build|MIUI)/', + None, + 'XiaoMi $1', + 'XiaoMi', + '$1', + ), + DeviceParser( + '; *((Mi|MI|HM|MI-ONE|Redmi)[ -](NOTE |Note |)[^;/\\)]*)', + None, + 'XiaoMi $1', + 'XiaoMi', + '$1', + ), + DeviceParser( + '; *(MIX) (Build|MIUI)/', + None, + 'XiaoMi $1', + 'XiaoMi', + '$1', + ), + DeviceParser( + '; *((MIX) ([^;/]*)) (Build|MIUI)/', + None, + 'XiaoMi $1', + 'XiaoMi', + '$1', + ), + DeviceParser( + '; *XOLO[ _]([^;/]*tab.*)(?: Build|\\) AppleWebKit)', + 'i', + 'Xolo $1', + 'Xolo', + '$1', + ), + DeviceParser( + '; *XOLO[ _]([^;/]+?)(?: Build|\\) AppleWebKit)', + 'i', + 'Xolo $1', + 'Xolo', + '$1', + ), + DeviceParser( + '; *(q\\d0{2,3}[a-z]?)(?: Build|\\) AppleWebKit)', + 'i', + 'Xolo $1', + 'Xolo', + '$1', + ), + DeviceParser( + '; *(PAD ?[79]\\d+[^;/]*|TelePAD\\d+[^;/])(?: Build|\\) AppleWebKit)', + None, + 'Xoro $1', + 'Xoro', + '$1', + ), + DeviceParser( + '; *(?:(?:ZOPO|Zopo)[ _]([^;/]+?)|(ZP ?(?:\\d{2}[^;/]+|C2))|(C[2379]))(?: Build|\\) AppleWebKit)', + None, + '$1$2$3', + 'Zopo', + '$1$2$3', + ), + DeviceParser( + '; *(ZiiLABS) (Zii[^;/]*)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'ZiiLabs', + '$2', + ), + DeviceParser( + '; *(Zii)_([^;/]*)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'ZiiLabs', + '$2', + ), + DeviceParser( + '; *(ARIZONA|(?:ATLAS|Atlas) W|D930|Grand (?:[SX][^;]*?|Era|Memo[^;]*?)|JOE|(?:Kis|KIS)\\b[^;]*?|Libra|Light [^;]*?|N8[056][01]|N850L|N8000|N9[15]\\d{2}|N9810|NX501|Optik|(?:Vip )Racer[^;]*?|RacerII|RACERII|San Francisco[^;]*?|V9[AC]|V55|V881|Z[679][0-9]{2}[A-z]?)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'ZTE', + '$1', + ), + DeviceParser( + '; *([A-Z]\\d+)_USA_[^;]*(?: Build|\\) AppleWebKit)', + None, + '$1', + 'ZTE', + '$1', + ), + DeviceParser( + '; *(SmartTab\\d+)[^;]*(?: Build|\\) AppleWebKit)', + None, + '$1', + 'ZTE', + '$1', + ), + DeviceParser( + '; *(?:Blade|BLADE|ZTE-BLADE)([^;/]*)(?: Build|\\) AppleWebKit)', + None, + 'ZTE Blade$1', + 'ZTE', + 'Blade$1', + ), + DeviceParser( + '; *(?:Skate|SKATE|ZTE-SKATE)([^;/]*)(?: Build|\\) AppleWebKit)', + None, + 'ZTE Skate$1', + 'ZTE', + 'Skate$1', + ), + DeviceParser( + '; *(Orange |Optimus )(Monte Carlo|San Francisco)(?: Build|\\) AppleWebKit)', + None, + '$1$2', + 'ZTE', + '$1$2', + ), + DeviceParser( + '; *(?:ZXY-ZTE_|ZTE\\-U |ZTE[\\- _]|ZTE-C[_ ])([^;/]+?)(?: Build|\\) AppleWebKit)', + None, + 'ZTE $1', + 'ZTE', + '$1', + ), + DeviceParser( + '; (BASE) (lutea|Lutea 2|Tab[^;]*?)(?: Build|\\) AppleWebKit)', + None, + '$1 $2', + 'ZTE', + '$1 $2', + ), + DeviceParser( + '; (Avea inTouch 2|soft stone|tmn smart a7|Movistar[ _]Link)(?: Build|\\) AppleWebKit)', + 'i', + '$1', + 'ZTE', + '$1', + ), + DeviceParser( + '; *(vp9plus)\\)', + None, + '$1', + 'ZTE', + '$1', + ), + DeviceParser( + '; ?(Cloud[ _]Z5|z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900)(?: Build|\\) AppleWebKit)', + None, + '$1', + 'Zync', + '$1', + ), + DeviceParser( + '; ?(KFOT|Kindle Fire) Build\\b', + None, + 'Kindle Fire', + 'Amazon', + 'Kindle Fire', + ), + DeviceParser( + '; ?(KFOTE|Amazon Kindle Fire2) Build\\b', + None, + 'Kindle Fire 2', + 'Amazon', + 'Kindle Fire 2', + ), + DeviceParser( + '; ?(KFTT) Build\\b', + None, + 'Kindle Fire HD', + 'Amazon', + 'Kindle Fire HD 7"', + ), + DeviceParser( + '; ?(KFJWI) Build\\b', + None, + 'Kindle Fire HD 8.9" WiFi', + 'Amazon', + 'Kindle Fire HD 8.9" WiFi', + ), + DeviceParser( + '; ?(KFJWA) Build\\b', + None, + 'Kindle Fire HD 8.9" 4G', + 'Amazon', + 'Kindle Fire HD 8.9" 4G', + ), + DeviceParser( + '; ?(KFSOWI) Build\\b', + None, + 'Kindle Fire HD 7" WiFi', + 'Amazon', + 'Kindle Fire HD 7" WiFi', + ), + DeviceParser( + '; ?(KFTHWI) Build\\b', + None, + 'Kindle Fire HDX 7" WiFi', + 'Amazon', + 'Kindle Fire HDX 7" WiFi', + ), + DeviceParser( + '; ?(KFTHWA) Build\\b', + None, + 'Kindle Fire HDX 7" 4G', + 'Amazon', + 'Kindle Fire HDX 7" 4G', + ), + DeviceParser( + '; ?(KFAPWI) Build\\b', + None, + 'Kindle Fire HDX 8.9" WiFi', + 'Amazon', + 'Kindle Fire HDX 8.9" WiFi', + ), + DeviceParser( + '; ?(KFAPWA) Build\\b', + None, + 'Kindle Fire HDX 8.9" 4G', + 'Amazon', + 'Kindle Fire HDX 8.9" 4G', + ), + DeviceParser( + '; ?Amazon ([^;/]+) Build\\b', + None, + '$1', + 'Amazon', + '$1', + ), + DeviceParser( + '; ?(Kindle) Build\\b', + None, + 'Kindle', + 'Amazon', + 'Kindle', + ), + DeviceParser( + '; ?(Silk)/(\\d+)\\.(\\d+)(?:\\.([0-9\\-]+)|) Build\\b', + None, + 'Kindle Fire', + 'Amazon', + 'Kindle Fire$2', + ), + DeviceParser( + ' (Kindle)/(\\d+\\.\\d+)', + None, + 'Kindle', + 'Amazon', + '$1 $2', + ), + DeviceParser( + ' (Silk|Kindle)/(\\d+)\\.', + None, + 'Kindle', + 'Amazon', + 'Kindle', + ), + DeviceParser( + '(sprd)\\-([^/]+)/', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '; *(H\\d{2}00\\+?) Build', + None, + '$1', + 'Hero', + '$1', + ), + DeviceParser( + '; *(iphone|iPhone5) Build/', + None, + 'Xianghe $1', + 'Xianghe', + '$1', + ), + DeviceParser( + '; *(e\\d{4}[a-z]?_?v\\d+|v89_[^;/]+)[^;/]+ Build/', + None, + 'Xianghe $1', + 'Xianghe', + '$1', + ), + DeviceParser( + '\\bUSCC[_\\-]?([^ ;/\\)]+)', + None, + '$1', + 'Cellular', + '$1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:ALCATEL)[^;]*; *([^;,\\)]+)', + None, + 'Alcatel $1', + 'Alcatel', + '$1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?|)(?:ASUS|Asus)[^;]*; *([^;,\\)]+)', + None, + 'Asus $1', + 'Asus', + '$1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:DELL|Dell)[^;]*; *([^;,\\)]+)', + None, + 'Dell $1', + 'Dell', + '$1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?|)(?:HTC|Htc|HTC_blocked[^;]*)[^;]*; *(?:HTC|)([^;,\\)]+)', + None, + 'HTC $1', + 'HTC', + '$1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:HUAWEI)[^;]*; *(?:HUAWEI |)([^;,\\)]+)', + None, + 'Huawei $1', + 'Huawei', + '$1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:LG|Lg)[^;]*; *(?:LG[ \\-]|)([^;,\\)]+)', + None, + 'LG $1', + 'LG', + '$1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:rv:11; |)(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?|)(\\d{3,10}[^;\\)]*)', + None, + 'Lumia $1', + 'Nokia', + 'Lumia $1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:NOKIA|Nokia)[^;]*; *(RM-\\d{3,})', + None, + 'Nokia $1', + 'Nokia', + '$1', + ), + DeviceParser( + '(?:Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)]|WPDesktop;) ?(?:ARM; ?Touch; ?|Touch; ?|)(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?|)([^;\\)]+)', + None, + 'Nokia $1', + 'Nokia', + '$1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:Microsoft(?: Corporation|))[^;]*; *([^;,\\)]+)', + None, + 'Microsoft $1', + 'Microsoft', + '$1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?|)(?:SAMSUNG)[^;]*; *(?:SAMSUNG |)([^;,\\.\\)]+)', + None, + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?|)(?:TOSHIBA|FujitsuToshibaMobileCommun)[^;]*; *([^;,\\)]+)', + None, + 'Toshiba $1', + 'Toshiba', + '$1', + ), + DeviceParser( + 'Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?|)([^;]+); *([^;,\\)]+)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '(?:^|; )SAMSUNG\\-([A-Za-z0-9\\-]+).* Bada/', + None, + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + '\\(Mobile; ALCATEL ?(One|ONE) ?(Touch|TOUCH) ?([^;/]+?)(?:/[^;]+|); rv:[^\\)]+\\) Gecko/[^\\/]+ Firefox/', + None, + 'Alcatel $1 $2 $3', + 'Alcatel', + 'One Touch $3', + ), + DeviceParser( + '\\(Mobile; (?:ZTE([^;]+)|(OpenC)); rv:[^\\)]+\\) Gecko/[^\\/]+ Firefox/', + None, + 'ZTE $1$2', + 'ZTE', + '$1$2', + ), + DeviceParser( + '\\(Mobile; ALCATEL([A-Za-z0-9\\-]+); rv:[^\\)]+\\) Gecko/[^\\/]+ Firefox/[^\\/]+ KaiOS/', + None, + 'Alcatel $1', + 'Alcatel', + '$1', + ), + DeviceParser( + '\\(Mobile; LYF\\/([A-Za-z0-9\\-]+)\\/.+;.+rv:[^\\)]+\\) Gecko/[^\\/]+ Firefox/[^\\/]+ KAIOS/', + None, + 'LYF $1', + 'LYF', + '$1', + ), + DeviceParser( + '\\(Mobile; Nokia_([A-Za-z0-9\\-]+)_.+; rv:[^\\)]+\\) Gecko/[^\\/]+ Firefox/[^\\/]+ KAIOS/', + None, + 'Nokia $1', + 'Nokia', + '$1', + ), + DeviceParser( + 'Nokia(N[0-9]+)([A-Za-z_\\-][A-Za-z0-9_\\-]*)', + None, + 'Nokia $1', + 'Nokia', + '$1$2', + ), + DeviceParser( + '(?:NOKIA|Nokia)(?:\\-| *)(?:([A-Za-z0-9]+)\\-[0-9a-f]{32}|([A-Za-z0-9\\-]+)(?:UCBrowser)|([A-Za-z0-9\\-]+))', + None, + 'Nokia $1$2$3', + 'Nokia', + '$1$2$3', + ), + DeviceParser( + 'Lumia ([A-Za-z0-9\\-]+)', + None, + 'Lumia $1', + 'Nokia', + 'Lumia $1', + ), + DeviceParser( + '\\(Symbian; U; S60 V5; [A-z]{2}\\-[A-z]{2}; (SonyEricsson|Samsung|Nokia|LG)([^;/]+?)\\)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '\\(Symbian(?:/3|); U; ([^;]+);', + None, + 'Nokia $1', + 'Nokia', + '$1', + ), + DeviceParser( + 'BB10; ([A-Za-z0-9\\- ]+)\\)', + None, + 'BlackBerry $1', + 'BlackBerry', + '$1', + ), + DeviceParser( + 'Play[Bb]ook.+RIM Tablet OS', + None, + 'BlackBerry Playbook', + 'BlackBerry', + 'Playbook', + ), + DeviceParser( + 'Black[Bb]erry ([0-9]+);', + None, + 'BlackBerry $1', + 'BlackBerry', + '$1', + ), + DeviceParser( + 'Black[Bb]erry([0-9]+)', + None, + 'BlackBerry $1', + 'BlackBerry', + '$1', + ), + DeviceParser( + 'Black[Bb]erry;', + None, + 'BlackBerry', + 'BlackBerry', + None, + ), + DeviceParser( + '(Pre|Pixi)/\\d+\\.\\d+', + None, + 'Palm $1', + 'Palm', + '$1', + ), + DeviceParser( + 'Palm([0-9]+)', + None, + 'Palm $1', + 'Palm', + '$1', + ), + DeviceParser( + 'Treo([A-Za-z0-9]+)', + None, + 'Palm Treo $1', + 'Palm', + 'Treo $1', + ), + DeviceParser( + 'webOS.*(P160U(?:NA|))/(\\d+).(\\d+)', + None, + 'HP Veer', + 'HP', + 'Veer', + ), + DeviceParser( + '(Touch[Pp]ad)/\\d+\\.\\d+', + None, + 'HP TouchPad', + 'HP', + 'TouchPad', + ), + DeviceParser( + 'HPiPAQ([A-Za-z0-9]+)/\\d+.\\d+', + None, + 'HP iPAQ $1', + 'HP', + 'iPAQ $1', + ), + DeviceParser( + 'PDA; (PalmOS)/sony/model ([a-z]+)/Revision', + None, + '$1', + 'Sony', + '$1 $2', + ), + DeviceParser( + '(Apple\\s?TV)', + None, + 'AppleTV', + 'Apple', + 'AppleTV', + ), + DeviceParser( + '(QtCarBrowser)', + None, + 'Tesla Model S', + 'Tesla', + 'Model S', + ), + DeviceParser( + '(iPhone|iPad|iPod)(\\d+,\\d+)', + None, + '$1', + 'Apple', + '$1$2', + ), + DeviceParser( + '(iPad)(?:;| Simulator;)', + None, + '$1', + 'Apple', + '$1', + ), + DeviceParser( + '(iPod)(?:;| touch;| Simulator;)', + None, + '$1', + 'Apple', + '$1', + ), + DeviceParser( + '(iPhone)(?:;| Simulator;)', + None, + '$1', + 'Apple', + '$1', + ), + DeviceParser( + '(Watch)(\\d+,\\d+)', + None, + 'Apple $1', + 'Apple', + '$1$2', + ), + DeviceParser( + '(Apple Watch)(?:;| Simulator;)', + None, + '$1', + 'Apple', + '$1', + ), + DeviceParser( + '(HomePod)(?:;| Simulator;)', + None, + '$1', + 'Apple', + '$1', + ), + DeviceParser( + 'iPhone', + None, + 'iPhone', + 'Apple', + 'iPhone', + ), + DeviceParser( + 'CFNetwork/.* Darwin/\\d.*\\(((?:Mac|iMac|PowerMac|PowerBook)[^\\d]*)(\\d+)(?:,|%2C)(\\d+)', + None, + '$1$2,$3', + 'Apple', + '$1$2,$3', + ), + DeviceParser( + 'CFNetwork/.* Darwin/\\d+\\.\\d+\\.\\d+ \\(x86_64\\)', + None, + 'Mac', + 'Apple', + 'Mac', + ), + DeviceParser( + 'CFNetwork/.* Darwin/\\d', + None, + 'iOS-Device', + 'Apple', + 'iOS-Device', + ), + DeviceParser( + 'Outlook-(iOS)/\\d+\\.\\d+\\.prod\\.iphone', + None, + 'iPhone', + 'Apple', + 'iPhone', + ), + DeviceParser( + 'acer_([A-Za-z0-9]+)_', + None, + 'Acer $1', + 'Acer', + '$1', + ), + DeviceParser( + '(?:ALCATEL|Alcatel)-([A-Za-z0-9\\-]+)', + None, + 'Alcatel $1', + 'Alcatel', + '$1', + ), + DeviceParser( + '(?:Amoi|AMOI)\\-([A-Za-z0-9]+)', + None, + 'Amoi $1', + 'Amoi', + '$1', + ), + DeviceParser( + '(?:; |\\/|^)((?:Transformer (?:Pad|Prime) |Transformer |PadFone[ _]?)[A-Za-z0-9]*)', + None, + 'Asus $1', + 'Asus', + '$1', + ), + DeviceParser( + '(?:asus.*?ASUS|Asus|ASUS|asus)[\\- ;]*((?:Transformer (?:Pad|Prime) |Transformer |Padfone |Nexus[ _]|)[A-Za-z0-9]+)', + None, + 'Asus $1', + 'Asus', + '$1', + ), + DeviceParser( + '(?:ASUS)_([A-Za-z0-9\\-]+)', + None, + 'Asus $1', + 'Asus', + '$1', + ), + DeviceParser( + '\\bBIRD[ \\-\\.]([A-Za-z0-9]+)', + None, + 'Bird $1', + 'Bird', + '$1', + ), + DeviceParser( + '\\bDell ([A-Za-z0-9]+)', + None, + 'Dell $1', + 'Dell', + '$1', + ), + DeviceParser( + 'DoCoMo/2\\.0 ([A-Za-z0-9]+)', + None, + 'DoCoMo $1', + 'DoCoMo', + '$1', + ), + DeviceParser( + '([A-Za-z0-9]+)_W;FOMA', + None, + 'DoCoMo $1', + 'DoCoMo', + '$1', + ), + DeviceParser( + '([A-Za-z0-9]+);FOMA', + None, + 'DoCoMo $1', + 'DoCoMo', + '$1', + ), + DeviceParser( + '\\b(?:HTC/|HTC/[a-z0-9]+/|)HTC[ _\\-;]? *(.*?)(?:-?Mozilla|fingerPrint|[;/\\(\\)]|$)', + None, + 'HTC $1', + 'HTC', + '$1', + ), + DeviceParser( + 'Huawei([A-Za-z0-9]+)', + None, + 'Huawei $1', + 'Huawei', + '$1', + ), + DeviceParser( + 'HUAWEI-([A-Za-z0-9]+)', + None, + 'Huawei $1', + 'Huawei', + '$1', + ), + DeviceParser( + 'HUAWEI ([A-Za-z0-9\\-]+)', + None, + 'Huawei $1', + 'Huawei', + '$1', + ), + DeviceParser( + 'vodafone([A-Za-z0-9]+)', + None, + 'Huawei Vodafone $1', + 'Huawei', + 'Vodafone $1', + ), + DeviceParser( + 'i\\-mate ([A-Za-z0-9]+)', + None, + 'i-mate $1', + 'i-mate', + '$1', + ), + DeviceParser( + 'Kyocera\\-([A-Za-z0-9]+)', + None, + 'Kyocera $1', + 'Kyocera', + '$1', + ), + DeviceParser( + 'KWC\\-([A-Za-z0-9]+)', + None, + 'Kyocera $1', + 'Kyocera', + '$1', + ), + DeviceParser( + 'Lenovo[_\\-]([A-Za-z0-9]+)', + None, + 'Lenovo $1', + 'Lenovo', + '$1', + ), + DeviceParser( + '(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+ \\( ?;(LG)E ?;([^;]{0,30})', + None, + '$1', + '$2', + '$3', + ), + DeviceParser( + '(HbbTV)/1\\.1\\.1.*CE-HTML/1\\.\\d;(Vendor/|)(THOM[^;]*?)[;\\s].{0,30}(LF[^;]+);?', + None, + '$1', + 'Thomson', + '$4', + ), + DeviceParser( + '(HbbTV)(?:/1\\.1\\.1|) ?(?: \\(;;;;;\\)|); *CE-HTML(?:/1\\.\\d|); *([^ ]+) ([^;]+);', + None, + '$1', + '$2', + '$3', + ), + DeviceParser( + '(HbbTV)/1\\.1\\.1 \\(;;;;;\\) Maple_2011', + None, + '$1', + 'Samsung', + None, + ), + DeviceParser( + '(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+ \\([^;]{0,30}; ?(?:CUS:([^;]*)|([^;]+)) ?; ?([^;]{0,30})', + None, + '$1', + '$2$3', + '$4', + ), + DeviceParser( + '(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+', + None, + '$1', + None, + None, + ), + DeviceParser( + 'LGE; (?:Media\\/|)([^;]*);[^;]*;[^;]*;?\\); "?LG NetCast(\\.TV|\\.Media|)-\\d+', + None, + 'NetCast$2', + 'LG', + '$1', + ), + DeviceParser( + 'InettvBrowser/[0-9]+\\.[0-9A-Z]+ \\([^;]*;(Sony)([^;]*);[^;]*;[^\\)]*\\)', + None, + 'Inettv', + '$1', + '$2', + ), + DeviceParser( + 'InettvBrowser/[0-9]+\\.[0-9A-Z]+ \\([^;]*;([^;]*);[^;]*;[^\\)]*\\)', + None, + 'Inettv', + 'Generic_Inettv', + '$1', + ), + DeviceParser( + '(?:InettvBrowser|TSBNetTV|NETTV|HBBTV)', + None, + 'Inettv', + 'Generic_Inettv', + None, + ), + DeviceParser( + 'Series60/\\d\\.\\d (LG)[\\-]?([A-Za-z0-9 \\-]+)', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + '\\b(?:LGE[ \\-]LG\\-(?:AX|)|LGE |LGE?-LG|LGE?[ \\-]|LG[ /\\-]|lg[\\-])([A-Za-z0-9]+)\\b', + None, + 'LG $1', + 'LG', + '$1', + ), + DeviceParser( + '(?:^LG[\\-]?|^LGE[\\-/]?)([A-Za-z]+[0-9]+[A-Za-z]*)', + None, + 'LG $1', + 'LG', + '$1', + ), + DeviceParser( + '^LG([0-9]+[A-Za-z]*)', + None, + 'LG $1', + 'LG', + '$1', + ), + DeviceParser( + '(KIN\\.[^ ]+) (\\d+)\\.(\\d+)', + None, + 'Microsoft $1', + 'Microsoft', + '$1', + ), + DeviceParser( + '(?:MSIE|XBMC).*\\b(Xbox)\\b', + None, + '$1', + 'Microsoft', + '$1', + ), + DeviceParser( + '; ARM; Trident/6\\.0; Touch[\\);]', + None, + 'Microsoft Surface RT', + 'Microsoft', + 'Surface RT', + ), + DeviceParser( + 'Motorola\\-([A-Za-z0-9]+)', + None, + 'Motorola $1', + 'Motorola', + '$1', + ), + DeviceParser( + 'MOTO\\-([A-Za-z0-9]+)', + None, + 'Motorola $1', + 'Motorola', + '$1', + ), + DeviceParser( + 'MOT\\-([A-z0-9][A-z0-9\\-]*)', + None, + 'Motorola $1', + 'Motorola', + '$1', + ), + DeviceParser( + 'Nintendo WiiU', + None, + 'Nintendo Wii U', + 'Nintendo', + 'Wii U', + ), + DeviceParser( + 'Nintendo (DS|3DS|DSi|Wii);', + None, + 'Nintendo $1', + 'Nintendo', + '$1', + ), + DeviceParser( + '(?:Pantech|PANTECH)[ _-]?([A-Za-z0-9\\-]+)', + None, + 'Pantech $1', + 'Pantech', + '$1', + ), + DeviceParser( + 'Philips([A-Za-z0-9]+)', + None, + 'Philips $1', + 'Philips', + '$1', + ), + DeviceParser( + 'Philips ([A-Za-z0-9]+)', + None, + 'Philips $1', + 'Philips', + '$1', + ), + DeviceParser( + '(SMART-TV); .* Tizen ', + None, + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + 'SymbianOS/9\\.\\d.* Samsung[/\\-]([A-Za-z0-9 \\-]+)', + None, + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + '(Samsung)(SGH)(i[0-9]+)', + None, + '$1 $2$3', + '$1', + '$2-$3', + ), + DeviceParser( + 'SAMSUNG-ANDROID-MMS/([^;/]+)', + None, + '$1', + 'Samsung', + '$1', + ), + DeviceParser( + 'SAMSUNG(?:; |[ -/])([A-Za-z0-9\\-]+)', + 'i', + 'Samsung $1', + 'Samsung', + '$1', + ), + DeviceParser( + '(Dreamcast)', + None, + 'Sega $1', + 'Sega', + '$1', + ), + DeviceParser( + '^SIE-([A-Za-z0-9]+)', + None, + 'Siemens $1', + 'Siemens', + '$1', + ), + DeviceParser( + 'Softbank/[12]\\.0/([A-Za-z0-9]+)', + None, + 'Softbank $1', + 'Softbank', + '$1', + ), + DeviceParser( + 'SonyEricsson ?([A-Za-z0-9\\-]+)', + None, + 'Ericsson $1', + 'SonyEricsson', + '$1', + ), + DeviceParser( + 'Android [^;]+; ([^ ]+) (Sony)/', + None, + '$2 $1', + '$2', + '$1', + ), + DeviceParser( + '(Sony)(?:BDP\\/|\\/|)([^ /;\\)]+)[ /;\\)]', + None, + '$1 $2', + '$1', + '$2', + ), + DeviceParser( + 'Puffin/[\\d\\.]+IT', + None, + 'iPad', + 'Apple', + 'iPad', + ), + DeviceParser( + 'Puffin/[\\d\\.]+IP', + None, + 'iPhone', + 'Apple', + 'iPhone', + ), + DeviceParser( + 'Puffin/[\\d\\.]+AT', + None, + 'Generic Tablet', + 'Generic', + 'Tablet', + ), + DeviceParser( + 'Puffin/[\\d\\.]+AP', + None, + 'Generic Smartphone', + 'Generic', + 'Smartphone', + ), + DeviceParser( + 'Android[\\- ][\\d]+\\.[\\d]+; [A-Za-z]{2}\\-[A-Za-z]{0,2}; WOWMobile (.+)( Build[/ ]|\\))', + None, + None, + 'Generic_Android', + '$1', + ), + DeviceParser( + 'Android[\\- ][\\d]+\\.[\\d]+\\-update1; [A-Za-z]{2}\\-[A-Za-z]{0,2} *; *(.+?)( Build[/ ]|\\))', + None, + None, + 'Generic_Android', + '$1', + ), + DeviceParser( + 'Android[\\- ][\\d]+(?:\\.[\\d]+)(?:\\.[\\d]+|); *[A-Za-z]{2}[_\\-][A-Za-z]{0,2}\\-? *; *(.+?)( Build[/ ]|\\))', + None, + None, + 'Generic_Android', + '$1', + ), + DeviceParser( + 'Android[\\- ][\\d]+(?:\\.[\\d]+)(?:\\.[\\d]+|); *[A-Za-z]{0,2}\\- *; *(.+?)( Build[/ ]|\\))', + None, + None, + 'Generic_Android', + '$1', + ), + DeviceParser( + 'Android[\\- ][\\d]+(?:\\.[\\d]+)(?:\\.[\\d]+|); *[a-z]{0,2}[_\\-]?[A-Za-z]{0,2};?( Build[/ ]|\\))', + None, + 'Generic Smartphone', + 'Generic', + 'Smartphone', + ), + DeviceParser( + 'Android[\\- ][\\d]+(?:\\.[\\d]+)(?:\\.[\\d]+|); *\\-?[A-Za-z]{2}; *(.+?)( Build[/ ]|\\))', + None, + None, + 'Generic_Android', + '$1', + ), + DeviceParser( + 'Android \\d+?(?:\\.\\d+|)(?:\\.\\d+|); ([^;]+?)(?: Build|\\) AppleWebKit).+? Mobile Safari', + None, + None, + 'Generic_Android', + '$1', + ), + DeviceParser( + 'Android \\d+?(?:\\.\\d+|)(?:\\.\\d+|); ([^;]+?)(?: Build|\\) AppleWebKit).+? Safari', + None, + None, + 'Generic_Android_Tablet', + '$1', + ), + DeviceParser( + 'Android \\d+?(?:\\.\\d+|)(?:\\.\\d+|); ([^;]+?)(?: Build|\\))', + None, + None, + 'Generic_Android', + '$1', + ), + DeviceParser( + '(GoogleTV)', + None, + None, + 'Generic_Inettv', + '$1', + ), + DeviceParser( + '(WebTV)/\\d+.\\d+', + None, + None, + 'Generic_Inettv', + '$1', + ), + DeviceParser( + '^(Roku)/DVP-\\d+\\.\\d+', + None, + None, + 'Generic_Inettv', + '$1', + ), + DeviceParser( + '(Android 3\\.\\d|Opera Tablet|Tablet; .+Firefox/|Android.*(?:Tab|Pad))', + 'i', + 'Generic Tablet', + 'Generic', + 'Tablet', + ), + DeviceParser( + '(Symbian|\\bS60(Version|V\\d)|\\bS60\\b|\\((Series 60|Windows Mobile|Palm OS|Bada); Opera Mini|Windows CE|Opera Mobi|BREW|Brew|Mobile; .+Firefox/|iPhone OS|Android|MobileSafari|Windows *Phone|\\(webOS/|PalmOS)', + None, + 'Generic Smartphone', + 'Generic', + 'Smartphone', + ), + DeviceParser( + '(hiptop|avantgo|plucker|xiino|blazer|elaine)', + 'i', + 'Generic Smartphone', + 'Generic', + 'Smartphone', + ), + DeviceParser( + '(bot|BUbiNG|zao|borg|DBot|oegp|silk|Xenu|zeal|^NING|CCBot|crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Daum|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|msnbot|msrbot|vortex|^vortex|crawler|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|bingbot|BingPreview|openbot|gigabot|furlbot|polybot|seekbot|^voyager|archiver|Icarus6j|mogimogi|Netvibes|blitzbot|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|SeznamBot|ProoXiBot|wsr\\-agent|Squrl Java|EtaoSpider|PaperLiBot|SputnikBot|A6\\-Indexer|netresearch|searchsight|baiduspider|YisouSpider|ICC\\-Crawler|http%20client|Python-urllib|dataparksearch|converacrawler|Screaming Frog|AppEngine-Google|YahooCacheSystem|fast\\-webcrawler|Sogou Pic Spider|semanticdiscovery|Innovazion Crawler|facebookexternalhit|Google.*/\\+/web/snippet|Google-HTTP-Java-Client|BlogBridge|IlTrovatore-Setaccio|InternetArchive|GomezAgent|WebThumbnail|heritrix|NewsGator|PagePeeker|Reaper|ZooShot|holmes|NL-Crawler|Pingdom|StatusCake|WhatsApp|masscan|Google Web Preview|Qwantify|Yeti|OgScrper)', + 'i', + 'Spider', + 'Spider', + 'Desktop', + ), + DeviceParser( + '^(1207|3gso|4thp|501i|502i|503i|504i|505i|506i|6310|6590|770s|802s|a wa|acer|acs\\-|airn|alav|asus|attw|au\\-m|aur |aus |abac|acoo|aiko|alco|alca|amoi|anex|anny|anyw|aptu|arch|argo|bmobile|bell|bird|bw\\-n|bw\\-u|beck|benq|bilb|blac|c55/|cdm\\-|chtm|capi|comp|cond|dall|dbte|dc\\-s|dica|ds\\-d|ds12|dait|devi|dmob|doco|dopo|dorado|el(?:38|39|48|49|50|55|58|68)|el[3456]\\d{2}dual|erk0|esl8|ex300|ez40|ez60|ez70|ezos|ezze|elai|emul|eric|ezwa|fake|fly\\-|fly_|g\\-mo|g1 u|g560|gf\\-5|grun|gene|go.w|good|grad|hcit|hd\\-m|hd\\-p|hd\\-t|hei\\-|hp i|hpip|hs\\-c|htc |htc\\-|htca|htcg)', + 'i', + 'Generic Feature Phone', + 'Generic', + 'Feature Phone', + ), + DeviceParser( + '^(htcp|htcs|htct|htc_|haie|hita|huaw|hutc|i\\-20|i\\-go|i\\-ma|i\\-mobile|i230|iac|iac\\-|iac/|ig01|im1k|inno|iris|jata|kddi|kgt|kgt/|kpt |kwc\\-|klon|lexi|lg g|lg\\-a|lg\\-b|lg\\-c|lg\\-d|lg\\-f|lg\\-g|lg\\-k|lg\\-l|lg\\-m|lg\\-o|lg\\-p|lg\\-s|lg\\-t|lg\\-u|lg\\-w|lg/k|lg/l|lg/u|lg50|lg54|lge\\-|lge/|leno|m1\\-w|m3ga|m50/|maui|mc01|mc21|mcca|medi|meri|mio8|mioa|mo01|mo02|mode|modo|mot |mot\\-|mt50|mtp1|mtv |mate|maxo|merc|mits|mobi|motv|mozz|n100|n101|n102|n202|n203|n300|n302|n500|n502|n505|n700|n701|n710|nec\\-|nem\\-|newg|neon)', + 'i', + 'Generic Feature Phone', + 'Generic', + 'Feature Phone', + ), + DeviceParser( + '^(netf|noki|nzph|o2 x|o2\\-x|opwv|owg1|opti|oran|ot\\-s|p800|pand|pg\\-1|pg\\-2|pg\\-3|pg\\-6|pg\\-8|pg\\-c|pg13|phil|pn\\-2|pt\\-g|palm|pana|pire|pock|pose|psio|qa\\-a|qc\\-2|qc\\-3|qc\\-5|qc\\-7|qc07|qc12|qc21|qc32|qc60|qci\\-|qwap|qtek|r380|r600|raks|rim9|rove|s55/|sage|sams|sc01|sch\\-|scp\\-|sdk/|se47|sec\\-|sec0|sec1|semc|sgh\\-|shar|sie\\-|sk\\-0|sl45|slid|smb3|smt5|sp01|sph\\-|spv |spv\\-|sy01|samm|sany|sava|scoo|send|siem|smar|smit|soft|sony|t\\-mo|t218|t250|t600|t610|t618|tcl\\-|tdg\\-|telm|tim\\-|ts70|tsm\\-|tsm3|tsm5|tx\\-9|tagt)', + 'i', + 'Generic Feature Phone', + 'Generic', + 'Feature Phone', + ), + DeviceParser( + '^(talk|teli|topl|tosh|up.b|upg1|utst|v400|v750|veri|vk\\-v|vk40|vk50|vk52|vk53|vm40|vx98|virg|vertu|vite|voda|vulc|w3c |w3c\\-|wapj|wapp|wapu|wapm|wig |wapi|wapr|wapv|wapy|wapa|waps|wapt|winc|winw|wonu|x700|xda2|xdag|yas\\-|your|zte\\-|zeto|aste|audi|avan|blaz|brew|brvw|bumb|ccwa|cell|cldc|cmd\\-|dang|eml2|fetc|hipt|http|ibro|idea|ikom|ipaq|jbro|jemu|jigs|keji|kyoc|kyok|libw|m\\-cr|midp|mmef|moto|mwbp|mywa|newt|nok6|o2im|pant|pdxg|play|pluc|port|prox|rozo|sama|seri|smal|symb|treo|upsi|vx52|vx53|vx60|vx61|vx70|vx80|vx81|vx83|vx85|wap\\-|webc|whit|wmlb|xda\\-|xda_)', + 'i', + 'Generic Feature Phone', + 'Generic', + 'Feature Phone', + ), + DeviceParser( + '^(Ice)$', + None, + 'Generic Feature Phone', + 'Generic', + 'Feature Phone', + ), + DeviceParser( + '(wap[\\-\\ ]browser|maui|netfront|obigo|teleca|up\\.browser|midp|Opera Mini)', + 'i', + 'Generic Feature Phone', + 'Generic', + 'Feature Phone', + ), + DeviceParser( + 'Mac OS', + None, + 'Mac', + 'Apple', + 'Mac', + ), +] + +OS_PARSERS = [ + OSParser( + 'HbbTV/\\d+\\.\\d+\\.\\d+ \\( ;(LG)E ;NetCast 4.0', + None, + '2013', + None, + None, + None, + ), + OSParser( + 'HbbTV/\\d+\\.\\d+\\.\\d+ \\( ;(LG)E ;NetCast 3.0', + None, + '2012', + None, + None, + None, + ), + OSParser( + 'HbbTV/1.1.1 \\(;;;;;\\) Maple_2011', + 'Samsung', + '2011', + None, + None, + None, + ), + OSParser( + 'HbbTV/\\d+\\.\\d+\\.\\d+ \\(;(Samsung);SmartTV([0-9]{4});.*FXPDEUC', + None, + None, + 'UE40F7000', + None, + None, + ), + OSParser( + 'HbbTV/\\d+\\.\\d+\\.\\d+ \\(;(Samsung);SmartTV([0-9]{4});.*MST12DEUC', + None, + None, + 'UE32F4500', + None, + None, + ), + OSParser( + 'HbbTV/1\\.1\\.1 \\(; (Philips);.*NETTV/4', + None, + '2013', + None, + None, + None, + ), + OSParser( + 'HbbTV/1\\.1\\.1 \\(; (Philips);.*NETTV/3', + None, + '2012', + None, + None, + None, + ), + OSParser( + 'HbbTV/1\\.1\\.1 \\(; (Philips);.*NETTV/2', + None, + '2011', + None, + None, + None, + ), + OSParser( + 'HbbTV/\\d+\\.\\d+\\.\\d+.*(firetv)-firefox-plugin (\\d+).(\\d+).(\\d+)', + 'FireHbbTV', + None, + None, + None, + None, + ), + OSParser( + 'HbbTV/\\d+\\.\\d+\\.\\d+ \\(.*; ?([a-zA-Z]+) ?;.*(201[1-9]).*\\)', + None, + None, + None, + None, + None, + ), + OSParser( + '(Windows Phone) (?:OS[ /])?(\\d+)\\.(\\d+)', + None, + None, + None, + None, + None, + ), + OSParser( + '(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone)[ +]+(\\d+)[_\\.](\\d+)(?:[_\\.](\\d+)|).*Outlook-iOS-Android', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(Android)[ \\-/](\\d+)(?:\\.(\\d+)|)(?:[.\\-]([a-z0-9]+)|)', + None, + None, + None, + None, + None, + ), + OSParser( + '(Android) Donut', + None, + '1', + '2', + None, + None, + ), + OSParser( + '(Android) Eclair', + None, + '2', + '1', + None, + None, + ), + OSParser( + '(Android) Froyo', + None, + '2', + '2', + None, + None, + ), + OSParser( + '(Android) Gingerbread', + None, + '2', + '3', + None, + None, + ), + OSParser( + '(Android) Honeycomb', + None, + '3', + None, + None, + None, + ), + OSParser( + '(Android) (\\d+);', + None, + None, + None, + None, + None, + ), + OSParser( + '^UCWEB.*; (Adr) (\\d+)\\.(\\d+)(?:[.\\-]([a-z0-9]+)|);', + 'Android', + None, + None, + None, + None, + ), + OSParser( + '^UCWEB.*; (iPad|iPh|iPd) OS (\\d+)_(\\d+)(?:_(\\d+)|);', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '^UCWEB.*; (wds) (\\d+)\\.(\\d+)(?:\\.(\\d+)|);', + 'Windows Phone', + None, + None, + None, + None, + ), + OSParser( + '^(JUC).*; ?U; ?(?:Android|)(\\d+)\\.(\\d+)(?:[\\.\\-]([a-z0-9]+)|)', + 'Android', + None, + None, + None, + None, + ), + OSParser( + '(android)\\s(?:mobile\\/)(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)|)|)', + 'Android', + None, + None, + None, + None, + ), + OSParser( + '(Silk-Accelerated=[a-z]{4,5})', + 'Android', + None, + None, + None, + None, + ), + OSParser( + '(x86_64|aarch64)\\ (\\d+)\\.(\\d+)\\.(\\d+).*Chrome.*(?:CitrixChromeApp)$', + 'Chrome OS', + None, + None, + None, + None, + ), + OSParser( + '(XBLWP7)', + 'Windows Phone', + None, + None, + None, + None, + ), + OSParser( + '(Windows ?Mobile)', + 'Windows Mobile', + None, + None, + None, + None, + ), + OSParser( + '(Windows 10)', + 'Windows', + '10', + None, + None, + None, + ), + OSParser( + '(Windows (?:NT 5\\.2|NT 5\\.1))', + 'Windows', + 'XP', + None, + None, + None, + ), + OSParser( + '(Windows NT 6\\.1)', + 'Windows', + '7', + None, + None, + None, + ), + OSParser( + '(Windows NT 6\\.0)', + 'Windows', + 'Vista', + None, + None, + None, + ), + OSParser( + '(Win 9x 4\\.90)', + 'Windows', + 'ME', + None, + None, + None, + ), + OSParser( + '(Windows NT 6\\.2; ARM;)', + 'Windows', + 'RT', + None, + None, + None, + ), + OSParser( + '(Windows NT 6\\.2)', + 'Windows', + '8', + None, + None, + None, + ), + OSParser( + '(Windows NT 6\\.3; ARM;)', + 'Windows', + 'RT 8', + '1', + None, + None, + ), + OSParser( + '(Windows NT 6\\.3)', + 'Windows', + '8', + '1', + None, + None, + ), + OSParser( + '(Windows NT 6\\.4)', + 'Windows', + '10', + None, + None, + None, + ), + OSParser( + '(Windows NT 10\\.0)', + 'Windows', + '10', + None, + None, + None, + ), + OSParser( + '(Windows NT 5\\.0)', + 'Windows', + '2000', + None, + None, + None, + ), + OSParser( + '(WinNT4.0)', + 'Windows', + 'NT 4.0', + None, + None, + None, + ), + OSParser( + '(Windows ?CE)', + 'Windows', + 'CE', + None, + None, + None, + ), + OSParser( + 'Win(?:dows)? ?(95|98|3.1|NT|ME|2000|XP|Vista|7|CE)', + 'Windows', + '$1', + None, + None, + None, + ), + OSParser( + 'Win16', + 'Windows', + '3.1', + None, + None, + None, + ), + OSParser( + 'Win32', + 'Windows', + '95', + None, + None, + None, + ), + OSParser( + '^Box.*Windows/([\\d.]+);', + 'Windows', + '$1', + None, + None, + None, + ), + OSParser( + '(Tizen)[/ ](\\d+)\\.(\\d+)', + None, + None, + None, + None, + None, + ), + OSParser( + '((?:Mac[ +]?|; )OS[ +]X)[\\s+/](?:(\\d+)[_.](\\d+)(?:[_.](\\d+)|)|Mach-O)', + 'Mac OS X', + None, + None, + None, + None, + ), + OSParser( + '\\w+\\s+Mac OS X\\s+\\w+\\s+(\\d+).(\\d+).(\\d+).*', + 'Mac OS X', + '$1', + '$2', + '$3', + None, + ), + OSParser( + ' (Dar)(win)/(9).(\\d+).*\\((?:i386|x86_64|Power Macintosh)\\)', + 'Mac OS X', + '10', + '5', + None, + None, + ), + OSParser( + ' (Dar)(win)/(10).(\\d+).*\\((?:i386|x86_64)\\)', + 'Mac OS X', + '10', + '6', + None, + None, + ), + OSParser( + ' (Dar)(win)/(11).(\\d+).*\\((?:i386|x86_64)\\)', + 'Mac OS X', + '10', + '7', + None, + None, + ), + OSParser( + ' (Dar)(win)/(12).(\\d+).*\\((?:i386|x86_64)\\)', + 'Mac OS X', + '10', + '8', + None, + None, + ), + OSParser( + ' (Dar)(win)/(13).(\\d+).*\\((?:i386|x86_64)\\)', + 'Mac OS X', + '10', + '9', + None, + None, + ), + OSParser( + 'Mac_PowerPC', + 'Mac OS', + None, + None, + None, + None, + ), + OSParser( + '(?:PPC|Intel) (Mac OS X)', + None, + None, + None, + None, + None, + ), + OSParser( + '^Box.*;(Darwin)/(10)\\.(1\\d)(?:\\.(\\d+)|)', + 'Mac OS X', + None, + None, + None, + None, + ), + OSParser( + '(Apple\\s?TV)(?:/(\\d+)\\.(\\d+)|)', + 'ATV OS X', + None, + None, + None, + None, + ), + OSParser( + '(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS)[ +]+(\\d+)[_\\.](\\d+)(?:[_\\.](\\d+)|)', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(iPhone|iPad|iPod); Opera', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(iPhone|iPad|iPod).*Mac OS X.*Version/(\\d+)\\.(\\d+)', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(CFNetwork)/(5)48\\.0\\.3.* Darwin/11\\.0\\.0', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(CFNetwork)/(5)48\\.(0)\\.4.* Darwin/(1)1\\.0\\.0', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(CFNetwork)/(5)48\\.(1)\\.4', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(CFNetwork)/(4)85\\.1(3)\\.9', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(CFNetwork)/(6)09\\.(1)\\.4', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(CFNetwork)/(6)(0)9', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(CFNetwork)/6(7)2\\.(1)\\.13', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(CFNetwork)/6(7)2\\.(1)\\.(1)4', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(CF)(Network)/6(7)(2)\\.1\\.15', + 'iOS', + '7', + '1', + None, + None, + ), + OSParser( + '(CFNetwork)/6(7)2\\.(0)\\.(?:2|8)', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(CFNetwork)/709\\.1', + 'iOS', + '8', + '0.b5', + None, + None, + ), + OSParser( + '(CF)(Network)/711\\.(\\d)', + 'iOS', + '8', + None, + None, + None, + ), + OSParser( + '(CF)(Network)/(720)\\.(\\d)', + 'Mac OS X', + '10', + '10', + None, + None, + ), + OSParser( + '(CF)(Network)/(760)\\.(\\d)', + 'Mac OS X', + '10', + '11', + None, + None, + ), + OSParser( + 'CFNetwork/7.* Darwin/15\\.4\\.\\d+', + 'iOS', + '9', + '3', + '1', + None, + ), + OSParser( + 'CFNetwork/7.* Darwin/15\\.5\\.\\d+', + 'iOS', + '9', + '3', + '2', + None, + ), + OSParser( + 'CFNetwork/7.* Darwin/15\\.6\\.\\d+', + 'iOS', + '9', + '3', + '5', + None, + ), + OSParser( + '(CF)(Network)/758\\.(\\d)', + 'iOS', + '9', + None, + None, + None, + ), + OSParser( + 'CFNetwork/808\\.3 Darwin/16\\.3\\.\\d+', + 'iOS', + '10', + '2', + '1', + None, + ), + OSParser( + '(CF)(Network)/808\\.(\\d)', + 'iOS', + '10', + None, + None, + None, + ), + OSParser( + 'CFNetwork/.* Darwin/17\\.\\d+.*\\(x86_64\\)', + 'Mac OS X', + '10', + '13', + None, + None, + ), + OSParser( + 'CFNetwork/.* Darwin/16\\.\\d+.*\\(x86_64\\)', + 'Mac OS X', + '10', + '12', + None, + None, + ), + OSParser( + 'CFNetwork/8.* Darwin/15\\.\\d+.*\\(x86_64\\)', + 'Mac OS X', + '10', + '11', + None, + None, + ), + OSParser( + 'CFNetwork/.* Darwin/(9)\\.\\d+', + 'iOS', + '1', + None, + None, + None, + ), + OSParser( + 'CFNetwork/.* Darwin/(10)\\.\\d+', + 'iOS', + '4', + None, + None, + None, + ), + OSParser( + 'CFNetwork/.* Darwin/(11)\\.\\d+', + 'iOS', + '5', + None, + None, + None, + ), + OSParser( + 'CFNetwork/.* Darwin/(13)\\.\\d+', + 'iOS', + '6', + None, + None, + None, + ), + OSParser( + 'CFNetwork/6.* Darwin/(14)\\.\\d+', + 'iOS', + '7', + None, + None, + None, + ), + OSParser( + 'CFNetwork/7.* Darwin/(14)\\.\\d+', + 'iOS', + '8', + '0', + None, + None, + ), + OSParser( + 'CFNetwork/7.* Darwin/(15)\\.\\d+', + 'iOS', + '9', + '0', + None, + None, + ), + OSParser( + 'CFNetwork/8.* Darwin/16\\.5\\.\\d+', + 'iOS', + '10', + '3', + None, + None, + ), + OSParser( + 'CFNetwork/8.* Darwin/16\\.6\\.\\d+', + 'iOS', + '10', + '3', + '2', + None, + ), + OSParser( + 'CFNetwork/8.* Darwin/16\\.7\\.\\d+', + 'iOS', + '10', + '3', + '3', + None, + ), + OSParser( + 'CFNetwork/8.* Darwin/(16)\\.\\d+', + 'iOS', + '10', + None, + None, + None, + ), + OSParser( + 'CFNetwork/8.* Darwin/17\\.0\\.\\d+', + 'iOS', + '11', + '0', + None, + None, + ), + OSParser( + 'CFNetwork/8.* Darwin/17\\.2\\.\\d+', + 'iOS', + '11', + '1', + None, + None, + ), + OSParser( + 'CFNetwork/8.* Darwin/17\\.3\\.\\d+', + 'iOS', + '11', + '2', + None, + None, + ), + OSParser( + 'CFNetwork/8.* Darwin/17\\.4\\.\\d+', + 'iOS', + '11', + '2', + '6', + None, + ), + OSParser( + 'CFNetwork/8.* Darwin/17\\.5\\.\\d+', + 'iOS', + '11', + '3', + None, + None, + ), + OSParser( + 'CFNetwork/9.* Darwin/17\\.6\\.\\d+', + 'iOS', + '11', + '4', + None, + None, + ), + OSParser( + 'CFNetwork/9.* Darwin/17\\.7\\.\\d+', + 'iOS', + '11', + '4', + '1', + None, + ), + OSParser( + 'CFNetwork/8.* Darwin/(17)\\.\\d+', + 'iOS', + '11', + None, + None, + None, + ), + OSParser( + 'CFNetwork/9.* Darwin/18\\.0\\.\\d+', + 'iOS', + '12', + '0', + None, + None, + ), + OSParser( + 'CFNetwork/9.* Darwin/(18)\\.\\d+', + 'iOS', + '12', + None, + None, + None, + ), + OSParser( + 'CFNetwork/.* Darwin/', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '\\b(iOS[ /]|iOS; |iPhone(?:/| v|[ _]OS[/,]|; | OS : |\\d,\\d/|\\d,\\d; )|iPad/)(\\d{1,2})[_\\.](\\d{1,2})(?:[_\\.](\\d+)|)', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '\\((iOS);', + None, + None, + None, + None, + None, + ), + OSParser( + '(watchOS)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'WatchOS', + None, + None, + None, + None, + ), + OSParser( + 'Outlook-(iOS)/\\d+\\.\\d+\\.prod\\.iphone', + None, + None, + None, + None, + None, + ), + OSParser( + '(iPod|iPhone|iPad)', + 'iOS', + None, + None, + None, + None, + ), + OSParser( + '(tvOS)[/ ](\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'tvOS', + None, + None, + None, + None, + ), + OSParser( + '(CrOS) [a-z0-9_]+ (\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'Chrome OS', + None, + None, + None, + None, + ), + OSParser( + '([Dd]ebian)', + 'Debian', + None, + None, + None, + None, + ), + OSParser( + '(Linux Mint)(?:/(\\d+)|)', + None, + None, + None, + None, + None, + ), + OSParser( + '(Mandriva)(?: Linux|)/(?:[\\d.-]+m[a-z]{2}(\\d+).(\\d)|)', + None, + None, + None, + None, + None, + ), + OSParser( + '(Symbian[Oo][Ss])[/ ](\\d+)\\.(\\d+)', + 'Symbian OS', + None, + None, + None, + None, + ), + OSParser( + '(Symbian/3).+NokiaBrowser/7\\.3', + 'Symbian^3 Anna', + None, + None, + None, + None, + ), + OSParser( + '(Symbian/3).+NokiaBrowser/7\\.4', + 'Symbian^3 Belle', + None, + None, + None, + None, + ), + OSParser( + '(Symbian/3)', + 'Symbian^3', + None, + None, + None, + None, + ), + OSParser( + '\\b(Series 60|SymbOS|S60Version|S60V\\d|S60\\b)', + 'Symbian OS', + None, + None, + None, + None, + ), + OSParser( + '(MeeGo)', + None, + None, + None, + None, + None, + ), + OSParser( + 'Symbian [Oo][Ss]', + 'Symbian OS', + None, + None, + None, + None, + ), + OSParser( + 'Series40;', + 'Nokia Series 40', + None, + None, + None, + None, + ), + OSParser( + 'Series30Plus;', + 'Nokia Series 30 Plus', + None, + None, + None, + None, + ), + OSParser( + '(BB10);.+Version/(\\d+)\\.(\\d+)\\.(\\d+)', + 'BlackBerry OS', + None, + None, + None, + None, + ), + OSParser( + '(Black[Bb]erry)[0-9a-z]+/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'BlackBerry OS', + None, + None, + None, + None, + ), + OSParser( + '(Black[Bb]erry).+Version/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'BlackBerry OS', + None, + None, + None, + None, + ), + OSParser( + '(RIM Tablet OS) (\\d+)\\.(\\d+)\\.(\\d+)', + 'BlackBerry Tablet OS', + None, + None, + None, + None, + ), + OSParser( + '(Play[Bb]ook)', + 'BlackBerry Tablet OS', + None, + None, + None, + None, + ), + OSParser( + '(Black[Bb]erry)', + 'BlackBerry OS', + None, + None, + None, + None, + ), + OSParser( + '(K[Aa][Ii]OS)\\/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'KaiOS', + None, + None, + None, + None, + ), + OSParser( + '\\((?:Mobile|Tablet);.+Gecko/18.0 Firefox/\\d+\\.\\d+', + 'Firefox OS', + '1', + '0', + '1', + None, + ), + OSParser( + '\\((?:Mobile|Tablet);.+Gecko/18.1 Firefox/\\d+\\.\\d+', + 'Firefox OS', + '1', + '1', + None, + None, + ), + OSParser( + '\\((?:Mobile|Tablet);.+Gecko/26.0 Firefox/\\d+\\.\\d+', + 'Firefox OS', + '1', + '2', + None, + None, + ), + OSParser( + '\\((?:Mobile|Tablet);.+Gecko/28.0 Firefox/\\d+\\.\\d+', + 'Firefox OS', + '1', + '3', + None, + None, + ), + OSParser( + '\\((?:Mobile|Tablet);.+Gecko/30.0 Firefox/\\d+\\.\\d+', + 'Firefox OS', + '1', + '4', + None, + None, + ), + OSParser( + '\\((?:Mobile|Tablet);.+Gecko/32.0 Firefox/\\d+\\.\\d+', + 'Firefox OS', + '2', + '0', + None, + None, + ), + OSParser( + '\\((?:Mobile|Tablet);.+Gecko/34.0 Firefox/\\d+\\.\\d+', + 'Firefox OS', + '2', + '1', + None, + None, + ), + OSParser( + '\\((?:Mobile|Tablet);.+Firefox/\\d+\\.\\d+', + 'Firefox OS', + None, + None, + None, + None, + ), + OSParser( + '(BREW)[ /](\\d+)\\.(\\d+)\\.(\\d+)', + None, + None, + None, + None, + None, + ), + OSParser( + '(BREW);', + None, + None, + None, + None, + None, + ), + OSParser( + '(Brew MP|BMP)[ /](\\d+)\\.(\\d+)\\.(\\d+)', + 'Brew MP', + None, + None, + None, + None, + ), + OSParser( + 'BMP;', + 'Brew MP', + None, + None, + None, + None, + ), + OSParser( + '(GoogleTV)(?: (\\d+)\\.(\\d+)(?:\\.(\\d+)|)|/[\\da-z]+)', + None, + None, + None, + None, + None, + ), + OSParser( + '(WebTV)/(\\d+).(\\d+)', + None, + None, + None, + None, + None, + ), + OSParser( + '(CrKey)(?:[/](\\d+)\\.(\\d+)(?:\\.(\\d+)|)|)', + 'Chromecast', + None, + None, + None, + None, + ), + OSParser( + '(hpw|web)OS/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)', + 'webOS', + None, + None, + None, + None, + ), + OSParser( + '(VRE);', + None, + None, + None, + None, + None, + ), + OSParser( + '(Fedora|Red Hat|PCLinuxOS|Puppy|Ubuntu|Kindle|Bada|Sailfish|Lubuntu|BackTrack|Slackware|(?:Free|Open|Net|\\b)BSD)[/ ](\\d+)\\.(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)', + None, + None, + None, + None, + None, + ), + OSParser( + '(Linux)[ /](\\d+)\\.(\\d+)(?:\\.(\\d+)|).*gentoo', + 'Gentoo', + None, + None, + None, + None, + ), + OSParser( + '\\((Bada);', + None, + None, + None, + None, + None, + ), + OSParser( + '(Windows|Android|WeTab|Maemo|Web0S)', + None, + None, + None, + None, + None, + ), + OSParser( + '(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Mageia|(?:Free|Open|Net|\\b)BSD)', + None, + None, + None, + None, + None, + ), + OSParser( + '(Linux)(?:[ /](\\d+)\\.(\\d+)(?:\\.(\\d+)|)|)', + None, + None, + None, + None, + None, + ), + OSParser( + 'SunOS', + 'Solaris', + None, + None, + None, + None, + ), + OSParser( + '\\(linux-gnu\\)', + 'Linux', + None, + None, + None, + None, + ), + OSParser( + '\\(x86_64-redhat-linux-gnu\\)', + 'Red Hat', + None, + None, + None, + None, + ), + OSParser( + '\\((freebsd)(\\d+)\\.(\\d+)\\)', + 'FreeBSD', + None, + None, + None, + None, + ), + OSParser( + 'linux', + 'Linux', + None, + None, + None, + None, + ), + OSParser( + '^(Roku)/DVP-(\\d+)\\.(\\d+)', + None, + None, + None, + None, + None, + ), +] diff --git a/app_common/lib/ua_parser/user_agent_parser.py b/app_common/lib/ua_parser/user_agent_parser.py new file mode 100644 index 00000000..45f5a063 --- /dev/null +++ b/app_common/lib/ua_parser/user_agent_parser.py @@ -0,0 +1,544 @@ +# Copyright 2009 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the 'License') +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an 'AS IS' BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Python implementation of the UA parser.""" + +from __future__ import absolute_import + +import os +import re + +__author__ = "Lindsey Simon " + + +class UserAgentParser(object): + def __init__( + self, pattern, family_replacement=None, v1_replacement=None, v2_replacement=None + ): + """Initialize UserAgentParser. + + Args: + pattern: a regular expression string + family_replacement: a string to override the matched family (optional) + v1_replacement: a string to override the matched v1 (optional) + v2_replacement: a string to override the matched v2 (optional) + """ + self.pattern = pattern + self.user_agent_re = re.compile(self.pattern) + self.family_replacement = family_replacement + self.v1_replacement = v1_replacement + self.v2_replacement = v2_replacement + + def MatchSpans(self, user_agent_string): + match_spans = [] + match = self.user_agent_re.search(user_agent_string) + if match: + match_spans = [ + match.span(group_index) for group_index in range(1, match.lastindex + 1) + ] + return match_spans + + def Parse(self, user_agent_string): + family, v1, v2, v3 = None, None, None, None + match = self.user_agent_re.search(user_agent_string) + if match: + if self.family_replacement: + if re.search(r"\$1", self.family_replacement): + family = re.sub(r"\$1", match.group(1), self.family_replacement) + else: + family = self.family_replacement + else: + family = match.group(1) + + if self.v1_replacement: + v1 = self.v1_replacement + elif match.lastindex and match.lastindex >= 2: + v1 = match.group(2) or None + + if self.v2_replacement: + v2 = self.v2_replacement + elif match.lastindex and match.lastindex >= 3: + v2 = match.group(3) or None + + if match.lastindex and match.lastindex >= 4: + v3 = match.group(4) or None + + return family, v1, v2, v3 + + +class OSParser(object): + def __init__( + self, + pattern, + os_replacement=None, + os_v1_replacement=None, + os_v2_replacement=None, + os_v3_replacement=None, + os_v4_replacement=None, + ): + """Initialize UserAgentParser. + + Args: + pattern: a regular expression string + os_replacement: a string to override the matched os (optional) + os_v1_replacement: a string to override the matched v1 (optional) + os_v2_replacement: a string to override the matched v2 (optional) + os_v3_replacement: a string to override the matched v3 (optional) + os_v4_replacement: a string to override the matched v4 (optional) + """ + self.pattern = pattern + self.user_agent_re = re.compile(self.pattern) + self.os_replacement = os_replacement + self.os_v1_replacement = os_v1_replacement + self.os_v2_replacement = os_v2_replacement + self.os_v3_replacement = os_v3_replacement + self.os_v4_replacement = os_v4_replacement + + def MatchSpans(self, user_agent_string): + match_spans = [] + match = self.user_agent_re.search(user_agent_string) + if match: + match_spans = [ + match.span(group_index) for group_index in range(1, match.lastindex + 1) + ] + return match_spans + + def Parse(self, user_agent_string): + os, os_v1, os_v2, os_v3, os_v4 = None, None, None, None, None + match = self.user_agent_re.search(user_agent_string) + if match: + if self.os_replacement: + os = MultiReplace(self.os_replacement, match) + elif match.lastindex: + os = match.group(1) + + if self.os_v1_replacement: + os_v1 = MultiReplace(self.os_v1_replacement, match) + elif match.lastindex and match.lastindex >= 2: + os_v1 = match.group(2) + + if self.os_v2_replacement: + os_v2 = MultiReplace(self.os_v2_replacement, match) + elif match.lastindex and match.lastindex >= 3: + os_v2 = match.group(3) + + if self.os_v3_replacement: + os_v3 = MultiReplace(self.os_v3_replacement, match) + elif match.lastindex and match.lastindex >= 4: + os_v3 = match.group(4) + + if self.os_v4_replacement: + os_v4 = MultiReplace(self.os_v4_replacement, match) + elif match.lastindex and match.lastindex >= 5: + os_v4 = match.group(5) + + return os, os_v1, os_v2, os_v3, os_v4 + + +def MultiReplace(string, match): + def _repl(m): + index = int(m.group(1)) - 1 + group = match.groups() + if index < len(group): + return group[index] + return "" + + _string = re.sub(r"\$(\d)", _repl, string) + _string = re.sub(r"^\s+|\s+$", "", _string) + if _string == "": + return None + return _string + + +class DeviceParser(object): + def __init__( + self, + pattern, + regex_flag=None, + device_replacement=None, + brand_replacement=None, + model_replacement=None, + ): + """Initialize UserAgentParser. + + Args: + pattern: a regular expression string + device_replacement: a string to override the matched device (optional) + """ + self.pattern = pattern + if regex_flag == "i": + self.user_agent_re = re.compile(self.pattern, re.IGNORECASE) + else: + self.user_agent_re = re.compile(self.pattern) + self.device_replacement = device_replacement + self.brand_replacement = brand_replacement + self.model_replacement = model_replacement + + def MatchSpans(self, user_agent_string): + match_spans = [] + match = self.user_agent_re.search(user_agent_string) + if match: + match_spans = [ + match.span(group_index) for group_index in range(1, match.lastindex + 1) + ] + return match_spans + + def Parse(self, user_agent_string): + device, brand, model = None, None, None + match = self.user_agent_re.search(user_agent_string) + if match: + if self.device_replacement: + device = MultiReplace(self.device_replacement, match) + else: + device = match.group(1) + + if self.brand_replacement: + brand = MultiReplace(self.brand_replacement, match) + + if self.model_replacement: + model = MultiReplace(self.model_replacement, match) + elif len(match.groups()) > 0: + model = match.group(1) + + return device, brand, model + + +MAX_CACHE_SIZE = 20 +_parse_cache = {} + + +def Parse(user_agent_string, **jsParseBits): + """ Parse all the things + Args: + user_agent_string: the full user agent string + jsParseBits: javascript override bits + Returns: + A dictionary containing all parsed bits + """ + jsParseBits = jsParseBits or {} + key = (user_agent_string, repr(jsParseBits)) + cached = _parse_cache.get(key) + if cached is not None: + return cached + if len(_parse_cache) > MAX_CACHE_SIZE: + _parse_cache.clear() + v = { + "user_agent": ParseUserAgent(user_agent_string, **jsParseBits), + "os": ParseOS(user_agent_string, **jsParseBits), + "device": ParseDevice(user_agent_string, **jsParseBits), + "string": user_agent_string, + } + _parse_cache[key] = v + return v + + +def ParseUserAgent(user_agent_string, **jsParseBits): + """ Parses the user-agent string for user agent (browser) info. + Args: + user_agent_string: The full user-agent string. + jsParseBits: javascript override bits. + Returns: + A dictionary containing parsed bits. + """ + if ( + "js_user_agent_family" in jsParseBits + and jsParseBits["js_user_agent_family"] != "" + ): + family = jsParseBits["js_user_agent_family"] + v1 = jsParseBits.get("js_user_agent_v1") or None + v2 = jsParseBits.get("js_user_agent_v2") or None + v3 = jsParseBits.get("js_user_agent_v3") or None + else: + for uaParser in USER_AGENT_PARSERS: + family, v1, v2, v3 = uaParser.Parse(user_agent_string) + if family: + break + + # Override for Chrome Frame IFF Chrome is enabled. + if "js_user_agent_string" in jsParseBits: + js_user_agent_string = jsParseBits["js_user_agent_string"] + if ( + js_user_agent_string + and js_user_agent_string.find("Chrome/") > -1 + and user_agent_string.find("chromeframe") > -1 + ): + jsOverride = {} + jsOverride = ParseUserAgent(js_user_agent_string) + family = "Chrome Frame (%s %s)" % (family, v1) + v1 = jsOverride["major"] + v2 = jsOverride["minor"] + v3 = jsOverride["patch"] + + family = family or "Other" + return { + "family": family, + "major": v1 or None, + "minor": v2 or None, + "patch": v3 or None, + } + + +def ParseOS(user_agent_string, **jsParseBits): + """ Parses the user-agent string for operating system info + Args: + user_agent_string: The full user-agent string. + jsParseBits: javascript override bits. + Returns: + A dictionary containing parsed bits. + """ + for osParser in OS_PARSERS: + os, os_v1, os_v2, os_v3, os_v4 = osParser.Parse(user_agent_string) + if os: + break + os = os or "Other" + return { + "family": os, + "major": os_v1, + "minor": os_v2, + "patch": os_v3, + "patch_minor": os_v4, + } + + +def ParseDevice(user_agent_string): + """ Parses the user-agent string for device info. + Args: + user_agent_string: The full user-agent string. + ua_family: The parsed user agent family name. + Returns: + A dictionary containing parsed bits. + """ + for deviceParser in DEVICE_PARSERS: + device, brand, model = deviceParser.Parse(user_agent_string) + if device: + break + + if device is None: + device = "Other" + + return {"family": device, "brand": brand, "model": model} + + +def PrettyUserAgent(family, v1=None, v2=None, v3=None): + """Pretty user agent string.""" + if v3: + if v3[0].isdigit(): + return "%s %s.%s.%s" % (family, v1, v2, v3) + else: + return "%s %s.%s%s" % (family, v1, v2, v3) + elif v2: + return "%s %s.%s" % (family, v1, v2) + elif v1: + return "%s %s" % (family, v1) + return family + + +def PrettyOS(os, os_v1=None, os_v2=None, os_v3=None, os_v4=None): + """Pretty os string.""" + if os_v4: + return "%s %s.%s.%s.%s" % (os, os_v1, os_v2, os_v3, os_v4) + if os_v3: + if os_v3[0].isdigit(): + return "%s %s.%s.%s" % (os, os_v1, os_v2, os_v3) + else: + return "%s %s.%s%s" % (os, os_v1, os_v2, os_v3) + elif os_v2: + return "%s %s.%s" % (os, os_v1, os_v2) + elif os_v1: + return "%s %s" % (os, os_v1) + return os + + +def ParseWithJSOverrides( + user_agent_string, + js_user_agent_string=None, + js_user_agent_family=None, + js_user_agent_v1=None, + js_user_agent_v2=None, + js_user_agent_v3=None, +): + """ backwards compatible. use one of the other Parse methods instead! """ + + # Override via JS properties. + if js_user_agent_family is not None and js_user_agent_family != "": + family = js_user_agent_family + v1 = None + v2 = None + v3 = None + if js_user_agent_v1 is not None: + v1 = js_user_agent_v1 + if js_user_agent_v2 is not None: + v2 = js_user_agent_v2 + if js_user_agent_v3 is not None: + v3 = js_user_agent_v3 + else: + for parser in USER_AGENT_PARSERS: + family, v1, v2, v3 = parser.Parse(user_agent_string) + if family: + break + + # Override for Chrome Frame IFF Chrome is enabled. + if ( + js_user_agent_string + and js_user_agent_string.find("Chrome/") > -1 + and user_agent_string.find("chromeframe") > -1 + ): + family = "Chrome Frame (%s %s)" % (family, v1) + ua_dict = ParseUserAgent(js_user_agent_string) + v1 = ua_dict["major"] + v2 = ua_dict["minor"] + v3 = ua_dict["patch"] + + return family or "Other", v1, v2, v3 + + +def Pretty(family, v1=None, v2=None, v3=None): + """ backwards compatible. use PrettyUserAgent instead! """ + if v3: + if v3[0].isdigit(): + return "%s %s.%s.%s" % (family, v1, v2, v3) + else: + return "%s %s.%s%s" % (family, v1, v2, v3) + elif v2: + return "%s %s.%s" % (family, v1, v2) + elif v1: + return "%s %s" % (family, v1) + return family + + +def GetFilters( + user_agent_string, + js_user_agent_string=None, + js_user_agent_family=None, + js_user_agent_v1=None, + js_user_agent_v2=None, + js_user_agent_v3=None, +): + """Return the optional arguments that should be saved and used to query. + + js_user_agent_string is always returned if it is present. We really only need + it for Chrome Frame. However, I added it in the generally case to find other + cases when it is different. When the recording of js_user_agent_string was + added, we created new records for all new user agents. + + Since we only added js_document_mode for the IE 9 preview case, it did not + cause new user agent records the way js_user_agent_string did. + + js_document_mode has since been removed in favor of individual property + overrides. + + Args: + user_agent_string: The full user-agent string. + js_user_agent_string: JavaScript ua string from client-side + js_user_agent_family: This is an override for the family name to deal + with the fact that IE platform preview (for instance) cannot be + distinguished by user_agent_string, but only in javascript. + js_user_agent_v1: v1 override - see above. + js_user_agent_v2: v1 override - see above. + js_user_agent_v3: v1 override - see above. + Returns: + {js_user_agent_string: '[...]', js_family_name: '[...]', etc...} + """ + filters = {} + filterdict = { + "js_user_agent_string": js_user_agent_string, + "js_user_agent_family": js_user_agent_family, + "js_user_agent_v1": js_user_agent_v1, + "js_user_agent_v2": js_user_agent_v2, + "js_user_agent_v3": js_user_agent_v3, + } + for key, value in filterdict.items(): + if value is not None and value != "": + filters[key] = value + return filters + + +# Build the list of user agent parsers from YAML +UA_PARSER_YAML = os.environ.get("UA_PARSER_YAML") +if UA_PARSER_YAML: + # This will raise an ImportError if missing, obviously since it's no + # longer a requirement + import yaml + + try: + # Try and use libyaml bindings if available since faster + from yaml import CSafeLoader as SafeLoader + except ImportError: + from yaml import SafeLoader + + with open(UA_PARSER_YAML) as fp: + regexes = yaml.load(fp, Loader=SafeLoader) + + USER_AGENT_PARSERS = [] + for _ua_parser in regexes["user_agent_parsers"]: + _regex = _ua_parser["regex"] + + _family_replacement = _ua_parser.get("family_replacement") + _v1_replacement = _ua_parser.get("v1_replacement") + _v2_replacement = _ua_parser.get("v2_replacement") + + USER_AGENT_PARSERS.append( + UserAgentParser( + _regex, _family_replacement, _v1_replacement, _v2_replacement + ) + ) + + OS_PARSERS = [] + for _os_parser in regexes["os_parsers"]: + _regex = _os_parser["regex"] + + _os_replacement = _os_parser.get("os_replacement") + _os_v1_replacement = _os_parser.get("os_v1_replacement") + _os_v2_replacement = _os_parser.get("os_v2_replacement") + _os_v3_replacement = _os_parser.get("os_v3_replacement") + _os_v4_replacement = _os_parser.get("os_v4_replacement") + + OS_PARSERS.append( + OSParser( + _regex, + _os_replacement, + _os_v1_replacement, + _os_v2_replacement, + _os_v3_replacement, + _os_v4_replacement, + ) + ) + + DEVICE_PARSERS = [] + for _device_parser in regexes["device_parsers"]: + _regex = _device_parser["regex"] + + _regex_flag = _device_parser.get("regex_flag") + _device_replacement = _device_parser.get("device_replacement") + _brand_replacement = _device_parser.get("brand_replacement") + _model_replacement = _device_parser.get("model_replacement") + + DEVICE_PARSERS.append( + DeviceParser( + _regex, + _regex_flag, + _device_replacement, + _brand_replacement, + _model_replacement, + ) + ) + + # Clean our our temporary vars explicitly + # so they can't be reused or imported + del regexes + del yaml + del SafeLoader +else: + # Just load our pre-compiled versions + from ._regexes import USER_AGENT_PARSERS, DEVICE_PARSERS, OS_PARSERS diff --git a/app_common/lib/ua_parser/user_agent_parser_test.py b/app_common/lib/ua_parser/user_agent_parser_test.py new file mode 100644 index 00000000..c73d742b --- /dev/null +++ b/app_common/lib/ua_parser/user_agent_parser_test.py @@ -0,0 +1,290 @@ +#!/usr/bin/python2.5 +# +# Copyright 2008 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the 'License') +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an 'AS IS' BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +"""User Agent Parser Unit Tests. +Run: +# python -m user_agent_parser_test (runs all the tests, takes awhile) +or like: +# python -m user_agent_parser_test ParseTest.testBrowserscopeStrings +""" + + +from __future__ import unicode_literals, absolute_import + +__author__ = "slamm@google.com (Stephen Lamm)" + +import os +import re +import unittest +import yaml + +try: + # Try and use libyaml bindings if available since faster + from yaml import CSafeLoader as SafeLoader +except ImportError: + from yaml import SafeLoader + +from ua_parser import user_agent_parser + +TEST_RESOURCES_DIR = os.path.join( + os.path.abspath(os.path.dirname(__file__)), "../uap-core" +) + + +class ParseTest(unittest.TestCase): + def testBrowserscopeStrings(self): + self.runUserAgentTestsFromYAML( + os.path.join(TEST_RESOURCES_DIR, "tests/test_ua.yaml") + ) + + def testBrowserscopeStringsOS(self): + self.runOSTestsFromYAML(os.path.join(TEST_RESOURCES_DIR, "tests/test_os.yaml")) + + def testStringsOS(self): + self.runOSTestsFromYAML( + os.path.join(TEST_RESOURCES_DIR, "test_resources/additional_os_tests.yaml") + ) + + def testStringsDevice(self): + self.runDeviceTestsFromYAML( + os.path.join(TEST_RESOURCES_DIR, "tests/test_device.yaml") + ) + + def testMozillaStrings(self): + self.runUserAgentTestsFromYAML( + os.path.join( + TEST_RESOURCES_DIR, "test_resources/firefox_user_agent_strings.yaml" + ) + ) + + # NOTE: The YAML file used here is one output by makePGTSComparisonYAML() + # below, as opposed to the pgts_browser_list-orig.yaml file. The -orig + # file is by no means perfect, but identifies many browsers that we + # classify as "Other". This test itself is mostly useful to know when + # somthing in UA parsing changes. An effort should be made to try and + # reconcile the differences between the two YAML files. + def testPGTSStrings(self): + self.runUserAgentTestsFromYAML( + os.path.join(TEST_RESOURCES_DIR, "test_resources/pgts_browser_list.yaml") + ) + + def testParseAll(self): + user_agent_string = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; fr; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5,gzip(gfe),gzip(gfe)" + expected = { + "device": {"family": "Mac", "brand": "Apple", "model": "Mac"}, + "os": { + "family": "Mac OS X", + "major": "10", + "minor": "4", + "patch": None, + "patch_minor": None, + }, + "user_agent": { + "family": "Firefox", + "major": "3", + "minor": "5", + "patch": "5", + }, + "string": user_agent_string, + } + + result = user_agent_parser.Parse(user_agent_string) + self.assertEqual( + result, + expected, + "UA: {0}\n expected<{1}> != actual<{2}>".format( + user_agent_string, expected, result + ), + ) + + # Make a YAML file for manual comparsion with pgts_browser_list-orig.yaml + def makePGTSComparisonYAML(self): + import codecs + + outfile = codecs.open("outfile.yaml", "w", "utf-8") + print >> outfile, "test_cases:" + + yamlFile = open(os.path.join(TEST_RESOURCES_DIR, "pgts_browser_list.yaml")) + yamlContents = yaml.load(yamlFile, Loader=SafeLoader) + yamlFile.close() + + for test_case in yamlContents["test_cases"]: + user_agent_string = test_case["user_agent_string"] + kwds = {} + if "js_ua" in test_case: + kwds = eval(test_case["js_ua"]) + + (family, major, minor, patch) = user_agent_parser.ParseUserAgent( + user_agent_string, **kwds + ) + + # Escape any double-quotes in the UA string + user_agent_string = re.sub(r'"', '\\"', user_agent_string) + print >> outfile, ' - user_agent_string: "' + user_agent_string + '"' + "\n" + ' family: "' + family + '"\n' + " major: " + ( + "" if (major is None) else "'" + major + "'" + ) + "\n" + " minor: " + ( + "" if (minor is None) else "'" + minor + "'" + ) + "\n" + " patch: " + ( + "" if (patch is None) else "'" + patch + "'" + ) + outfile.close() + + # Run a set of test cases from a YAML file + def runUserAgentTestsFromYAML(self, file_name): + yamlFile = open(os.path.join(TEST_RESOURCES_DIR, file_name)) + yamlContents = yaml.load(yamlFile, Loader=SafeLoader) + yamlFile.close() + + for test_case in yamlContents["test_cases"]: + # Inputs to Parse() + user_agent_string = test_case["user_agent_string"] + kwds = {} + if "js_ua" in test_case: + kwds = eval(test_case["js_ua"]) + + # The expected results + expected = { + "family": test_case["family"], + "major": test_case["major"], + "minor": test_case["minor"], + "patch": test_case["patch"], + } + + result = {} + result = user_agent_parser.ParseUserAgent(user_agent_string, **kwds) + self.assertEqual( + result, + expected, + "UA: {0}\n expected<{1}, {2}, {3}, {4}> != actual<{5}, {6}, {7}, {8}>".format( + user_agent_string, + expected["family"], + expected["major"], + expected["minor"], + expected["patch"], + result["family"], + result["major"], + result["minor"], + result["patch"], + ), + ) + + def runOSTestsFromYAML(self, file_name): + yamlFile = open(os.path.join(TEST_RESOURCES_DIR, file_name)) + yamlContents = yaml.load(yamlFile, Loader=SafeLoader) + yamlFile.close() + + for test_case in yamlContents["test_cases"]: + # Inputs to Parse() + user_agent_string = test_case["user_agent_string"] + kwds = {} + if "js_ua" in test_case: + kwds = eval(test_case["js_ua"]) + + # The expected results + expected = { + "family": test_case["family"], + "major": test_case["major"], + "minor": test_case["minor"], + "patch": test_case["patch"], + "patch_minor": test_case["patch_minor"], + } + + result = user_agent_parser.ParseOS(user_agent_string, **kwds) + self.assertEqual( + result, + expected, + "UA: {0}\n expected<{1} {2} {3} {4} {5}> != actual<{6} {7} {8} {9} {10}>".format( + user_agent_string, + expected["family"], + expected["major"], + expected["minor"], + expected["patch"], + expected["patch_minor"], + result["family"], + result["major"], + result["minor"], + result["patch"], + result["patch_minor"], + ), + ) + + def runDeviceTestsFromYAML(self, file_name): + yamlFile = open(os.path.join(TEST_RESOURCES_DIR, file_name)) + yamlContents = yaml.load(yamlFile, Loader=SafeLoader) + yamlFile.close() + + for test_case in yamlContents["test_cases"]: + # Inputs to Parse() + user_agent_string = test_case["user_agent_string"] + kwds = {} + if "js_ua" in test_case: + kwds = eval(test_case["js_ua"]) + + # The expected results + expected = { + "family": test_case["family"], + "brand": test_case["brand"], + "model": test_case["model"], + } + + result = user_agent_parser.ParseDevice(user_agent_string, **kwds) + self.assertEqual( + result, + expected, + "UA: {0}\n expected<{1} {2} {3}> != actual<{4} {5} {6}>".format( + user_agent_string, + expected["family"], + expected["brand"], + expected["model"], + result["family"], + result["brand"], + result["model"], + ), + ) + + +class GetFiltersTest(unittest.TestCase): + def testGetFiltersNoMatchesGiveEmptyDict(self): + user_agent_string = "foo" + filters = user_agent_parser.GetFilters( + user_agent_string, js_user_agent_string=None + ) + self.assertEqual({}, filters) + + def testGetFiltersJsUaPassedThrough(self): + user_agent_string = "foo" + filters = user_agent_parser.GetFilters( + user_agent_string, js_user_agent_string="bar" + ) + self.assertEqual({"js_user_agent_string": "bar"}, filters) + + def testGetFiltersJsUserAgentFamilyAndVersions(self): + user_agent_string = ( + "Mozilla/4.0 (compatible; MSIE 8.0; " + "Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 2.0.50727; " + ".NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" + ) + filters = user_agent_parser.GetFilters( + user_agent_string, js_user_agent_string="bar", js_user_agent_family="foo" + ) + self.assertEqual( + {"js_user_agent_string": "bar", "js_user_agent_family": "foo"}, filters + ) + + +if __name__ == "__main__": + unittest.main() diff --git a/app_common/lib/user_agents/__init__.py b/app_common/lib/user_agents/__init__.py new file mode 100644 index 00000000..e47740f2 --- /dev/null +++ b/app_common/lib/user_agents/__init__.py @@ -0,0 +1,3 @@ +VERSION = (2, 2, 0) + +from .parsers import parse diff --git a/app_common/lib/user_agents/compat.py b/app_common/lib/user_agents/compat.py new file mode 100644 index 00000000..c4d1a247 --- /dev/null +++ b/app_common/lib/user_agents/compat.py @@ -0,0 +1,14 @@ +import sys + +PY3 = sys.version_info[0] == 3 + +if PY3: + string_types = str + + def iteritems(d, **kw): + return iter(d.items(**kw)) +else: + string_types = basestring + + def iteritems(d, **kw): + return iter(d.iteritems(**kw)) diff --git a/app_common/lib/user_agents/parsers.py b/app_common/lib/user_agents/parsers.py new file mode 100644 index 00000000..7c309697 --- /dev/null +++ b/app_common/lib/user_agents/parsers.py @@ -0,0 +1,268 @@ +from collections import namedtuple + +from ..ua_parser import user_agent_parser +from .compat import string_types + + +MOBILE_DEVICE_FAMILIES = ( + 'iPhone', + 'iPod', + 'Generic Smartphone', + 'Generic Feature Phone', + 'PlayStation Vita', + 'iOS-Device' +) + +PC_OS_FAMILIES = ( + 'Windows 95', + 'Windows 98', + 'Solaris', +) + +MOBILE_OS_FAMILIES = ( + 'Windows Phone', + 'Windows Phone OS', # Earlier versions of ua-parser returns Windows Phone OS + 'Symbian OS', + 'Bada', + 'Windows CE', + 'Windows Mobile', + 'Maemo', +) + +MOBILE_BROWSER_FAMILIES = ( + 'IE Mobile', + 'Opera Mobile', + 'Opera Mini', + 'Chrome Mobile', + 'Chrome Mobile WebView', + 'Chrome Mobile iOS', +) + +TABLET_DEVICE_FAMILIES = ( + 'iPad', + 'BlackBerry Playbook', + 'Blackberry Playbook', # Earlier versions of ua-parser returns "Blackberry" instead of "BlackBerry" + 'Kindle', + 'Kindle Fire', + 'Kindle Fire HD', + 'Galaxy Tab', + 'Xoom', + 'Dell Streak', +) + +TOUCH_CAPABLE_OS_FAMILIES = ( + 'iOS', + 'Android', + 'Windows Phone', + 'Windows CE', + 'Windows Mobile', + 'Firefox OS', + 'MeeGo', +) + +TOUCH_CAPABLE_DEVICE_FAMILIES = ( + 'BlackBerry Playbook', + 'Blackberry Playbook', + 'Kindle Fire', +) + +EMAIL_PROGRAM_FAMILIES = set(( + 'Outlook', + 'Windows Live Mail', + 'AirMail', + 'Apple Mail', + 'Outlook', + 'Thunderbird', + 'Lightning', + 'ThunderBrowse', + 'Windows Live Mail', + 'The Bat!', + 'Lotus Notes', + 'IBM Notes', + 'Barca', + 'MailBar', + 'kmail2', + 'YahooMobileMail' +)) + +def verify_attribute(attribute): + if isinstance(attribute, string_types) and attribute.isdigit(): + return int(attribute) + + return attribute + + +def parse_version(major=None, minor=None, patch=None, patch_minor=None): + # Returns version number tuple, attributes will be integer if they're numbers + major = verify_attribute(major) + minor = verify_attribute(minor) + patch = verify_attribute(patch) + patch_minor = verify_attribute(patch_minor) + + return tuple( + filter(lambda x: x is not None, (major, minor, patch, patch_minor)) + ) + + +Browser = namedtuple('Browser', ['family', 'version', 'version_string']) + + +def parse_browser(family, major=None, minor=None, patch=None, patch_minor=None): + # Returns a browser object + version = parse_version(major, minor, patch) + version_string = '.'.join([str(v) for v in version]) + return Browser(family, version, version_string) + + +OperatingSystem = namedtuple('OperatingSystem', ['family', 'version', 'version_string']) + + +def parse_operating_system(family, major=None, minor=None, patch=None, patch_minor=None): + version = parse_version(major, minor, patch) + version_string = '.'.join([str(v) for v in version]) + return OperatingSystem(family, version, version_string) + + +Device = namedtuple('Device', ['family', 'brand', 'model']) + + +def parse_device(family, brand, model): + return Device(family, brand, model) + + +class UserAgent(object): + + def __init__(self, user_agent_string): + ua_dict = user_agent_parser.Parse(user_agent_string) + self.ua_string = user_agent_string + self.os = parse_operating_system(**ua_dict['os']) + self.browser = parse_browser(**ua_dict['user_agent']) + self.device = parse_device(**ua_dict['device']) + + def __str__(self): + return "{device} / {os} / {browser}".format( + device=self.get_device(), + os=self.get_os(), + browser=self.get_browser() + ) + + def __unicode__(self): + return unicode(str(self)) + + def _is_android_tablet(self): + # Newer Android tablets don't have "Mobile" in their user agent string, + # older ones like Galaxy Tab still have "Mobile" though they're not + if ('Mobile Safari' not in self.ua_string and + self.browser.family != "Firefox Mobile"): + return True + return False + + def _is_blackberry_touch_capable_device(self): + # A helper to determine whether a BB phone has touch capabilities + # Blackberry Bold Touch series begins with 99XX + if 'Blackberry 99' in self.device.family: + return True + if 'Blackberry 95' in self.device.family: # BB Storm devices + return True + return False + + def get_device(self): + return self.is_pc and "PC" or self.device.family + + def get_os(self): + return ("%s %s" % (self.os.family, self.os.version_string)).strip() + + def get_browser(self): + return ("%s %s" % (self.browser.family, self.browser.version_string)).strip() + + @property + def is_tablet(self): + if self.device.family in TABLET_DEVICE_FAMILIES: + return True + if (self.os.family == 'Android' and self._is_android_tablet()): + return True + if self.os.family == 'Windows' and self.os.version_string.startswith('RT'): + return True + if self.os.family == 'Firefox OS' and 'Mobile' not in self.browser.family: + return True + return False + + @property + def is_mobile(self): + # First check for mobile device and mobile browser families + if self.device.family in MOBILE_DEVICE_FAMILIES: + return True + if self.browser.family in MOBILE_BROWSER_FAMILIES: + return True + # Device is considered Mobile OS is Android and not tablet + # This is not fool proof but would have to suffice for now + if ((self.os.family == 'Android' or self.os.family == 'Firefox OS') + and not self.is_tablet): + return True + if self.os.family == 'BlackBerry OS' and self.device.family != 'Blackberry Playbook': + return True + if self.os.family in MOBILE_OS_FAMILIES: + return True + # TODO: remove after https://github.com/tobie/ua-parser/issues/126 is closed + if 'J2ME' in self.ua_string or 'MIDP' in self.ua_string: + return True + # This is here mainly to detect Google's Mobile Spider + if 'iPhone;' in self.ua_string: + return True + if 'Googlebot-Mobile' in self.ua_string: + return True + # Mobile Spiders should be identified as mobile + if self.device.family == 'Spider' and 'Mobile' in self.browser.family: + return True + # Nokia mobile + if 'NokiaBrowser' in self.ua_string and 'Mobile' in self.ua_string: + return True + return False + + @property + def is_touch_capable(self): + # TODO: detect touch capable Nokia devices + if self.os.family in TOUCH_CAPABLE_OS_FAMILIES: + return True + if self.device.family in TOUCH_CAPABLE_DEVICE_FAMILIES: + return True + if self.os.family == 'Windows': + if self.os.version_string.startswith(('RT', 'CE')): + return True + if self.os.version_string.startswith('8') and 'Touch' in self.ua_string: + return True + if 'BlackBerry' in self.os.family and self._is_blackberry_touch_capable_device(): + return True + return False + + @property + def is_pc(self): + # Returns True for "PC" devices (Windows, Mac and Linux) + if 'Windows NT' in self.ua_string or self.os.family in PC_OS_FAMILIES or \ + self.os.family == 'Windows' and self.os.version_string == 'ME': + return True + # TODO: remove after https://github.com/tobie/ua-parser/issues/127 is closed + if self.os.family == 'Mac OS X' and 'Silk' not in self.ua_string: + return True + # Maemo has 'Linux' and 'X11' in UA, but it is not for PC + if 'Maemo' in self.ua_string: + return False + if 'Chrome OS' in self.os.family: + return True + if 'Linux' in self.ua_string and 'X11' in self.ua_string: + return True + return False + + @property + def is_bot(self): + return True if self.device.family == 'Spider' else False + + @property + def is_email_client(self): + if self.browser.family in EMAIL_PROGRAM_FAMILIES: + return True + return False + + +def parse(user_agent_string): + return UserAgent(user_agent_string) diff --git a/app_common/lib/user_agents/tests.py b/app_common/lib/user_agents/tests.py new file mode 100644 index 00000000..345cf827 --- /dev/null +++ b/app_common/lib/user_agents/tests.py @@ -0,0 +1,268 @@ +import json +import os +import unittest + +from ua_parser import user_agent_parser +from . import compat +from .parsers import parse + + +iphone_ua_string = 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3' +ipad_ua_string = 'Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10' +galaxy_tab_ua_string = 'Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1' +galaxy_s3_ua_string = 'Mozilla/5.0 (Linux; U; Android 4.0.4; en-gb; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30' +kindle_fire_ua_string = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-80) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true' +playbook_ua_string = 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.0.1; en-US) AppleWebKit/535.8+ (KHTML, like Gecko) Version/7.2.0.1 Safari/535.8+' +nexus_7_ua_string = 'Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19' +windows_phone_ua_string = 'Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; SGH-i917)' +blackberry_torch_ua_string = 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; zh-TW) AppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.448 Mobile Safari/534.8+' +blackberry_bold_ua_string = 'BlackBerry9700/5.0.0.862 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/331 UNTRUSTED/1.0 3gpp-gba' +blackberry_bold_touch_ua_string = 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9930; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.241 Mobile Safari/534.11+' +windows_rt_ua_string = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)' +j2me_opera_ua_string = 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (J2ME/22.478; U; en) Presto/2.5.25 Version/10.54' +ie_ua_string = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)' +ie_touch_ua_string = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Touch)' +mac_safari_ua_string = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2' +windows_ie_ua_string = 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' +ubuntu_firefox_ua_string = 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1' +google_bot_ua_string = 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' +nokia_n97_ua_string = 'Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/12.0.024; Profile/MIDP-2.1 Configuration/CLDC-1.1; en-us) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.12344' +android_firefox_aurora_ua_string = 'Mozilla/5.0 (Android; Mobile; rv:27.0) Gecko/27.0 Firefox/27.0' +thunderbird_ua_string = 'Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 Lightning/4.0.2' +outlook_usa_string = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; Microsoft Outlook 15.0.4420)' +chromebook_ua_string = 'Mozilla/5.0 (X11; CrOS i686 0.12.433) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.77 Safari/534.30' + +iphone_ua = parse(iphone_ua_string) +ipad_ua = parse(ipad_ua_string) +galaxy_tab = parse(galaxy_tab_ua_string) +galaxy_s3_ua = parse(galaxy_s3_ua_string) +kindle_fire_ua = parse(kindle_fire_ua_string) +playbook_ua = parse(playbook_ua_string) +nexus_7_ua = parse(nexus_7_ua_string) +windows_phone_ua = parse(windows_phone_ua_string) +windows_rt_ua = parse(windows_rt_ua_string) +blackberry_torch_ua = parse(blackberry_torch_ua_string) +blackberry_bold_ua = parse(blackberry_bold_ua_string) +blackberry_bold_touch_ua = parse(blackberry_bold_touch_ua_string) +j2me_opera_ua = parse(j2me_opera_ua_string) +ie_ua = parse(ie_ua_string) +ie_touch_ua = parse(ie_touch_ua_string) +mac_safari_ua = parse(mac_safari_ua_string) +windows_ie_ua = parse(windows_ie_ua_string) +ubuntu_firefox_ua = parse(ubuntu_firefox_ua_string) +google_bot_ua = parse(google_bot_ua_string) +nokia_n97_ua = parse(nokia_n97_ua_string) +android_firefox_aurora_ua = parse(android_firefox_aurora_ua_string) +thunderbird_ua = parse(thunderbird_ua_string) +outlook_ua = parse(outlook_usa_string) +chromebook_ua = parse(chromebook_ua_string) + + +class UserAgentsTest(unittest.TestCase): + + def test_user_agent_object_assignments(self): + ua_dict = user_agent_parser.Parse(devices['iphone']['ua_string']) + iphone_ua = devices['iphone']['user_agent'] + + # Ensure browser attributes are assigned correctly + self.assertEqual(iphone_ua.browser.family, + ua_dict['user_agent']['family']) + self.assertEqual( + iphone_ua.browser.version, + (int(ua_dict['user_agent']['major']), + int(ua_dict['user_agent']['minor'])) + ) + + # Ensure os attributes are assigned correctly + self.assertEqual(iphone_ua.os.family, ua_dict['os']['family']) + self.assertEqual( + iphone_ua.os.version, + (int(ua_dict['os']['major']), int(ua_dict['os']['minor'])) + ) + + # Ensure device attributes are assigned correctly + self.assertEqual(iphone_ua.device.family, + ua_dict['device']['family']) + + def test_is_tablet_property(self): + self.assertFalse(iphone_ua.is_tablet) + self.assertFalse(galaxy_s3_ua.is_tablet) + self.assertFalse(blackberry_torch_ua.is_tablet) + self.assertFalse(blackberry_bold_ua.is_tablet) + self.assertFalse(windows_phone_ua.is_tablet) + self.assertFalse(ie_ua.is_tablet) + self.assertFalse(ie_touch_ua.is_tablet) + self.assertFalse(mac_safari_ua.is_tablet) + self.assertFalse(windows_ie_ua.is_tablet) + self.assertFalse(ubuntu_firefox_ua.is_tablet) + self.assertFalse(j2me_opera_ua.is_tablet) + self.assertFalse(google_bot_ua.is_tablet) + self.assertFalse(nokia_n97_ua.is_tablet) + self.assertTrue(windows_rt_ua.is_tablet) + self.assertTrue(ipad_ua.is_tablet) + self.assertTrue(playbook_ua.is_tablet) + self.assertTrue(kindle_fire_ua.is_tablet) + self.assertTrue(nexus_7_ua.is_tablet) + self.assertFalse(android_firefox_aurora_ua.is_tablet) + + def test_is_mobile_property(self): + self.assertTrue(iphone_ua.is_mobile) + self.assertTrue(galaxy_s3_ua.is_mobile) + self.assertTrue(blackberry_torch_ua.is_mobile) + self.assertTrue(blackberry_bold_ua.is_mobile) + self.assertTrue(windows_phone_ua.is_mobile) + self.assertTrue(j2me_opera_ua.is_mobile) + self.assertTrue(nokia_n97_ua.is_mobile) + self.assertFalse(windows_rt_ua.is_mobile) + self.assertFalse(ipad_ua.is_mobile) + self.assertFalse(playbook_ua.is_mobile) + self.assertFalse(kindle_fire_ua.is_mobile) + self.assertFalse(nexus_7_ua.is_mobile) + self.assertFalse(ie_ua.is_mobile) + self.assertFalse(ie_touch_ua.is_mobile) + self.assertFalse(mac_safari_ua.is_mobile) + self.assertFalse(windows_ie_ua.is_mobile) + self.assertFalse(ubuntu_firefox_ua.is_mobile) + self.assertFalse(google_bot_ua.is_mobile) + self.assertTrue(android_firefox_aurora_ua.is_mobile) + + def test_is_touch_property(self): + self.assertTrue(iphone_ua.is_touch_capable) + self.assertTrue(galaxy_s3_ua.is_touch_capable) + self.assertTrue(ipad_ua.is_touch_capable) + self.assertTrue(playbook_ua.is_touch_capable) + self.assertTrue(kindle_fire_ua.is_touch_capable) + self.assertTrue(nexus_7_ua.is_touch_capable) + self.assertTrue(windows_phone_ua.is_touch_capable) + self.assertTrue(ie_touch_ua.is_touch_capable) + self.assertTrue(blackberry_bold_touch_ua.is_mobile) + self.assertTrue(blackberry_torch_ua.is_mobile) + self.assertFalse(j2me_opera_ua.is_touch_capable) + self.assertFalse(ie_ua.is_touch_capable) + self.assertFalse(blackberry_bold_ua.is_touch_capable) + self.assertFalse(mac_safari_ua.is_touch_capable) + self.assertFalse(windows_ie_ua.is_touch_capable) + self.assertFalse(ubuntu_firefox_ua.is_touch_capable) + self.assertFalse(google_bot_ua.is_touch_capable) + self.assertFalse(nokia_n97_ua.is_touch_capable) + self.assertTrue(android_firefox_aurora_ua.is_touch_capable) + + def test_is_pc(self): + self.assertFalse(iphone_ua.is_pc) + self.assertFalse(galaxy_s3_ua.is_pc) + self.assertFalse(ipad_ua.is_pc) + self.assertFalse(playbook_ua.is_pc) + self.assertFalse(kindle_fire_ua.is_pc) + self.assertFalse(nexus_7_ua.is_pc) + self.assertFalse(windows_phone_ua.is_pc) + self.assertFalse(blackberry_bold_touch_ua.is_pc) + self.assertFalse(blackberry_torch_ua.is_pc) + self.assertFalse(blackberry_bold_ua.is_pc) + self.assertFalse(j2me_opera_ua.is_pc) + self.assertFalse(google_bot_ua.is_pc) + self.assertFalse(nokia_n97_ua.is_pc) + self.assertTrue(mac_safari_ua.is_pc) + self.assertTrue(windows_ie_ua.is_pc) + self.assertTrue(ubuntu_firefox_ua.is_pc) + self.assertTrue(ie_touch_ua.is_pc) + self.assertTrue(ie_ua.is_pc) + self.assertFalse(android_firefox_aurora_ua.is_pc) + self.assertTrue(chromebook_ua.is_pc) + + def test_is_bot(self): + self.assertTrue(google_bot_ua.is_bot) + self.assertFalse(iphone_ua.is_bot) + self.assertFalse(galaxy_s3_ua.is_bot) + self.assertFalse(ipad_ua.is_bot) + self.assertFalse(playbook_ua.is_bot) + self.assertFalse(kindle_fire_ua.is_bot) + self.assertFalse(nexus_7_ua.is_bot) + self.assertFalse(windows_phone_ua.is_bot) + self.assertFalse(blackberry_bold_touch_ua.is_bot) + self.assertFalse(blackberry_torch_ua.is_bot) + self.assertFalse(blackberry_bold_ua.is_bot) + self.assertFalse(j2me_opera_ua.is_bot) + self.assertFalse(mac_safari_ua.is_bot) + self.assertFalse(windows_ie_ua.is_bot) + self.assertFalse(ubuntu_firefox_ua.is_bot) + self.assertFalse(ie_touch_ua.is_bot) + self.assertFalse(ie_ua.is_bot) + self.assertFalse(nokia_n97_ua.is_bot) + self.assertFalse(android_firefox_aurora_ua.is_bot) + + def test_is_email_client(self): + self.assertTrue(thunderbird_ua.is_email_client) + self.assertTrue(outlook_ua.is_email_client) + self.assertFalse(playbook_ua.is_email_client) + self.assertFalse(kindle_fire_ua.is_email_client) + self.assertFalse(nexus_7_ua.is_email_client) + self.assertFalse(windows_phone_ua.is_email_client) + self.assertFalse(blackberry_bold_touch_ua.is_email_client) + self.assertFalse(blackberry_torch_ua.is_email_client) + self.assertFalse(blackberry_bold_ua.is_email_client) + self.assertFalse(j2me_opera_ua.is_email_client) + self.assertFalse(mac_safari_ua.is_email_client) + self.assertFalse(windows_ie_ua.is_email_client) + self.assertFalse(ubuntu_firefox_ua.is_email_client) + self.assertFalse(ie_touch_ua.is_email_client) + self.assertFalse(ie_ua.is_email_client) + self.assertFalse(nokia_n97_ua.is_email_client) + self.assertFalse(android_firefox_aurora_ua.is_email_client) + + + def test_strings(self): + self.assertEqual(str(iphone_ua), "iPhone / iOS 5.1 / Mobile Safari 5.1") + self.assertEqual(str(ipad_ua), "iPad / iOS 3.2 / Mobile Safari 4.0.4") + self.assertEqual(str(galaxy_tab), "Samsung SCH-I800 / Android 2.2 / Android 2.2") + self.assertEqual(str(galaxy_s3_ua), "Samsung GT-I9300 / Android 4.0.4 / Android 4.0.4") + self.assertEqual(str(kindle_fire_ua), "Kindle / Android / Amazon Silk 1.1.0-80") + self.assertEqual(str(playbook_ua), "BlackBerry Playbook / BlackBerry Tablet OS 2.0.1 / BlackBerry WebKit 2.0.1") + self.assertEqual(str(nexus_7_ua), "Asus Nexus 7 / Android 4.1.1 / Chrome 18.0.1025") + self.assertEqual(str(windows_phone_ua), "Samsung SGH-i917 / Windows Phone 7.5 / IE Mobile 9.0") + self.assertEqual(str(windows_rt_ua), "PC / Windows RT / IE 10.0") + self.assertEqual(str(blackberry_torch_ua), "BlackBerry 9800 / BlackBerry OS 6.0.0 / BlackBerry WebKit 6.0.0") + self.assertEqual(str(blackberry_bold_ua), "BlackBerry 9700 / BlackBerry OS 5.0.0 / BlackBerry 9700") + self.assertEqual(str(blackberry_bold_touch_ua), "BlackBerry 9930 / BlackBerry OS 7.0.0 / BlackBerry WebKit 7.0.0") + self.assertEqual(str(j2me_opera_ua), "Generic Feature Phone / Other / Opera Mini 9.80") + self.assertEqual(str(ie_ua), "PC / Windows 8 / IE 10.0") + self.assertEqual(str(ie_touch_ua), "PC / Windows 8 / IE 10.0") + self.assertEqual(str(mac_safari_ua), "PC / Mac OS X 10.6.8 / WebKit Nightly 537.13") + self.assertEqual(str(windows_ie_ua), "PC / Windows 7 / IE 9.0") + self.assertEqual(str(ubuntu_firefox_ua), "PC / Ubuntu / Firefox 15.0.1") + self.assertEqual(str(google_bot_ua), "Spider / Other / Googlebot 2.1") + self.assertEqual(str(nokia_n97_ua), "Nokia N97 / Symbian OS 9.4 / Nokia Browser 7.1.12344") + self.assertEqual(str(android_firefox_aurora_ua), "Generic Smartphone / Android / Firefox Mobile 27.0") + + def test_unicode_strings(self): + try: + # Python 2 + unicode_ua_str = unicode(devices['iphone']['user_agent']) + self.assertEqual(unicode_ua_str, + u"iPhone / iOS 5.1 / Mobile Safari 5.1") + self.assertTrue(isinstance(unicode_ua_str, unicode)) + except NameError: + # Python 3 + unicode_ua_str = str(devices['iphone']['user_agent']) + self.assertEqual(unicode_ua_str, + "iPhone / iOS 5.1 / Mobile Safari 5.1") + + +with open(os.path.join(os.path.dirname(__file__), 'devices.json')) as f: + devices = json.load(f) + + +def test_wrapper(items): + def test_func(self): + attrs = ('is_bot', 'is_mobile', + 'is_pc', 'is_tablet', 'is_touch_capable') + for attr in attrs: + self.assertEqual( + getattr(items['user_agent'], attr), items[attr], msg=attr) + # Temporarily commenting this out since UserAgent.device + # may return different string depending ua-parser version + # self.assertEqual(str(items['user_agent']), items['str']) + return test_func + +for device, items in compat.iteritems(devices): + items['user_agent'] = parse(items['ua_string']) + setattr(UserAgentsTest, 'test_' + device, test_wrapper(items)) diff --git a/app_common/models/__init__.py b/app_common/models/__init__.py new file mode 100644 index 00000000..4458ab01 --- /dev/null +++ b/app_common/models/__init__.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Part of Sunpop.cn. See LICENSE file for full copyright and licensing details. + +# Created on 2019-04-20 +# author: 广州尚鹏,http://www.sunpop.cn +# email: 300883@qq.com +# resource of Sunpop +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +# Odoo12在线用户手册(长期更新) +# http://www.sunpop.cn/documentation/user/12.0/en/index.html + +# Odoo12在线开发者手册(长期更新) +# http://www.sunpop.cn/documentation/12.0/index.html + +# Odoo10在线中文用户手册(长期更新) +# http://www.sunpop.cn/documentation/user/10.0/zh_CN/index.html + +# Odoo10离线中文用户手册下载 +# http://www.sunpop.cn/odoo10_user_manual_document_offline/ +# Odoo10离线开发手册下载-含python教程,jquery参考,Jinja2模板,PostgresSQL参考(odoo开发必备) +# http://www.sunpop.cn/odoo10_developer_document_offline/ +# description: + +from . import base +from . import ir_ui_view +from . import ir_cron +from . import res_users + + diff --git a/app_common/models/base.py b/app_common/models/base.py new file mode 100644 index 00000000..26d72f9a --- /dev/null +++ b/app_common/models/base.py @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- +from odoo import models, fields, api, _ +from odoo.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT + +import requests +import base64 +from io import BytesIO + +from datetime import date, datetime, time +import pytz + +import logging + +_logger = logging.getLogger(__name__) + +# 常规的排除的fields +EXCLU_FIELDS = [ + '__last_update', + 'access_token', + 'access_url', + 'access_warning', + 'activity_date_deadline', + 'activity_exception_decoration', + 'activity_exception_icon', + 'activity_ids', + 'activity_state', + 'activity_summary', + 'activity_type_id', + 'activity_user_id', + 'display_name', + 'message_attachment_count', + 'message_channel_ids', + 'message_follower_ids', + 'message_has_error', + 'message_has_error_counter', + 'message_has_sms_error', + 'message_ids', + 'message_is_follower', + 'message_main_attachment_id', + 'message_needaction', + 'message_needaction_counter', + 'message_partner_ids', + 'message_unread', + 'message_unread_counter', + 'website_message_ids', + 'write_date', + 'write_uid', +] + + +class Base(models.AbstractModel): + _inherit = 'base' + + @api.model + def _get_normal_fields(self): + f_list = [] + for k, v in self._fields.items(): + if k not in EXCLU_FIELDS: + f_list.append(k) + return f_list + + @api.model + def _app_get_m2o_default(self, fieldname, domain=[]): + if hasattr(self, fieldname) and self._fields[fieldname].type == 'many2one': + if self._context.get(fieldname) or self._context.get('default_%s' % fieldname): + return self._context.get(fieldname) or self._context.get('default_%s' % fieldname) + else: + rec = self.env[self._fields[fieldname].comodel_name].sudo().search(domain, limit=1) + return rec.id if rec else False + return False + + def _app_dt2local(self, value, return_format=DEFAULT_SERVER_DATETIME_FORMAT): + """ + 将value中时间,按格式转为用户本地时间.注意只处理in str为字符串类型,如果是时间类型直接用 datetime.now(tz) + """ + if not value: + return value + if isinstance(value, datetime): + value = value.strftime(return_format) + dt = datetime.strptime(value, return_format) + user_tz = pytz.timezone(self.env.user.tz or 'Etc/GMT-8') + _logger.warning('============= user2 tz: %s' % user_tz) + dt = dt.replace(tzinfo=pytz.timezone('UTC')) + return dt.astimezone(user_tz).strftime(return_format) + + def _app_dt2utc(self, value, return_format=DEFAULT_SERVER_DATETIME_FORMAT): + """ + 将value中用户本地时间,按格式转为UTC时间,输出 str + """ + if not value: + return value + if isinstance(value, datetime): + value = value.strftime(return_format) + dt = datetime.strptime(value, return_format) + pytz_timezone = pytz.timezone('Etc/GMT+8') + dt = dt.replace(tzinfo=pytz.timezone('UTC')) + return dt.astimezone(pytz_timezone).strftime(return_format) + + @api.model + def get_image_from_url(self, url): + if not url: + return None + try: + response = requests.get(url) # 将这个图片保存在内存 + except Exception as e: + return None + # 返回这个图片的base64编码 + return base64.b64encode(BytesIO(response.content).read()) diff --git a/app_common/models/ir_cron.py b/app_common/models/ir_cron.py new file mode 100644 index 00000000..0d5955ad --- /dev/null +++ b/app_common/models/ir_cron.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +import logging +from odoo import api, fields, models, modules, tools, _ + +_logger = logging.getLogger(__name__) + +class IrCron(models.Model): + _inherit = "ir.cron" + + trigger_user_id = fields.Many2one('res.users', string='Last Trigger User') + + def method_direct_trigger(self): + self.write({'trigger_user_id': self.env.user.id}) + return super(IrCron, self).method_direct_trigger() diff --git a/app_common/models/ir_ui_view.py b/app_common/models/ir_ui_view.py new file mode 100644 index 00000000..a1e5e1c0 --- /dev/null +++ b/app_common/models/ir_ui_view.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- + +from odoo import api, models, tools, SUPERUSER_ID +from odoo.modules.module import get_resource_path +from odoo.tools import view_validation +from odoo.tools.view_validation import _relaxng_cache, validate, _validators +from odoo.tools.safe_eval import safe_eval + +from lxml import etree +import logging +_logger = logging.getLogger(__name__) + +def app_relaxng(view_type): + """ Return a validator for the given view type, or None. """ + if view_type not in _relaxng_cache: + # tree, search 特殊 + if view_type in ['tree', 'search']: + _file = get_resource_path('app_common', 'rng', '%s_view.rng' % view_type) + else: + _file = get_resource_path('base', 'rng', '%s_view.rng' % view_type) + with tools.file_open(_file) as frng: + try: + relaxng_doc = etree.parse(frng) + _relaxng_cache[view_type] = etree.RelaxNG(relaxng_doc) + except Exception: + _logger.error('Failed to load RelaxNG XML schema for views validation') + _relaxng_cache[view_type] = None + return _relaxng_cache[view_type] + +view_validation.relaxng = app_relaxng + +class View(models.Model): + _inherit = 'ir.ui.view' + + def __init__(self, *args, **kwargs): + super(View, self).__init__(*args, **kwargs) + view_validation.relaxng = app_relaxng + + # todo: 有可能需要处理增加的 header等标签 + # 直接重写原生方法 + # def transfer_node_to_modifiers(node, modifiers, context=None, in_tree_view=False): diff --git a/app_common/models/res_users.py b/app_common/models/res_users.py new file mode 100644 index 00000000..1c18b7ad --- /dev/null +++ b/app_common/models/res_users.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models, tools, _ + + +class ResUsers(models.Model): + _inherit = 'res.users' + + login = fields.Char(index=True) diff --git a/app_common/report/__init__.py b/app_common/report/__init__.py new file mode 100644 index 00000000..633f8661 --- /dev/null +++ b/app_common/report/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- + diff --git a/app_common/rng/common.rng b/app_common/rng/common.rng new file mode 100644 index 00000000..7564b0f3 --- /dev/null +++ b/app_common/rng/common.rng @@ -0,0 +1,433 @@ + + + + + + + + + + + + before + + after + + inside + + replace + + + + + + attributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app_common/rng/search_view.rng b/app_common/rng/search_view.rng new file mode 100644 index 00000000..d1025251 --- /dev/null +++ b/app_common/rng/search_view.rng @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app_common/rng/tree_view.rng b/app_common/rng/tree_view.rng new file mode 100644 index 00000000..fd800c55 --- /dev/null +++ b/app_common/rng/tree_view.rng @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + top + bottom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app_common/security/app_security.xml b/app_common/security/app_security.xml new file mode 100644 index 00000000..a4b85605 --- /dev/null +++ b/app_common/security/app_security.xml @@ -0,0 +1,51 @@ + + + + + + acc_module_user + + + + + + + + + + App... + Helps you manage your ... + 8 + + + + + App User + + + The user will be able to ... + + + + + App Admin + + + The user will be able to config ... + + + + + + + + + + Users are allowed to access their own m/// + + ['|', ('partner_id', 'in', [user.partner_id.id]), ('user_id.id', '=', user.id)] + + + + + diff --git a/app_common/security/ir.model.access.csv b/app_common/security/ir.model.access.csv new file mode 100644 index 00000000..64f91fa5 --- /dev/null +++ b/app_common/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_product_attribute_value_group_user,product_attribute_value_group.user,app_product_variant_pro.model_product_attribute_value_group,base.group_user,1,0,0,0 +access_product_attribute_value_group_manager,product_attribute_value_group.manager,app_product_variant_pro.model_product_attribute_value_group,base.group_erp_manager,1,1,1,1 \ No newline at end of file diff --git a/app_common/static/description/banner.png b/app_common/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..3b9dc5f3bea5a655622bb16802b81a45b7ed96ea GIT binary patch literal 180099 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%0AxAq5vMbh(;R`+0cgpS7 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

    rkGg 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ⅆWod&naGQb}63ycP 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 z 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 xe!mqcq^qDs3KcG5@PlDKpwYfu;HS^){Xr zG}!8O(O?|C`q~aZ2hjDqWoD^S#O8ARiKDu+@b$SAXS#RIBJ?l@=fyv*mEp0CRY`rP ztU3DDYDV36dD~baQc&_U{X^ou%ZDo=3JJxKQ26(6T+j}Mo9YvqCPzmr>1C$g^`Kv} zZFWOdNAvwpq`QM6v(W-&)ave)?|5dTRGYO1vC4luyI9z=s_E-)PbWt1jt#|Fa~e!* z{!vGoL~60TnY}tcE5c9UUX>i9BtT;6jPf>ch#niF)#y_$D^JZRlk9C4shaw!tC&kt zT!yE_oy@h_|H)_-WYh=?p9BdusCU*x!6j2l;D*GD>rZM|)Eu6sf3F>2Z4fHl2miEb zqINP)P0u*K!c&j@EAg6%IM=C`6)tq{X}xehBWJ)<(ne9^jL?W{1#hI{sfP6k)JzQm zh-N`(OOs6eZ>DIE;!nXY=KA*^SZ&J)&8310Re_|X?H{MVHK4(+9^=`})E1tW>Q|3{ zx1HR}K9-#SUW@)ZgVWgqwd7y?=3|88G9Id-Pqc=##u3E~NlRJ0(h7-5{(4(|AX06b zMx1nBiA`ba9a`~Q0~)4h7gZ&<9p@k@4S~nnE$RYBb1M^aGaB`v@FNVSm&3Cz8;xT& zhq&jRJWBY`!KrrZ*Ip)GcF8RLb?CTHKeUtPV(9`WDvQVwg0%A^JdCT8_1=EKT+F>m z9`Sd^seacMF0_!qdffuu*O0K8b87%9iqD6o>U*a~dW_4>i9=tw@yW9bMZj>TDZIhl zV4A^1@Nbo@Rnkp3ygopqEiTS5fg!Q%=8P>+MvB9IqI@`HA9fV=`q)PC*p-+fYN#U# zso4_?YlL})8A?)kgiyk(Nrz^VDa9%htdkqAn9*y{B*y(!%9=#tvJZ@GKd^yFWu$3< zAu6MaawOk{n^A5TLy=$P+gV{5(=wS7#qGt@ad59}&S|?`xM$@_5HJXZ_8|CS4u5okc>>(l~V zGk=U1r=}bl;|;@p)qW+eB$R0Ssp*H^B9;9S7^d_fms;Z zw0PiCi-ji^s9>77>tC9bjo}u+(m(`Q4ENe)meR=f@8Saa$??$+ioEgKzw!>d+<`Nq zL`E2y$|Xrs5&FYB&LRzE4qvoS$k zAyR~Ug&x}5j+mmE<^3eLz#2ez{ZzXGJ)isaKRM;h3kIps&o`q=>`2tDEGj<(be zW$7oIo4ms}#C|9^aX~~-;WiE(4oR_KuLrcU3M>?q0KVf{pvRi(T5M+i7{NszcJxQS zsFgFJcVh43HlWH+KnGQ3?f<}vF+upk%cDzBfUET86d03@0mx?)7UxpXC2VGLix{d4 z+(Tlk4IB~-wup);&gpwkcCY^WtHyim_V?Yt{la1WFh2i3Ml|__0D{It6Gk9np)g5l zmo4Q!M_jtJ-!2$%01V8|(dnB_Uj=f+6=)!6D?yVhiewEk+~EE6BJa_Ul4d(xabw?t zzZZP|#Q|U>!v5_po&VSE_Ln&5B*iJha(~pnlxfqjfD6ssP>hY8oXL(!b&L>W4Y1d8 z&)>74afN2L_SLY`L~%id7wRgIs}*oI9RgwY#EN~oHHjvaZ#CqI{}(C>37iYm?UYmu zYdg@a%Fxspae{maE+N{ys>JO%J>`DP-@LuQU@eI5q>V+Scb(hXigHuObre@NlwqjT z)5R1Tn|t8qpohj{Zm_-M?@dHECUyM1EFh6jN)r65fuy2VRVT_JiVZ*2LH2w?|M}8b zu(|94ZGnCX6ys;J6QdrQDYHXK$Y{jGfz+Lc=faSmZ>yX?`P+jq{<$Ljo48PJ?dRvk zrsuW#G8TokRR{g&G3?*#S)+Wq-;3LO& y?B(7}`U1<{K2SrYtk}d1_nMq%5KD!C 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 D?4hA2 literal 0 HcmV?d00001 diff --git a/app_common/static/description/icon.png b/app_common/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2565562f7cc3eab7fa74aa27602987a89d21009e GIT binary patch literal 71282 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 M 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 $H}byG-Ay23WLG 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 Qy8r+H07*qoM6N<$f}9N?cK`qY literal 0 HcmV?d00001 diff --git a/app_common/static/description/index.html b/app_common/static/description/index.html new file mode 100644 index 00000000..ce01362d --- /dev/null +++ b/app_common/static/description/index.html @@ -0,0 +1,103 @@ +

    +
    +
    +

    +

    +
    +

    Lastest update: v15.21.11.30

    +
    + +
    +
    +
    + Key features: +
      +
    • + + Put key function here. +
    • +
    • + + 3. Multi-language Support. +
    • +
    • + + 4. Multi-Company Support. +
    • +
    • + + 5. Support Odoo 15, 14, 13, 12, 11, Enterprise and Community Edition. +
    • +
    +
    +
    +
    +
    +
    +
    + +
    +
    +

    Setup, please run the follow command to install the lib.

    +

    pip install pyyaml ua-parser user-agents

    +
    + +
    +
    +
    + + +
    +
    +

    So Easy to navigator and search any data.

    +

    +
    + +
    +
    +
    + +
    +
    +

    Multi-language Support..

    +

    +
    + +
    +
    +
    + +
    +
    +
    +

    Technical Help & Support

    +
    +
    +
    +

    + For any type of technical help & support requests, Feel free to contact us

    +
    + guohuadeng@hotmail.com +

    + Via QQ: 300883 (App user would not get QQ or any other IM support. Only for odoo project customize.)

    + + 300883@qq.com +
    +
    +

    + Visit our website for more support.

    +

    https://www.sunpop.cn

    +
    +
    +
    +
    +

    More Powerful addons, Make your odoo very easy to use, easy customize: + Supop.cn Odoo Addons +

    +
    +
    + diff --git a/app_common/static/img/icon_sunpop.png b/app_common/static/img/icon_sunpop.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4909543851be8a86cf0ca0c66b97176ff75d7b GIT binary patch literal 28105 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≻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 literal 0 HcmV?d00001 diff --git a/app_common/static/src/js/sunpop.cn b/app_common/static/src/js/sunpop.cn new file mode 100644 index 00000000..e69de29b diff --git a/app_common/static/src/xml/sunpop.cn b/app_common/static/src/xml/sunpop.cn new file mode 100644 index 00000000..e69de29b diff --git a/app_common/views/ir_cron_views.xml b/app_common/views/ir_cron_views.xml new file mode 100644 index 00000000..4ba63f0b --- /dev/null +++ b/app_common/views/ir_cron_views.xml @@ -0,0 +1,13 @@ + + + + app.ir.cron.tree + ir.cron + + + + + + + + \ No newline at end of file diff --git a/app_common/views/product_brand_views.xml b/app_common/views/product_brand_views.xml new file mode 100644 index 00000000..546d4033 --- /dev/null +++ b/app_common/views/product_brand_views.xml @@ -0,0 +1,116 @@ + + + + product.brand.search + product.brand + + + + + + + + + + + + + + product.brand.form + product.brand + +
    + +
    + +
    + +
    +
    + + + + + + + + +
    +
    +
    +
    + + + product.brand.tree + product.brand + + + + + + + + + + + + product.brand.kanban + product.brand + + + + + + + + +
    + + + + + + + + Brand + product.brand + kanban,form,tree + + + + diff --git a/app_common/views/product_product_views.xml b/app_common/views/product_product_views.xml new file mode 100644 index 00000000..e25deae4 --- /dev/null +++ b/app_common/views/product_product_views.xml @@ -0,0 +1,24 @@ + + + + + + app.product.product.tree + product.product + + + + + + + + + + Product Manager + ir.actions.act_window + product.product + tree,form + + + diff --git a/app_common/views/product_template_views.xml b/app_common/views/product_template_views.xml new file mode 100644 index 00000000..8db19037 --- /dev/null +++ b/app_common/views/product_template_views.xml @@ -0,0 +1,59 @@ + + + + + + product.template.search.brand + product.template + + + + + + + + + + + + product.template.product.form + product.template + + + + +
    + + + + + + product kanban view add brand + product.template + + + +
    + + + +
    +
    +
    +
    + + + product tree view add brand + product.template + + + + + + + + + + diff --git a/app_common/wizard/sunpop.cn b/app_common/wizard/sunpop.cn new file mode 100644 index 00000000..e69de29b

    RG6RHmKo^^7s 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 E0QLRJfB*mh literal 0 HcmV?d00001 diff --git a/app_base_chinese/static/description/demo3.jpg b/app_base_chinese/static/description/demo3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d990d41cc1a49b57fa9cd9ddb0154c839de0eff6 GIT binary patch literal 55382 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§Y#g7`%1|+Su+CkLi2Da7x&$ZM$TQ{#aeT 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