tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

user_agent_parser.py (950B)


      1 # mypy: allow-untyped-defs
      2 
      3 from ua_parser import user_agent_parser
      4 
      5 
      6 def parse_user_agent(user_agent_string):
      7    user_agent = user_agent_parser.ParseUserAgent(user_agent_string)
      8 
      9    name = user_agent["family"]
     10    version = "0"
     11 
     12    if user_agent["major"] is not None:
     13        version = user_agent["major"]
     14 
     15    if user_agent["minor"] is not None:
     16        version = version + "." + user_agent["minor"]
     17 
     18    if user_agent["patch"] is not None:
     19        version = version + "." + user_agent["patch"]
     20 
     21    return {
     22        "name": name,
     23        "version": version
     24    }
     25 
     26 
     27 def abbreviate_browser_name(name):
     28    short_names = {
     29        "Chrome": "Ch",
     30        "Chrome Mobile WebView": "Ch",
     31        "Chromium": "Cm",
     32        "WebKit": "Wk",
     33        "Safari": "Sf",
     34        "Firefox": "FF",
     35        "IE": "IE",
     36        "Edge": "Ed",
     37        "Opera": "Op"
     38    }
     39 
     40    if name in short_names:
     41        return short_names[name]
     42    else:
     43        return "Xx"