From b6d198aed3fa17ac28aa62c9679ec2c33dc0a3da Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Fri, 4 May 2018 15:35:44 +0200 Subject: Share recursive argument parser --- crocoite/task.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'crocoite/task.py') diff --git a/crocoite/task.py b/crocoite/task.py index 52d3b26..e93cfde 100644 --- a/crocoite/task.py +++ b/crocoite/task.py @@ -41,6 +41,7 @@ from celery.utils.log import get_task_logger from .browser import ChromeService from .controller import SinglePageController, ControllerSettings, RecursiveController, defaultSettings, DepthLimit, PrefixLimit from . import behavior +from .cli import parseRecursive app = Celery ('crocoite.distributed') app.config_from_object('celeryconfig') @@ -109,13 +110,7 @@ class DistributedRecursiveController (RecursiveController): def controller (self, url, settings, enabledBehaviorNames, recursive, concurrency): """ Recursive controller """ - if recursive is None: - recursionPolicy = DepthLimit (0) - elif recursive.isdigit (): - recursionPolicy = DepthLimit (int (recursive)) - elif recursive == 'prefix': - recursionPolicy = PrefixLimit (url) - + recursionPolicy = parseRecursive (recursive, url) enabledBehavior = list (filter (lambda x: x.name in enabledBehaviorNames, behavior.available)) settings = ControllerSettings (**settings) controller = DistributedRecursiveController (url, None, behavior=enabledBehavior, -- cgit v1.2.3