vchrome 0.0.12__py3-none-any.whl → 0.0.13__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vchrome/__init__.py +56 -4
- {vchrome-0.0.12.dist-info → vchrome-0.0.13.dist-info}/METADATA +1 -1
- vchrome-0.0.13.dist-info/RECORD +6 -0
- vchrome-0.0.12.dist-info/RECORD +0 -6
- {vchrome-0.0.12.dist-info → vchrome-0.0.13.dist-info}/WHEEL +0 -0
- {vchrome-0.0.12.dist-info → vchrome-0.0.13.dist-info}/top_level.txt +0 -0
vchrome/__init__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
__version__ = '0.0.
|
|
1
|
+
__version__ = '0.0.13'
|
|
2
2
|
__author__ = 'v'
|
|
3
3
|
# ----------------------------------------------------------------------------------------------------
|
|
4
4
|
_allowed = {'Chrome'}
|
|
@@ -1949,7 +1949,7 @@ def cdp_client(hostname, port, debug=False):
|
|
|
1949
1949
|
c.get_userAgent = lambda:self.f.rootf.browser.userAgent
|
|
1950
1950
|
c.set_userAgent = lambda v:(setattr(self,'userAgent',v),self.set_user_agent({"userAgent":v,"acceptLanguage":self.languages,"platform":self.platform}))
|
|
1951
1951
|
c.get_languages = lambda:self.f.rootf.browser.languages
|
|
1952
|
-
c.set_languages = lambda v:(setattr(self,'languages',v),self.set_user_agent({"acceptLanguage":v,"platform":self.platform}))
|
|
1952
|
+
c.set_languages = lambda v:(setattr(self,'languages',v),self.set_user_agent({"acceptLanguage":v,"platform":self.platform,"is_lang":True}))
|
|
1953
1953
|
c.get_platform = lambda:self.f.rootf.browser.platform
|
|
1954
1954
|
c.set_platform = lambda v:(setattr(self,'platform',v),self.set_user_agent({"acceptLanguage":self.languages,"platform":v}))
|
|
1955
1955
|
self.f.root.extension.attach(c)
|
|
@@ -1957,18 +1957,70 @@ def cdp_client(hostname, port, debug=False):
|
|
|
1957
1957
|
if 'Headless' in self.userAgent:
|
|
1958
1958
|
self.userAgent = self.userAgent.replace('Headless','')
|
|
1959
1959
|
self.set_user_agent({"userAgent":self.userAgent, "languages":self.languages, "platform":self.platform})
|
|
1960
|
+
def guess_timezone_from_language(self, lang):
|
|
1961
|
+
if not lang: return None
|
|
1962
|
+
lang = lang.replace("_", "-")
|
|
1963
|
+
parts = lang.split("-", 1)
|
|
1964
|
+
language = parts[0]
|
|
1965
|
+
region = parts[1] if len(parts) > 1 else None
|
|
1966
|
+
mapping = {
|
|
1967
|
+
"en-US": "America/New_York",
|
|
1968
|
+
"en-GB": "Europe/London",
|
|
1969
|
+
"en-AU": "Australia/Sydney",
|
|
1970
|
+
"en-CA": 'America/Toronto',
|
|
1971
|
+
"zh-CN": "Asia/Shanghai",
|
|
1972
|
+
"zh-TW": "Asia/Taipei",
|
|
1973
|
+
"zh-HK": "Asia/Hong_Kong",
|
|
1974
|
+
"ja-JP": "Asia/Tokyo",
|
|
1975
|
+
"ko-KR": "Asia/Seoul",
|
|
1976
|
+
"fr-FR": "Europe/Paris",
|
|
1977
|
+
"de-DE": "Europe/Berlin",
|
|
1978
|
+
"es-ES": "Europe/Madrid",
|
|
1979
|
+
"pt-BR": "America/Sao_Paulo",
|
|
1980
|
+
"ru-RU": "Europe/Moscow",
|
|
1981
|
+
"ar-SA": "Asia/Riyadh",
|
|
1982
|
+
"hi-IN": "Asia/Kolkata",
|
|
1983
|
+
"it-IT": "Europe/Rome",
|
|
1984
|
+
"nl-NL": "Europe/Amsterdam",
|
|
1985
|
+
}
|
|
1986
|
+
if region:
|
|
1987
|
+
key = f"{language}-{region.upper()}"
|
|
1988
|
+
if key in mapping:
|
|
1989
|
+
return mapping[key]
|
|
1990
|
+
fallback = {
|
|
1991
|
+
"zh": "Asia/Shanghai",
|
|
1992
|
+
"ja": "Asia/Tokyo",
|
|
1993
|
+
"ko": "Asia/Seoul",
|
|
1994
|
+
"fr": "Europe/Paris",
|
|
1995
|
+
"de": "Europe/Berlin",
|
|
1996
|
+
"es": "Europe/Madrid",
|
|
1997
|
+
"pt": "America/Sao_Paulo",
|
|
1998
|
+
"ru": "Europe/Moscow",
|
|
1999
|
+
"ar": "Asia/Riyadh",
|
|
2000
|
+
"hi": "Asia/Kolkata",
|
|
2001
|
+
"en": "America/New_York",
|
|
2002
|
+
}
|
|
2003
|
+
return fallback.get(language, None)
|
|
1960
2004
|
def set_user_agent(self, info):
|
|
1961
2005
|
d = {"userAgent": info.get('userAgent', self.userAgent)} # userAgent must exist.
|
|
1962
2006
|
platform = info.get('platform', None)
|
|
1963
2007
|
acceptLanguage = info.get('acceptLanguage', None)
|
|
2008
|
+
is_lang = info.get('is_lang', None)
|
|
1964
2009
|
if platform: d['platform'] = platform
|
|
1965
2010
|
if acceptLanguage:
|
|
1966
2011
|
if type(acceptLanguage) == str:
|
|
1967
|
-
|
|
2012
|
+
acceptLanguage = acceptLanguage.split(';')[0]
|
|
1968
2013
|
elif type(acceptLanguage) in (list, tuple):
|
|
1969
|
-
|
|
2014
|
+
acceptLanguage = ','.join(acceptLanguage)
|
|
1970
2015
|
else:
|
|
1971
2016
|
raise Exception('type error must be str/list[str], curr type:'+type(acceptLanguage))
|
|
2017
|
+
d['acceptLanguage'] = acceptLanguage
|
|
2018
|
+
if is_lang:
|
|
2019
|
+
lang = acceptLanguage.split(',')[0]
|
|
2020
|
+
auto_timezone = self.guess_timezone_from_language(lang)
|
|
2021
|
+
if auto_timezone:
|
|
2022
|
+
self.f.cdp('Emulation.setTimezoneOverride', {"timezoneId":auto_timezone})
|
|
2023
|
+
self.f.cdp('Emulation.setLocaleOverride', {'locale': lang})
|
|
1972
2024
|
self.f.cdp('Network.setUserAgentOverride', d)
|
|
1973
2025
|
class CookieManager:
|
|
1974
2026
|
def __init__(self, f): self.f = f
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
v/__init__.py,sha256=7sbAHSk_EElMBcJeHVoXGMmt9bqmci36NWFVRk1sUn4,21
|
|
2
|
+
vchrome/__init__.py,sha256=_0kCGTstF2x741a6286sP1Bm0Q-1Zim-bWO0AWzymIE,214865
|
|
3
|
+
vchrome-0.0.13.dist-info/METADATA,sha256=H8yukVgwE59eeMe_MVezAemKQUJlXBRWz4HfRUaNl00,55
|
|
4
|
+
vchrome-0.0.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
5
|
+
vchrome-0.0.13.dist-info/top_level.txt,sha256=IYbkbnFb2FGoroYj_ZXIitmnJDgYBA29_HmK9BdEUkY,10
|
|
6
|
+
vchrome-0.0.13.dist-info/RECORD,,
|
vchrome-0.0.12.dist-info/RECORD
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
v/__init__.py,sha256=7sbAHSk_EElMBcJeHVoXGMmt9bqmci36NWFVRk1sUn4,21
|
|
2
|
-
vchrome/__init__.py,sha256=9C9AQNFCsViFiicaVJQE4i6z04Nu-lgQxuMzbt3c2gQ,212657
|
|
3
|
-
vchrome-0.0.12.dist-info/METADATA,sha256=wa5DeGCCXutyNOt-8AqXNJWMUq3mfRdWIY2KkRAa5e8,55
|
|
4
|
-
vchrome-0.0.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
5
|
-
vchrome-0.0.12.dist-info/top_level.txt,sha256=IYbkbnFb2FGoroYj_ZXIitmnJDgYBA29_HmK9BdEUkY,10
|
|
6
|
-
vchrome-0.0.12.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|