diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2019-05-04 19:05:54 +0300 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2019-05-05 09:33:01 +0300 |
commit | 5ad1cc9ef693e4832fc3be7617efccc782a37e3f (patch) | |
tree | f77d92e99e014bd8fef0d2c7d623322df52fa361 /crocoite/controller.py | |
parent | 002b9f5a766699aa280ee1e96b308752f0fd557b (diff) | |
download | crocoite-5ad1cc9ef693e4832fc3be7617efccc782a37e3f.tar.gz crocoite-5ad1cc9ef693e4832fc3be7617efccc782a37e3f.tar.bz2 crocoite-5ad1cc9ef693e4832fc3be7617efccc782a37e3f.zip |
cli: Allow adding extra data to warcinfo record
Diffstat (limited to 'crocoite/controller.py')
-rw-r--r-- | crocoite/controller.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/crocoite/controller.py b/crocoite/controller.py index 772bf44..9105997 100644 --- a/crocoite/controller.py +++ b/crocoite/controller.py @@ -103,17 +103,20 @@ class SinglePageController: (stats, warc writer). """ - __slots__ = ('url', 'service', 'behavior', 'settings', 'logger', 'handler') + __slots__ = ('url', 'service', 'behavior', 'settings', 'logger', 'handler', + 'warcinfo') def __init__ (self, url, logger, \ service, behavior=cbehavior.available, \ - settings=defaultSettings, handler=None): + settings=defaultSettings, handler=None, \ + warcinfo=None): self.url = url self.service = service self.behavior = behavior self.settings = settings self.logger = logger.bind (context=type (self).__name__, url=url) self.handler = handler or [] + self.warcinfo = warcinfo def processItem (self, item): for h in self.handler: @@ -150,6 +153,8 @@ class SinglePageController: 'behavior': list (map (attrgetter('name'), enabledBehavior)), }, } + if self.warcinfo: + payload['extra'] = self.warcinfo self.processItem (ControllerStart (payload)) await l.navigate (self.url) |