"""Prerelease path."""
return os.path.join(self.snapshot.base_path, self.dir)
- @property
- def pkg_urls(self):
+ def pkg_urls(self, repo):
"""List of package(repository) urls for prerelease."""
pkg_urls = {}
- for arch in self.snapshot.archs:
+ for arch in self.snapshot.archs(repo):
pkg_urls[arch] = os.path.join(self.base_url, self.dir,
self.build_id, 'repos',
- self.snapshot.repo['Target'],
+ repo,
'packages')
return pkg_urls
"""Snapshot maintenance class."""
def __init__(self, backenddb, base_path, repo_name=None,
- obs_project=None, obs_repo=None):
+ obs_project=None):
"""Get snapshot properties from backend db. Init snapshot attributes."""
self.backenddb = backenddb
self.base_path = base_path
try:
- key = "%s:%s" % (obs_project, obs_repo)
- self.repo_name = repo_name or backenddb.get_obs_repo_map()[key]
+ self.repo_name = repo_name or backenddb.get_obs_repo_map()[obs_project]
except (BackendDBError, EntityError), err:
- raise SnapshotError("Can't get repo name for '%s:%s' : %s" % \
- (obs_project, obs_repo, str(err)))
+ raise SnapshotError("Can't get repo name for '%s' : %s" % \
+ (obs_project, str(err)))
try:
self.repo = backenddb.get_repos()[self.repo_name]
except BackendDBError, err:
% (repo_name, str(err)))
# Sanity check
- for key in ('Release', 'SnapshotDir', 'PrereleaseDir', 'PartOf',
- 'Architectures'):
+ for key in ('Release', 'SnapshotDir', 'PrereleaseDir', 'Targets'):
if key not in self.repo:
raise SnapshotError("Key '%s' doesn't exist for repo '%s' "\
"in Redis" % (key, self.repo_name))
self.build_id)
@property
- def archs(self):
- """List of architectures used in snapshot."""
- return self.repo['Architectures']
+ def targets(self):
+ """List of targets enabled in snapshot."""
+ return self.repo['Targets']
+
+ def archs(self, repo):
+ """List of architectures used in snapshot
+ """
+ for target in self.targets:
+ if str(target['Name']) != repo:
+ continue
+ return target['Architectures']
def inc(self):
"""Increment stapshot."""