Modified:
    trunk/autoqueue.py
Log:
small pre-mirage 0.5 bugfixes
Modified: trunk/autoqueue.py
==============================================================================
--- trunk/autoqueue.py	(original)
+++ trunk/autoqueue.py	Tue Mar 10 13:04:13 2009
@@ -321,6 +321,8 @@
              self.player_execute_async(self.fill_queue)
          if self.weed:
              self.player_execute_async(self.prune_db)
+            self.player_execute_async(self.prune_search)
+            self.player_execute_async(self.prune_delete)
      def queue_needs_songs(self):
          """determine whether the queue needs more songs added"""
@@ -983,7 +985,8 @@
                  if artist not in seen_artists:
                      seen_artists.append(artist)
                      connection = self.get_database_connection()
-                    self._rows.extend([row for row in connection.execute(
+                    self._rows.extend(
+                        [(row[0], row[1], row[2]) for row in  
connection.execute(
                          'SELECT artists.name, tracks.title, tracks.id  
FROM '
                          'tracks INNER JOIN artists ON tracks.artist = '
                          'artists.id WHERE artists.name = ?;', (artist,))])
@@ -999,13 +1002,16 @@
                  if title not in seen_titles:
                      seen_titles.append(title)
                      connection = self.get_database_connection()
-                    self._rows.extend([row for row in connection.execute(
+                    self._rows.extend(
+                        [(row[0], row[1], row[2]) for row in  
connection.execute(
                          'SELECT artists.name, tracks.title, tracks.id  
FROM '
                          'tracks INNER JOIN artists ON tracks.artist = '
                          'artists.id WHERE tracks.title = ? OR tracks.title  
= ?;'
                          , (vtitle, title))])
                      self.close_database_connection(connection)
                      yield
+
+    def prune_search(self):
          while self._rows:
              item = self._rows.pop(0)
              search = self.player_construct_search(
@@ -1014,6 +1020,8 @@
              if not songs:
                  self._nrows.append(item)
              yield
+
+    def prune_delete(self):
          while self._nrows:
              item = self._nrows.pop(0)
              connection = self.get_database_connection()