From 5523d4ba88d4b4a51f704958269b4d04081aa11b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Feb 2022 21:57:29 -0800 Subject: [PATCH] Bump httpagentparser from 1.9.1 to 1.9.2 (#1631) * Bump httpagentparser from 1.9.1 to 1.9.2 Bumps [httpagentparser](https://github.com/shon/httpagentparser) from 1.9.1 to 1.9.2. - [Release notes](https://github.com/shon/httpagentparser/releases) - [Commits](https://github.com/shon/httpagentparser/commits) --- updated-dependencies: - dependency-name: httpagentparser dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Update httpagentparser==1.9.2 Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> [skip ci] --- lib/httpagentparser/__init__.py | 37 +++++++++++++++++++++++++++------ requirements.txt | 2 +- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/lib/httpagentparser/__init__.py b/lib/httpagentparser/__init__.py index 9bac5148..0e30e617 100644 --- a/lib/httpagentparser/__init__.py +++ b/lib/httpagentparser/__init__.py @@ -8,7 +8,7 @@ Tries to * assist python web apps to detect clients. """ -__version__ = '1.9.1' +__version__ = '1.9.2' class DetectorsHub(dict): @@ -671,11 +671,21 @@ def detect(agent, fill_none=False): return result -def simple_detect(agent): +UNKNOWN_OS_NAME = 'Unknown OS' +UNKNOWN_BROWSER_NAME = 'Unknown Browser' + + +def simple_detect_tuple(agent, parsed_agent=None): """ - -> (os, browser) # tuple of strings + @params: + agent::str + parsed_agent::dict + The result of detect, used to save calculations + + @return: + (os_name, os_version, browser_name, browser_version)::Tuple(str) """ - result = detect(agent) + result = parsed_agent or detect(agent) os_list = [] if 'flavor' in result: os_list.append(result['flavor']['name']) @@ -684,11 +694,26 @@ def simple_detect(agent): if 'os' in result: os_list.append(result['os']['name']) - os = os_list and " ".join(os_list) or "Unknown OS" + os = os_list and " ".join(os_list) or UNKNOWN_OS_NAME os_version = os_list and (result.get('flavor') and result['flavor'].get('version')) or \ (result.get('dist') and result['dist'].get('version')) or (result.get('os') and result['os'].get('version')) or "" - browser = 'browser' in result and result['browser'].get('name') or 'Unknown Browser' + browser = 'browser' in result and result['browser'].get('name') or UNKNOWN_BROWSER_NAME browser_version = 'browser' in result and result['browser'].get('version') or "" + + return os, os_version, browser, browser_version + + +def simple_detect(agent, parsed_agent=None): + """ + @params: + agent::str + parsed_agent::dict + The result of detect, used to save calculations + + @return: + (os_name_version, browser_name_version)::Tuple(str) + """ + os, os_version, browser, browser_version = simple_detect_tuple(agent, parsed_agent=parsed_agent) if browser_version: browser = " ".join((browser, browser_version)) if os_version: diff --git a/requirements.txt b/requirements.txt index d8f17a52..6388dc9f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,7 +16,7 @@ facebook-sdk==3.1.0 future==0.18.2 gntp==1.0.3 html5lib==1.1 -httpagentparser==1.9.1 +httpagentparser==1.9.2 idna==3.3 importlib-resources==5.4.0 git+https://github.com/Tautulli/ipwhois.git@master#egg=ipwhois