simplify chrome_user_data_dir default
This commit is contained in:
parent
8f73fdbe09
commit
69f837bbf6
2 changed files with 27 additions and 31 deletions
|
@ -74,23 +74,21 @@ USE_CHROME = FETCH_PDF or FETCH_SCREENSHOT or FETCH_DOM
|
||||||
USE_WGET = FETCH_WGET or FETCH_WGET_REQUISITES or FETCH_WARC
|
USE_WGET = FETCH_WGET or FETCH_WGET_REQUISITES or FETCH_WARC
|
||||||
|
|
||||||
if not CHROME_BINARY:
|
if not CHROME_BINARY:
|
||||||
common_chrome_executable_names = (
|
# Precedence: Chromium, Chrome, Beta, Canary, Unstable, Dev
|
||||||
|
default_executable_paths = (
|
||||||
'chromium-browser',
|
'chromium-browser',
|
||||||
'chromium',
|
'chromium',
|
||||||
'/Applications/Chromium.app/Contents/MacOS/Chromium',
|
'/Applications/Chromium.app/Contents/MacOS/Chromium',
|
||||||
|
|
||||||
'google-chrome',
|
'google-chrome',
|
||||||
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
|
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
|
||||||
'google-chrome-stable',
|
'google-chrome-stable',
|
||||||
|
|
||||||
'google-chrome-beta',
|
'google-chrome-beta',
|
||||||
'google-chrome-unstable',
|
|
||||||
'google-chrome-dev',
|
|
||||||
'google-chrome-canary',
|
'google-chrome-canary',
|
||||||
'/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary',
|
'/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary',
|
||||||
|
'google-chrome-unstable',
|
||||||
|
'google-chrome-dev',
|
||||||
)
|
)
|
||||||
for name in common_chrome_executable_names:
|
for name in default_executable_paths:
|
||||||
full_path_exists = shutil.which(name)
|
full_path_exists = shutil.which(name)
|
||||||
if full_path_exists:
|
if full_path_exists:
|
||||||
CHROME_BINARY = name
|
CHROME_BINARY = name
|
||||||
|
@ -98,6 +96,28 @@ if not CHROME_BINARY:
|
||||||
else:
|
else:
|
||||||
CHROME_BINARY = 'chromium-browser'
|
CHROME_BINARY = 'chromium-browser'
|
||||||
|
|
||||||
|
if not CHROME_USER_DATA_DIR:
|
||||||
|
# Precedence: Chromium, Chrome, Beta, Canary, Unstable, Dev
|
||||||
|
default_profile_paths = (
|
||||||
|
'~/.config/chromium',
|
||||||
|
'~/Library/Application Support/Chromium',
|
||||||
|
'~/AppData/Local/Chromium/User Data',
|
||||||
|
'~/.config/google-chrome',
|
||||||
|
'~/Library/Application Support/Google/Chrome',
|
||||||
|
'~/AppData/Local/Google/Chrome/User Data',
|
||||||
|
'~/.config/google-chrome-stable',
|
||||||
|
'~/.config/google-chrome-beta',
|
||||||
|
'~/Library/Application Support/Google/Chrome Canary',
|
||||||
|
'~/AppData/Local/Google/Chrome SxS/User Data',
|
||||||
|
'~/.config/google-chrome-unstable',
|
||||||
|
'~/.config/google-chrome-dev',
|
||||||
|
)
|
||||||
|
for path in default_profile_paths:
|
||||||
|
full_path = os.path.expanduser(path)
|
||||||
|
if os.path.exists(full_path):
|
||||||
|
CHROME_USER_DATA_DIR = full_path
|
||||||
|
break
|
||||||
|
|
||||||
# print('[i] Using Chrome binary: {}'.format(shutil.which(CHROME_BINARY) or CHROME_BINARY))
|
# print('[i] Using Chrome binary: {}'.format(shutil.which(CHROME_BINARY) or CHROME_BINARY))
|
||||||
|
|
||||||
### Terminal Configuration
|
### Terminal Configuration
|
||||||
|
|
|
@ -596,16 +596,12 @@ def chmod_file(path, cwd='.', permissions=OUTPUT_PERMISSIONS, timeout=30):
|
||||||
raise Exception('Failed to chmod {}/{}'.format(cwd, path))
|
raise Exception('Failed to chmod {}/{}'.format(cwd, path))
|
||||||
|
|
||||||
|
|
||||||
CACHED_USER_DATA_DIR = CHROME_USER_DATA_DIR
|
|
||||||
|
|
||||||
def chrome_args(binary=CHROME_BINARY, user_data_dir=CHROME_USER_DATA_DIR,
|
def chrome_args(binary=CHROME_BINARY, user_data_dir=CHROME_USER_DATA_DIR,
|
||||||
headless=CHROME_HEADLESS, sandbox=CHROME_SANDBOX,
|
headless=CHROME_HEADLESS, sandbox=CHROME_SANDBOX,
|
||||||
check_ssl_validity=CHECK_SSL_VALIDITY, user_agent=CHROME_USER_AGENT,
|
check_ssl_validity=CHECK_SSL_VALIDITY, user_agent=CHROME_USER_AGENT,
|
||||||
resolution=RESOLUTION, timeout=TIMEOUT):
|
resolution=RESOLUTION, timeout=TIMEOUT):
|
||||||
"""helper to build up a chrome shell command with arguments"""
|
"""helper to build up a chrome shell command with arguments"""
|
||||||
|
|
||||||
global CACHED_USER_DATA_DIR
|
|
||||||
user_data_dir = user_data_dir or CACHED_USER_DATA_DIR
|
|
||||||
cmd_args = [binary]
|
cmd_args = [binary]
|
||||||
|
|
||||||
if headless:
|
if headless:
|
||||||
|
@ -627,27 +623,7 @@ def chrome_args(binary=CHROME_BINARY, user_data_dir=CHROME_USER_DATA_DIR,
|
||||||
if timeout:
|
if timeout:
|
||||||
cmd_args += ('--timeout={}'.format((timeout) * 1000),)
|
cmd_args += ('--timeout={}'.format((timeout) * 1000),)
|
||||||
|
|
||||||
# Find chrome user data directory
|
|
||||||
default_profile_paths = (
|
|
||||||
'~/.config/chromium',
|
|
||||||
'~/Library/Application Support/Chromium',
|
|
||||||
'~/AppData/Local/Chromium/User Data',
|
|
||||||
'~/.config/google-chrome',
|
|
||||||
'~/Library/Application Support/Google/Chrome',
|
|
||||||
'~/AppData/Local/Google/Chrome/User Data',
|
|
||||||
'~/.config/google-chrome-beta',
|
|
||||||
'~/.config/google-chrome-unstable',
|
|
||||||
'~/Library/Application Support/Google/Chrome Canary',
|
|
||||||
'~/AppData/Local/Google/Chrome SxS/User Data',
|
|
||||||
)
|
|
||||||
if user_data_dir:
|
if user_data_dir:
|
||||||
cmd_args.append('--user-data-dir={}'.format(user_data_dir))
|
cmd_args.append('--user-data-dir={}'.format(user_data_dir))
|
||||||
else:
|
|
||||||
for path in default_profile_paths:
|
|
||||||
full_path = os.path.expanduser(path)
|
|
||||||
if os.path.exists(full_path):
|
|
||||||
CACHED_USER_DATA_DIR = full_path
|
|
||||||
cmd_args.append('--user-data-dir={}'.format(full_path))
|
|
||||||
break
|
|
||||||
|
|
||||||
return cmd_args
|
return cmd_args
|
||||||
|
|
Loading…
Reference in a new issue