Changeset View
Changeset View
Standalone View
Standalone View
swh/loader/git/tasks.py
# Copyright (C) 2015-2017 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 | ||||
import dateutil.parser | import dateutil.parser | ||||
from swh.scheduler.task import Task | from swh.scheduler.task import Task | ||||
from .loader import GitLoader, GitLoaderFromArchive | from .from_disk import GitLoaderFromDisk, GitLoaderFromArchive | ||||
from .updater import BulkUpdater | from .loader import GitLoader | ||||
# TODO: rename to LoadRemoteGitRepository | # TODO: rename to LoadRemoteGitRepository | ||||
class UpdateGitRepository(Task): | class UpdateGitRepository(Task): | ||||
"""Import a git repository from a remote location""" | """Import a git repository from a remote location""" | ||||
task_queue = 'swh_loader_git' | task_queue = 'swh_loader_git' | ||||
def run_task(self, repo_url, base_url=None): | def run_task(self, repo_url, base_url=None): | ||||
"""Import a git repository""" | """Import a git repository""" | ||||
loader = BulkUpdater() | loader = GitLoader() | ||||
loader.log = self.log | loader.log = self.log | ||||
return loader.load(repo_url, base_url=base_url) | return loader.load(repo_url, base_url=base_url) | ||||
class LoadDiskGitRepository(Task): | class LoadDiskGitRepository(Task): | ||||
"""Import a git repository from disk""" | """Import a git repository from disk""" | ||||
task_queue = 'swh_loader_git_express' | task_queue = 'swh_loader_git_express' | ||||
def run_task(self, origin_url, directory, date): | def run_task(self, origin_url, directory, date): | ||||
"""Import a git repository, cloned in `directory` from `origin_url` at | """Import a git repository, cloned in `directory` from `origin_url` at | ||||
`date`.""" | `date`.""" | ||||
loader = GitLoader() | loader = GitLoaderFromDisk() | ||||
loader.log = self.log | loader.log = self.log | ||||
return loader.load(origin_url, directory, dateutil.parser.parse(date)) | return loader.load(origin_url, directory, dateutil.parser.parse(date)) | ||||
class UncompressAndLoadDiskGitRepository(Task): | class UncompressAndLoadDiskGitRepository(Task): | ||||
"""Import a git repository from a zip archive""" | """Import a git repository from a zip archive""" | ||||
task_queue = 'swh_loader_git_archive' | task_queue = 'swh_loader_git_archive' | ||||
Show All 12 Lines |