]> kaliko git repositories - mpd-sima.git/blobdiff - sima/lib/simadb.py
Add Album property to Track objects
[mpd-sima.git] / sima / lib / simadb.py
index a66cbd0a53296974d193713f1be21a7b5dfc086b..e52386cb6fe7554814f0323a70b6836fb8f95982 100644 (file)
@@ -45,8 +45,7 @@ class SimaDB:
 
     def get_database_connection(self):
         """get database reference"""
-        connection = sqlite3.connect(
-            self._db_path, isolation_level=None)
+        connection = sqlite3.connect(self._db_path, isolation_level=None)
         return connection
 
     def get_info(self):
@@ -383,7 +382,8 @@ class SimaDB:
                 connection.close()
             return row[0]
         if not add:  # Not adding non existing track
-            connection.close()
+            if not with_connection:
+                connection.close()
             return None
         # Get an artist record or None
         if track.artist:
@@ -604,11 +604,13 @@ class SimaDB:
             connection = with_connection
         else:
             connection = self.get_database_connection()
-        track_id = self.get_track(track, with_connection=connection, add=True)
+        track_id = self.get_track(track, with_connection=connection, add=add)
         rows = connection.execute(
             "SELECT id FROM blocklist WHERE track = ?", (track_id,))
         if not rows.fetchone():
             if not add:
+                if not with_connection:
+                    connection.close()
                 return None
             connection.execute('INSERT INTO blocklist (track) VALUES (?)',
                                (track_id,))
@@ -629,11 +631,13 @@ class SimaDB:
             connection = with_connection
         else:
             connection = self.get_database_connection()
-        album_id = self.get_album(album, with_connection=connection, add=True)
+        album_id = self.get_album(album, with_connection=connection, add=add)
         rows = connection.execute(
             "SELECT id FROM blocklist WHERE album = ?", (album_id,))
         if not rows.fetchone():
             if not add:
+                if not with_connection:
+                    connection.close()
                 return None
             connection.execute('INSERT INTO blocklist (album) VALUES (?)',
                                (album_id,))
@@ -654,7 +658,7 @@ class SimaDB:
             connection = with_connection
         else:
             connection = self.get_database_connection()
-        artist_id = self.get_artist(artist, with_connection=connection, add=True)
+        artist_id = self.get_artist(artist, with_connection=connection, add=add)
         rows = connection.execute(
             "SELECT id FROM blocklist WHERE artist = ?", (artist_id,))
         if not rows.fetchone():