"""Get snapshot properties from backend db. Init snapshot attributes."""
self.backenddb = backenddb
self.base_path = base_path
- try:
- 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" % \
- (obs_project, str(err)))
+ self.repo_name = repo_name or backenddb.get_obs_repo_map()[obs_project]
try:
self.repo = backenddb.get_repos()[self.repo_name]
except BackendDBError, err:
def get_prerelease(self, base_url, tstamp):
"""Factory for Prerelease object."""
return Prerelease(self, base_url, tstamp)
+
+def snapshot_project_enabled(backenddb, obs_project):
+ """Check if project is enabled for OBS project.
+ This is done by querying repo name from Redis
+ return the True if repo name exists,otherwise
+ return False
+ """
+ try:
+ repo_name = backenddb.get_obs_repo_map()[obs_project]
+ return True
+ except (BackendDBError, EntityError), err:
+ print err
+ return False
from common.buildservice import BuildService
from common.repomaker import RepoMaker, RepoMakerError
from common.backenddb import BackendDB
-from common.snapshot import Snapshot, SnapshotError
+from common.snapshot import Snapshot, SnapshotError, snapshot_project_enabled
from common.utils import make_latest_link
class LocalError(Exception):
Raises:
LocalError if can't create repos or can't find image configurations
"""
-
try:
snapshot = Snapshot(backenddb, base_path, obs_project=project)
except SnapshotError, err:
# Get buildconf from OBS, put the buildconf together with repo-md
buildconf_str = build.get_project_config(project)
+ # whether project is not enabled
+ if not snapshot_project_enabled(backenddb, project):
+ print "Skipping, project isn't found in repo.yaml"
+ return 0
+
repo_data = make_repo(project, backenddb, base_path, live_repo_base,
buildconf = buildconf_str)