diff --git a/swh/loader/svn/tasks.py b/swh/loader/svn/tasks.py --- a/swh/loader/svn/tasks.py +++ b/swh/loader/svn/tasks.py @@ -6,33 +6,41 @@ from celery import shared_task +from swh.loader.core.utils import parse_visit_date + from .loader import SvnLoader, SvnLoaderFromDumpArchive, SvnLoaderFromRemoteDump +def _process_kwargs(kwargs): + if "visit_date" in kwargs: + kwargs["visit_date"] = parse_visit_date(kwargs["visit_date"]) + return kwargs + + @shared_task(name=__name__ + ".LoadSvnRepository") -def load_svn(*args, **kwargs): +def load_svn(**kwargs): """Import a svn repository""" - loader = SvnLoader.from_configfile(*args, **kwargs) + loader = SvnLoader.from_configfile(**_process_kwargs(kwargs)) return loader.load() @shared_task(name=__name__ + ".MountAndLoadSvnRepository") -def load_svn_from_archive(*args, **kwargs): +def load_svn_from_archive(**kwargs): """ 1. Mount an svn dump from archive as a local svn repository 2. Load it through the svn loader 3. Clean up mounted svn repository archive """ - loader = SvnLoaderFromDumpArchive.from_configfile(*args, **kwargs) + loader = SvnLoaderFromDumpArchive.from_configfile(**_process_kwargs(kwargs)) return loader.load() @shared_task(name=__name__ + ".DumpMountAndLoadSvnRepository") -def load_svn_from_remote_dump(*args, **kwargs): +def load_svn_from_remote_dump(**kwargs): """ 1. Mount a remote svn dump as a local svn repository. 2. Load it through the svn loader. 3. Clean up mounted svn repository archive. """ - loader = SvnLoaderFromRemoteDump.from_configfile(*args, **kwargs) + loader = SvnLoaderFromRemoteDump.from_configfile(**_process_kwargs(kwargs)) return loader.load() diff --git a/swh/loader/svn/tests/test_task.py b/swh/loader/svn/tests/test_task.py --- a/swh/loader/svn/tests/test_task.py +++ b/swh/loader/svn/tests/test_task.py @@ -42,7 +42,9 @@ res = swh_scheduler_celery_app.send_task( "swh.loader.svn.tasks.LoadSvnRepository", - kwargs=dict(url="some-technical-url", origin_url="origin-url"), + kwargs=dict( + url="some-technical-url", origin_url="origin-url", visit_date="now" + ), ) assert res res.wait() @@ -80,7 +82,7 @@ res = swh_scheduler_celery_app.send_task( "swh.loader.svn.tasks.MountAndLoadSvnRepository", - kwargs=dict(url="some-url", archive_path="some-path"), + kwargs=dict(url="some-url", archive_path="some-path", visit_date="now"), ) assert res res.wait() @@ -123,7 +125,9 @@ res = swh_scheduler_celery_app.send_task( "swh.loader.svn.tasks.DumpMountAndLoadSvnRepository", - kwargs=dict(url="some-remote-dump-url", origin_url="origin-url"), + kwargs=dict( + url="some-remote-dump-url", origin_url="origin-url", visit_date="now" + ), ) assert res res.wait()