fix: Escape JSON output on command failure so the user can run the command manually
This commit is contained in:
parent
b9dced5e60
commit
bd3c824d45
3 changed files with 6 additions and 2 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -10,6 +10,7 @@ venv/
|
||||||
|
|
||||||
build/
|
build/
|
||||||
dist/
|
dist/
|
||||||
|
node_modules/
|
||||||
|
|
||||||
data/
|
data/
|
||||||
output/
|
output/
|
||||||
|
|
|
@ -42,10 +42,11 @@ def save_singlefile(link: Link, out_dir: Optional[str]=None, timeout: int=TIMEOU
|
||||||
browser_args = chrome_args(TIMEOUT=0)
|
browser_args = chrome_args(TIMEOUT=0)
|
||||||
|
|
||||||
# SingleFile CLI Docs: https://github.com/gildas-lormeau/SingleFile/tree/master/cli
|
# SingleFile CLI Docs: https://github.com/gildas-lormeau/SingleFile/tree/master/cli
|
||||||
|
browser_args = '--browser-args={}'.format(json.dumps(browser_args[1:]))
|
||||||
cmd = [
|
cmd = [
|
||||||
DEPENDENCIES['SINGLEFILE_BINARY']['path'],
|
DEPENDENCIES['SINGLEFILE_BINARY']['path'],
|
||||||
'--browser-executable-path={}'.format(CHROME_BINARY),
|
'--browser-executable-path={}'.format(CHROME_BINARY),
|
||||||
'--browser-args="{}"'.format(json.dumps(browser_args[1:])),
|
browser_args,
|
||||||
link.url,
|
link.url,
|
||||||
output
|
output
|
||||||
]
|
]
|
||||||
|
@ -73,6 +74,8 @@ def save_singlefile(link: Link, out_dir: Optional[str]=None, timeout: int=TIMEOU
|
||||||
chmod_file(output)
|
chmod_file(output)
|
||||||
except (Exception, OSError) as err:
|
except (Exception, OSError) as err:
|
||||||
status = 'failed'
|
status = 'failed'
|
||||||
|
# TODO: Make this prettier. This is necessary to run the command (escape JSON internal quotes).
|
||||||
|
cmd[2] = browser_args.replace('"', "\\\"")
|
||||||
output = err
|
output = err
|
||||||
finally:
|
finally:
|
||||||
timer.end()
|
timer.end()
|
||||||
|
|
2
package-lock.json
generated
2
package-lock.json
generated
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "archivebox",
|
"name": "archivebox",
|
||||||
"version": "0.4.19",
|
"version": "0.4.21",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
Loading…
Reference in a new issue