From 5ad1cc9ef693e4832fc3be7617efccc782a37e3f Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sat, 4 May 2019 19:05:54 +0300 Subject: cli: Allow adding extra data to warcinfo record --- crocoite/controller.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'crocoite/controller.py') 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) -- cgit v1.2.3