From cc59c05a8bf0d8610d93ce1cb492fe38b09b3f63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Thu, 28 Jul 2005 19:13:40 +0000 Subject: [PATCH] * canavar gibiyim * update'i calistir, install'u da bir yere kadar calistir. NEDIR YANI!? --- pisi/cli/commands.py | 1 - pisi/packagedb.py | 25 ++++++++++++++++++------- pisi/toplevel.py | 6 +----- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/pisi/cli/commands.py b/pisi/cli/commands.py index 72e2edeb..23c6de46 100644 --- a/pisi/cli/commands.py +++ b/pisi/cli/commands.py @@ -216,7 +216,6 @@ class UpdateRepo(Command): def run(self): self.init_db() for repo in self.args: - pisi.ui.info('Updating repository ' + repo + '\n') pisi.toplevel.update_repo(repo) class AddRepo(Command): diff --git a/pisi/packagedb.py b/pisi/packagedb.py index 9d01afeb..0d0043ca 100644 --- a/pisi/packagedb.py +++ b/pisi/packagedb.py @@ -15,6 +15,9 @@ import util from config import config from bsddb import db +class PackageDBError: + pass + class PackageDB(object): """PackageDB class provides an interface to the package database with a delegated dbshelve object""" @@ -38,9 +41,6 @@ class PackageDB(object): name = str(name) return self.d[name] - def list(self): - return self.d.keys() - def add_package(self, package_info): name = str(package_info.name) self.d[name] = package_info @@ -52,20 +52,31 @@ class PackageDB(object): name = str(name) del self.d[name] + packagedbs = {} def add_db(name): packagedbs[name] = PackageDB(name) def get_db(name): - return packagesdb[name] + return packagedbs[name] def remove_db(name): del packagedbs[name] - # erase database file + #erase database file + +def has_package(name): + for repo in packagedbs.keys(): + if get_db(repo).has_package(name): + return True + return False + +def get_package(name): + for repo in packagedbs.keys(): + if get_db(repo).has_package(name): + return get_db(repo).get_package(name) + raise PackageDBError('get_package: package ' + name + ' not found') -#def has_package -#def get_package #def remove_package inst_packagedb = PackageDB('local') diff --git a/pisi/toplevel.py b/pisi/toplevel.py index 27752cee..fc434f6e 100644 --- a/pisi/toplevel.py +++ b/pisi/toplevel.py @@ -111,13 +111,9 @@ def remove_repo(name): def update_repo(repo): - if not indexfile: - repos_path = config.values.repos[repo] - indexfile = os.path.join(repos_path, const.pisi_index) - ui.info('* Updating repository: %s\n' % repo) index = Index() - index.read(repodb.get_repo(repo).indexuri.uri()) + index.read(repodb.get_repo(repo).indexuri.getUri()) index.update_db(repo) ui.info('* Package db updated.\n')