Changeset View
Changeset View
Standalone View
Standalone View
swh/loader/svn/tasks.py
# Copyright (C) 2015-2018 The Software Heritage developers | # Copyright (C) 2015-2018 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 swh.scheduler.task import Task | from swh.scheduler.task import Task | ||||
from .loader import SWHSvnLoader, SWHSvnLoaderFromDumpArchive | from .loader import SvnLoader, SvnLoaderFromDumpArchive | ||||
class LoadSWHSvnRepositoryTsk(Task): | class LoadSvnRepository(Task): | ||||
"""Import one svn repository to Software Heritage. | """Import one svn repository to Software Heritage. | ||||
""" | """ | ||||
task_queue = 'swh_loader_svn' | task_queue = 'swh_loader_svn' | ||||
def run_task(self, *, svn_url, | def run_task(self, *, svn_url, | ||||
destination_path=None, | destination_path=None, | ||||
swh_revision=None, | swh_revision=None, | ||||
origin_url=None, | origin_url=None, | ||||
visit_date=None, | visit_date=None, | ||||
start_from_scratch=None): | start_from_scratch=None): | ||||
"""Import a svn repository with swh policy. | """Import a svn repository with swh policy. | ||||
Args: | Args: | ||||
args: ordered arguments (expected None) | args: ordered arguments (expected None) | ||||
kwargs: Dictionary with the following expected keys: | kwargs: Dictionary with the following expected keys: | ||||
- svn_url (str): (mandatory) svn's repository url | - svn_url (str): (mandatory) svn's repository url | ||||
- destination_path (str): (mandatory) root directory to | - destination_path (str): (mandatory) root directory to | ||||
locally retrieve svn's data | locally retrieve svn's data | ||||
- origin_url (str): Optional original url override | - origin_url (str): Optional original url override | ||||
- swh_revision (dict): (optional) extra SWH revision hex to | - swh_revision (dict): (optional) extra revision hex to | ||||
start from. see swh.loader.svn.SvnLoader.process | start from. see swh.loader.svn.SvnLoader.process | ||||
docstring | docstring | ||||
""" | """ | ||||
loader = SWHSvnLoader() | loader = SvnLoader() | ||||
loader.log = self.log | loader.log = self.log | ||||
return loader.load( | return loader.load( | ||||
svn_url=svn_url, | svn_url=svn_url, | ||||
destination_path=destination_path, | destination_path=destination_path, | ||||
origin_url=origin_url, | origin_url=origin_url, | ||||
swh_revision=swh_revision, | swh_revision=swh_revision, | ||||
visit_date=visit_date, | visit_date=visit_date, | ||||
start_from_scratch=start_from_scratch) | start_from_scratch=start_from_scratch) | ||||
class MountAndLoadSvnRepositoryTsk(Task): | class MountAndLoadSvnRepository(Task): | ||||
task_queue = 'swh_loader_svn_mount_and_load' | task_queue = 'swh_loader_svn_mount_and_load' | ||||
def run_task(self, *, archive_path, origin_url=None, visit_date=None, | def run_task(self, *, archive_path, origin_url=None, visit_date=None, | ||||
start_from_scratch=False): | start_from_scratch=False): | ||||
"""1. Mount an svn dump from archive as a local svn repository. | """1. Mount an svn dump from archive as a local svn repository. | ||||
2. Load it through the svn loader. | 2. Load it through the svn loader. | ||||
3. Clean up mounted svn repository archive. | 3. Clean up mounted svn repository archive. | ||||
""" | """ | ||||
loader = SWHSvnLoaderFromDumpArchive(archive_path) | loader = SvnLoaderFromDumpArchive(archive_path) | ||||
loader.log = self.log | loader.log = self.log | ||||
return loader.load(svn_url='file://%s' % loader.repo_path, | return loader.load(svn_url='file://%s' % loader.repo_path, | ||||
origin_url=origin_url, | origin_url=origin_url, | ||||
visit_date=visit_date, | visit_date=visit_date, | ||||
archive_path=archive_path, | archive_path=archive_path, | ||||
start_from_scratch=start_from_scratch) | start_from_scratch=start_from_scratch) |