Sane error message for pisi history when package not found in any repositories.

BUG:FIXED:9083
This commit is contained in:
Faik Uygur
2009-02-10 12:30:23 +00:00
parent 9cc1676e81
commit 6c4ad762f2
+14 -1
View File
@@ -14,6 +14,7 @@ import gettext
__trans = gettext.translation("pisi", fallback=True) __trans = gettext.translation("pisi", fallback=True)
_ = __trans.ugettext _ = __trans.ugettext
import pisi
import pisi.context as ctx import pisi.context as ctx
import pisi.util import pisi.util
import pisi.db import pisi.db
@@ -22,6 +23,9 @@ import pisi.fetcher
installdb = pisi.db.installdb.InstallDB() installdb = pisi.db.installdb.InstallDB()
historydb = pisi.db.historydb.HistoryDB() historydb = pisi.db.historydb.HistoryDB()
class PackageNotFound(pisi.Error):
pass
def __pkg_already_installed(name, pkginfo): def __pkg_already_installed(name, pkginfo):
if not installdb.has_package(name): if not installdb.has_package(name):
return False return False
@@ -66,6 +70,9 @@ def __getpackageurl(package):
if pkg in packagedb.get_obsoletes(repo): if pkg in packagedb.get_obsoletes(repo):
reponame = repo reponame = repo
if not reponame:
raise PackageNotFound
repourl = repodb.get_repo_url(reponame) repourl = repodb.get_repo_url(reponame)
ctx.ui.info(_("Package %s found in repository %s") % (pkg, reponame)) ctx.ui.info(_("Package %s found in repository %s") % (pkg, reponame))
@@ -73,7 +80,13 @@ def __getpackageurl(package):
return os.path.join(os.path.dirname(repourl), package) return os.path.join(os.path.dirname(repourl), package)
def fetch_remote_file(package, errors): def fetch_remote_file(package, errors):
uri = pisi.file.File.make_uri(__getpackageurl(package)) try:
uri = pisi.file.File.make_uri(__getpackageurl(package))
except PackageNotFound:
errors.append(package)
ctx.ui.info(pisi.util.colorize(_("%s could not be found") % (package), "red"))
return False
dest = ctx.config.cached_packages_dir() dest = ctx.config.cached_packages_dir()
filepath = os.path.join(dest, uri.filename()) filepath = os.path.join(dest, uri.filename())
if not os.path.exists(filepath): if not os.path.exists(filepath):