PiSi: Implement backend_get_filters
This commit is contained in:
parent
5858900bd1
commit
50a93c1859
@ -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 """
|
||||
|
@ -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 */
|
||||
|
@ -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 | |
|
||||
|
Loading…
Reference in New Issue
Block a user