apt: added groups support
This commit is contained in:
parent
8d1a499523
commit
7649dcb8ec
@ -86,7 +86,7 @@ class Package(object):
|
||||
#if section in ():
|
||||
# return GROUP_ACCESSIBILITY
|
||||
if section in ('utils',):
|
||||
return GROUP_ACCESSORIES
|
||||
return "accessories"
|
||||
#if section in ():
|
||||
# return GROUP_EDUCATION
|
||||
if section in ('games',):
|
||||
@ -161,6 +161,13 @@ class Package(object):
|
||||
return True
|
||||
return False
|
||||
|
||||
def match_group(self, name):
|
||||
needle = name.strip().lower()
|
||||
haystack = self.group
|
||||
if haystack.startswith(needle):
|
||||
return True
|
||||
return False
|
||||
|
||||
### Helpers ###
|
||||
def _seek_records(self, use_candidate=True):
|
||||
if use_candidate:
|
||||
@ -234,10 +241,9 @@ class PackageKitAptBackend(PackageKitBaseBackend):
|
||||
Implement the {backend}-search-group functionality
|
||||
'''
|
||||
self.allow_interrupt(True)
|
||||
self.percentage(None)
|
||||
|
||||
self.error(ERROR_NOT_SUPPORTED,
|
||||
"This function is not implemented in this backend")
|
||||
for package in self._do_search(filters,
|
||||
lambda pkg: pkg.match_group(key)):
|
||||
self._emit_package(package)
|
||||
|
||||
def search_file(self, filters, key):
|
||||
'''
|
||||
|
@ -32,9 +32,7 @@ backend_get_groups (PkBackend *backend, PkEnumList *elist)
|
||||
{
|
||||
g_return_if_fail (backend != NULL);
|
||||
pk_enum_list_append_multiple (elist,
|
||||
PK_GROUP_ENUM_ACCESSIBILITY,
|
||||
PK_GROUP_ENUM_ACCESSORIES,
|
||||
PK_GROUP_ENUM_EDUCATION,
|
||||
PK_GROUP_ENUM_GAMES,
|
||||
PK_GROUP_ENUM_GRAPHICS,
|
||||
PK_GROUP_ENUM_INTERNET,
|
||||
@ -154,6 +152,17 @@ backend_search_name (PkBackend *backend, const gchar *filter, const gchar *searc
|
||||
pk_backend_spawn_helper (backend, "search-name.py", filter, search, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* backend_search_group:
|
||||
*/
|
||||
static void
|
||||
backend_search_group (PkBackend *backend, const gchar *filter, const gchar *search)
|
||||
{
|
||||
g_return_if_fail (backend != NULL);
|
||||
pk_backend_allow_interrupt (backend, TRUE);
|
||||
pk_backend_spawn_helper (backend, "search-group.py", filter, search, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* backend_update_package:
|
||||
*/
|
||||
@ -215,7 +224,7 @@ PK_BACKEND_OPTIONS (
|
||||
NULL, /* rollback */
|
||||
backend_search_details, /* search_details */
|
||||
NULL, /* search_file */
|
||||
NULL, /* search_group */
|
||||
backend_search_group, /* search_group */
|
||||
backend_search_name, /* search_name */
|
||||
backend_update_package, /* update_package */
|
||||
backend_update_system, /* update_system */
|
||||
|
Loading…
Reference in New Issue
Block a user