Changeset View
Changeset View
Standalone View
Standalone View
swh/loader/bzr/tasks.py
# Copyright (C) 2022 The Software Heritage developers | # Copyright (C) 2022 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
from typing import Optional | |||||
from celery import shared_task | from celery import shared_task | ||||
from swh.loader.core.utils import parse_visit_date | from swh.loader.core.utils import parse_visit_date | ||||
from .loader import BazaarLoader | from .loader import BazaarLoader | ||||
def _process_kwargs(kwargs): | |||||
if "visit_date" in kwargs: | |||||
kwargs["visit_date"] = parse_visit_date(kwargs["visit_date"]) | |||||
return kwargs | |||||
@shared_task(name=__name__ + ".LoadBazaar") | @shared_task(name=__name__ + ".LoadBazaar") | ||||
def load_bzr( | def load_bzr(**kwargs): | ||||
*, url: str, directory: Optional[str] = None, visit_date: Optional[str] = None | |||||
): | |||||
"""Bazaar repository loading | """Bazaar repository loading | ||||
Args: see :func:`BazaarLoader` constructor. | Args: see :func:`BazaarLoader` constructor. | ||||
""" | """ | ||||
loader = BazaarLoader.from_configfile( | loader = BazaarLoader.from_configfile(**_process_kwargs(kwargs)) | ||||
url=url, directory=directory, visit_date=parse_visit_date(visit_date) | |||||
) | |||||
return loader.load() | return loader.load() |