Raise a meaningful exception.

This commit is contained in:
Faik Uygur
2008-05-08 07:41:22 +00:00
parent 992900662a
commit 3f684a7234
+7 -1
View File
@@ -21,6 +21,9 @@ import pisi.index
import pisi.context as ctx import pisi.context as ctx
import pisi.db.lazydb as lazydb import pisi.db.lazydb as lazydb
class RepoError(pisi.Error):
pass
class Repo: class Repo:
def __init__(self, indexuri): def __init__(self, indexuri):
self.indexuri = indexuri self.indexuri = indexuri
@@ -109,7 +112,10 @@ class RepoDB(lazydb.LazyDB):
if index_path.endswith("bz2"): if index_path.endswith("bz2"):
index_path = index_path.split(".bz2")[0] index_path = index_path.split(".bz2")[0]
return piksemel.parse(index_path) try:
return piksemel.parse(index_path)
except Exception, e:
raise RepoError("Error parsing repository index information. Index file does not exist or is malformed.")
def get_repo(self, repo): def get_repo(self, repo):
return Repo(pisi.uri.URI(self.get_repo_url(repo))) return Repo(pisi.uri.URI(self.get_repo_url(repo)))