From 869cd441a2a18bd9a288c6fb85f1178d0ca0b62b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Sat, 10 Dec 2005 21:49:38 +0000 Subject: [PATCH] * cartman special today: - search_package API - extracting notification for install --- pisi/api.py | 10 ++++++++++ pisi/atomicoperations.py | 2 +- pisi/cli/__init__.py | 4 +++- pisi/cli/commands.py | 11 +---------- pisi/ui.py | 2 +- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/pisi/api.py b/pisi/api.py index 81be5e1e..6ee9d2e8 100644 --- a/pisi/api.py +++ b/pisi/api.py @@ -243,6 +243,16 @@ def info_name(package_name): else: raise Error(_('Package %s not found') % package_name) +def search_package(terms, lang = None): + if not lang: + lang = pisi.pxml.autoxml.LocalText.get_lang() + def search(self, id, terms): + return pisi.search.query(id, lang, terms) + r1 = pisi.search.query('summary', lang, terms) + r2 = pisi.search.query('description', lang, terms) + r = r1.union(r2) + return r + def index(dirs, output = 'pisi-index.xml'): index = Index() if not dirs: diff --git a/pisi/atomicoperations.py b/pisi/atomicoperations.py index fbd3fb01..2f220889 100644 --- a/pisi/atomicoperations.py +++ b/pisi/atomicoperations.py @@ -190,7 +190,7 @@ class Install(AtomicOperation): def extract_install(self): "unzip package in place" - ctx.ui.info(_('Extracting files')) + ctx.ui.notify(pisi.ui.extracting, package = self.pkginfo, files = self.files) self.package.extract_dir_flat('install', ctx.config.dest_dir()) if self.reinstall: diff --git a/pisi/cli/__init__.py b/pisi/cli/__init__.py index c63c6ca1..ea36fffa 100644 --- a/pisi/cli/__init__.py +++ b/pisi/cli/__init__.py @@ -136,8 +136,10 @@ class CLI(UI): msg = _('Removed %s') % keywords['package'].name elif event == ui.upgraded: msg = _('Upgraded %s') % keywords['package'].name - if event == ui.configured: + elif event == ui.configured: msg = _('Configured %s') % keywords['package'].name + elif event == ui.extracting: + msg = _('Extracting the files of %s') % keywords['package'].name else: msg = None if msg: diff --git a/pisi/cli/commands.py b/pisi/cli/commands.py index 3d519720..f1849007 100644 --- a/pisi/cli/commands.py +++ b/pisi/cli/commands.py @@ -975,15 +975,6 @@ Finds a package in repository containing specified search terms lang = 'en' return lang - def search_package(terms, lang = None): - if not lang: - lang = pisi.pxml.autoxml.LocalText.get_lang() - def search(self, id, terms): - return pisi.search.query(id, lang, terms) - r1 = pisi.search.query('summary', lang, terms) - r2 = pisi.search.query('description', lang, terms) - r = r1.union(r2) - return r def run(self): @@ -993,7 +984,7 @@ Finds a package in repository containing specified search terms self.help() return - r = search_package(self.args, self.get_lang()) + r = pisi.api.search_package(self.args, self.get_lang()) for pkg in r: self.printinfo_package(pkg) diff --git a/pisi/ui.py b/pisi/ui.py index aac7cfd2..8d54fa43 100644 --- a/pisi/ui.py +++ b/pisi/ui.py @@ -20,7 +20,7 @@ import pisi import pisi.context as ctx (installed, upgraded, removed, installing, removing, - configuring, configured) = range(7) + configuring, configured, extracting) = range(8) class UI(object): "Abstract class for UI operations, derive from this."