PiSi: Implement backend_get_filters

This commit is contained in:
S.Çağlar Onur 2007-10-30 10:58:11 +02:00
parent 5858900bd1
commit 50a93c1859
3 changed files with 26 additions and 5 deletions

View File

@ -40,7 +40,7 @@ class PackageKitPisiBackend(PackageKitBaseBackend):
version = "%s-%s" % (package.version, package.release)
return version
def __get_package(self, package):
def __get_package(self, package, filters = None):
""" Returns package object suitable for other methods """
if self.installdb.has_package(package):
status = INFO_INSTALLED
@ -51,6 +51,13 @@ class PackageKitPisiBackend(PackageKitBaseBackend):
else:
self.error(ERROR_INTERNAL_ERROR, "Package was not found")
filterlist = filters.split(';')
if FILTER_INSTALLED in filterlist and status != INFO_INSTALLED:
return
if FILTER_NON_INSTALLED in filterlist and status != INFO_AVAILABLE:
return
version = self.__get_package_version(pkg)
id = self.get_package_id(pkg.name, version, pkg.architecture, "")
@ -238,7 +245,7 @@ class PackageKitPisiBackend(PackageKitBaseBackend):
self.allow_interrupt(True);
self.percentage(None)
self.__get_package(package)
self.__get_package(package, filters)
def search_name(self, filters, package):
""" Prints a list of packages contains search term """
@ -246,7 +253,7 @@ class PackageKitPisiBackend(PackageKitBaseBackend):
self.percentage(None)
for pkg in pisi.api.search_package([package]):
self.__get_package(pkg)
self.__get_package(pkg, filters)
def update(self, package_id):
""" Updates given package to its latest version """

View File

@ -23,13 +23,27 @@
#include <pk-backend.h>
#include <pk-backend-python.h>
/**
* backend_get_filters:
*/
static void
backend_get_filters (PkBackend *backend, PkEnumList *elist)
{
g_return_if_fail (backend != NULL);
pk_enum_list_append_multiple (elist,
/* PK_FILTER_ENUM_GUI, */
PK_FILTER_ENUM_INSTALLED,
/* PK_FILTER_ENUM_DEVELOPMENT, */
-1);
}
PK_BACKEND_OPTIONS (
"PiSi", /* description */
"S.Çağlar Onur <caglar@pardus.org.tr>", /* author */
NULL, /* initalize */
NULL, /* destroy */
NULL, /* get_groups */
NULL, /* get_filters */
backend_get_filters, /* get_filters */
NULL, /* cancel */
pk_backend_python_get_depends, /* get_depends */
pk_backend_python_get_description, /* get_description */

View File

@ -40,7 +40,7 @@ update-package | | X | | X | | X | X |
get-depends | | X | | X | | | X |
get-requires | X | | | X | | | X |
get-description | X | X | X | X | | X | X |
get-files | | X | | X | | | |
get-files | | X | | X | | | X |
get-update-detail | | | | | | | |
get-repo-list | | X | | X | X | X | X |
repo-enable | | X | | X | | X | |