From 85e85129f8477a7768adcacc5cc5a75cc8c5a8b5 Mon Sep 17 00:00:00 2001 From: Bryan Schumaker Date: Sat, 6 Nov 2010 13:49:52 -0400 Subject: [PATCH] New library filtering The new library module can filter songs --- libsaria/collection/__init__.py | 6 +++--- libsaria/collection/library.py | 24 +++++++++++++++++++++++- ocarina/collection.py | 2 +- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/libsaria/collection/__init__.py b/libsaria/collection/__init__.py index 60863d9b..06874804 100644 --- a/libsaria/collection/__init__.py +++ b/libsaria/collection/__init__.py @@ -44,9 +44,9 @@ def lib_get_cur_id(): global cur_lib_id return cur_lib_id -def lib_filter(text): - global library - library.filter(text) +#def lib_filter(text): +# global library +# library.filter(text) def lib_is_visible(text): global library diff --git a/libsaria/collection/library.py b/libsaria/collection/library.py index 4add4f76..8e0ad258 100644 --- a/libsaria/collection/library.py +++ b/libsaria/collection/library.py @@ -9,6 +9,9 @@ tracks = None next_id = None sources = None size = None +visible = None + +filtered = False def reset(): from tree import DLTree @@ -30,6 +33,7 @@ def load(): global next_id global sources global size + global songs objects = libsaria.data.load("library", ".dl_tree") if objects == None or len(objects) != 6: reset() @@ -99,5 +103,23 @@ def play_id(id): libsaria.music.load(filepath) libsaria.music.play() +def filter(text): + global visible + global index + global filtered + + if len(text) > 0: + visible = index.filter(text) + filtered = True + else: + visible = None + filtered = False + + def is_visible(id): - return True + global filtered + global visible + if filtered == False: + return True + else: + return id in visible diff --git a/ocarina/collection.py b/ocarina/collection.py index 2dd7647e..87205ce5 100644 --- a/ocarina/collection.py +++ b/ocarina/collection.py @@ -104,7 +104,7 @@ class Library(Collection): collection.inc_score(row[0], 1) def filter(self, text): - collection.lib_filter(text) + library.filter(text) self.list.refilter() def refilter(self, list, iter):