本文整理汇总了Python中manifest.Manifest.get_repositories方法的典型用法代码示例。如果您正苦于以下问题:Python Manifest.get_repositories方法的具体用法?Python Manifest.get_repositories怎么用?Python Manifest.get_repositories使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类manifest.Manifest
的用法示例。
在下文中一共展示了Manifest.get_repositories方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ManifestActions
# 需要导入模块: from manifest import Manifest [as 别名]
# 或者: from manifest.Manifest import get_repositories [as 别名]
#.........这里部分代码省略.........
"""
self._git_credentials = git_credential
self.repo_operator.setup_gitbit(credentials=self._git_credentials)
def get_manifest(self):
"""
Standard getter for manifest
:return: an instance of Manifest
"""
return self._manifest
def add_action(self, action):
"""
Add action to actions
:param action: a string, just like: checkout
:return: None
"""
if action not in self.valid_actions:
print "Unknown action '{0}' requested".format(action)
print "Valid actions are:"
for op in self.valid_actions:
print " {0}".format(op)
sys.exit(1)
else:
self.actions.append(action)
def set_jobs(self, jobs):
"""
Standard setter for jobs
:param jobs: number of parallel jobs to run
:return: None
"""
self._jobs = jobs
if self._jobs < 1:
print "--jobs value must be an integer >=1"
sys.exit(1)
def handle_manifest(self, manifest_path):
"""
initial manifest and validate it
:param manifest_path: the path of manifest file
:return: None
"""
try:
self._manifest = Manifest(manifest_path)
self._manifest.validate_manifest()
except KeyError as error:
print "Failed to create a Manifest instance for the manifest file {0} \nERROR:\n{1}".format(
manifest_path, error.message
)
sys.exit(1)
for repo in self._manifest.get_repositories():
repo["directory-name"] = self.directory_for_repo(repo)
def check_builddir(self):
"""
Checks the given builddir name and force flag.
Deletes exists directory if one already exists and --force is set
:return: None
"""
if os.path.exists(self._builddir):
if self._force:
shutil.rmtree(self._builddir)
print "Removing existing data at {0}".format(self._builddir)
else:
print "Unwilling to overwrite destination builddir of {0}".format(self._builddir)
sys.exit(1)
os.makedirs(self._builddir)
def get_repositories(self):
"""
Issues checkout commands to dictionaries within a provided manifest
:return: None
"""
repo_list = self._manifest.get_repositories()
try:
self.repo_operator.clone_repo_list(repo_list, self._builddir, jobs=self._jobs)
except RuntimeError as error:
print "Exiting due to error: {0}".format(error)
sys.exit(1)
def directory_for_repo(self, repo):
"""
Get the directory of a repository
:param repo: a dictionary
:return: the directary of repository
"""
if "checked-out-directory-name" in repo:
repo_directory = repo["checked-out-directory-name"]
else:
if "repository" in repo:
repo_url = repo["repository"]
repo_directory = strip_suffix(os.path.basename(repo_url), ".git")
else:
raise ValueError("no way to find basename")
repo_directory = os.path.join(self._builddir, repo_directory)
return repo_directory