summaryrefslogtreecommitdiff
path: root/crocoite/cli.py
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2019-05-04 19:05:54 +0300
committerLars-Dominik Braun <lars@6xq.net>2019-05-05 09:33:01 +0300
commit5ad1cc9ef693e4832fc3be7617efccc782a37e3f (patch)
treef77d92e99e014bd8fef0d2c7d623322df52fa361 /crocoite/cli.py
parent002b9f5a766699aa280ee1e96b308752f0fd557b (diff)
downloadcrocoite-5ad1cc9ef693e4832fc3be7617efccc782a37e3f.tar.gz
crocoite-5ad1cc9ef693e4832fc3be7617efccc782a37e3f.tar.bz2
crocoite-5ad1cc9ef693e4832fc3be7617efccc782a37e3f.zip
cli: Allow adding extra data to warcinfo record
Diffstat (limited to 'crocoite/cli.py')
-rw-r--r--crocoite/cli.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/crocoite/cli.py b/crocoite/cli.py
index d9ebc4d..4e64b97 100644
--- a/crocoite/cli.py
+++ b/crocoite/cli.py
@@ -22,7 +22,7 @@
Command line interface
"""
-import argparse, sys, signal, asyncio, os
+import argparse, sys, signal, asyncio, os, json
from traceback import TracebackException
from enum import IntEnum
from yarl import URL
@@ -72,6 +72,8 @@ def single ():
default=list (behavior.availableMap.keys ()),
choices=list (behavior.availableMap.keys ()),
metavar='NAME', nargs='*')
+ parser.add_argument('--warcinfo', help='Add extra information to warcinfo record',
+ metavar='JSON', type=json.loads)
parser.add_argument('url', help='Website URL', type=URL, metavar='URL')
parser.add_argument('output', help='WARC filename', metavar='FILE')
@@ -89,7 +91,8 @@ def single ():
handler = [StatsHandler (), LogHandler (logger), warcHandler]
b = list (map (lambda x: behavior.availableMap[x], args.enabledBehaviorNames))
controller = SinglePageController (url=args.url, settings=settings,
- service=service, handler=handler, behavior=b, logger=logger)
+ service=service, handler=handler, behavior=b, logger=logger,
+ warcinfo=args.warcinfo)
try:
loop = asyncio.get_event_loop()
run = asyncio.ensure_future (controller.run ())