From e02c43267c63264e7a4fe688f6610671cb328404 Mon Sep 17 00:00:00 2001 From: Siarhei Fiedarcou Date: Tue, 24 Aug 2010 21:54:38 +0300 Subject: [PATCH] AudioDB class changes --- src/audiodb.py | 108 +++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 75 insertions(+), 33 deletions(-) diff --git a/src/audiodb.py b/src/audiodb.py index c94245e..c2bd8dc 100644 --- a/src/audiodb.py +++ b/src/audiodb.py @@ -96,64 +96,106 @@ class AudioDB: query.next() if not query.value(0).toString() in self.albums_dict: self.albums_dict[album] = query.value(0).toString() - print self.albums_dict[album] - print self.artists_dict[artist] - print song - print filename - print query.exec_("insert into songs (`album_id`, `artist_id`, `title`, `filename`) values ('%s', '%s', '%s', '%s')" % (self.albums_dict[album], self.artists_dict[artist], song, filename)) + query.exec_("insert into songs (`album_id`, `artist_id`, `title`, `filename`) values ('%s', '%s', '%s', '%s')" % (self.albums_dict[album], self.artists_dict[artist], song, filename)) except: pass def get_artists(self): - pass + query = QtSql.QSqlQuery() + query.exec_("select * from artists") + artists = [] + while query.next(): + artists.append((query.values(0).toString(), query.values(1).toString())) + return artists def get_albums(self, artist): - pass + query = QtSql.QSqlQuery() + query.exec_("select * from albums") + albums = [] + while query.next(): + albums.append((query.values(0).toString(), query.values(1).toString(), query.values(2).toString(), query.values(3).toString())) + return albums + def get_songs(self, artist, album): - pass + query = QtSql.QSqlQuery() + query.exec_("select * from songs") + songs = [] + while query.next(): + albums.append((query.values(0).toString(), query.values(1).toString(), query.values(2).toString(), query.values(3).toString(), query.values(4).toString())) + return songs + - def delete_artist(self, artist_name): + def delete_artist(self, artist_id): query = QtSql.QSqlQuery() - query.exec_("delete from %s where artist='%s'" % (self.name, artist_name)) + query.exec_("delete from artists where `artist_id`=%s" % artist_id) + query.exec_("delete from albums where `artist_id`=%s" % artists_id) + query.exec_("delete from songs where `artists_id`=%s" % artists_id) def delete_year(self): pass - def delete_album(self): - pass + def delete_album(self, album_id): + query = QtSql.QSqlQuery() + query.exec_("delete from albums where `album_id`=%s" % album_id) + query.exec_("delete from songs where `album_id`=%s" % album_id) - def delete_song(self): - pass - def rename_artist(self): - pass + def delete_song(self, song_id): + query = QtSql.QSqlQuery() + query.exec_("delete from songs where `song_id`=%s" % song_id) + + + def rename_artist(self, artist_id, new_title): + query = QtSql.QSqlQuery() + query.exec_("update artists set `title`=%s where `artist_id`=%s" % (new_title, artist_id)) + query.exec_("select filename from songs where `artist_id`=%s" % artist_id) + while query.next(): + id3 = EasyID3(query.values(0).toString()) + id3["artist"] = new_title + id3.save() + def rename_year(self): pass - def rename_album(self): - pass + def rename_album(self, album_id, new_title): + query = QtSql.QSqlQuery() + query.exec_("update albums set `title`=%s where `album_id`=%s" % (new_title, album_id)) + query.exec_("select filename from songs where `album_id`=%s" % album_id) + while query.next(): + id3 = EasyID3(query.values(0).toString()) + id3["album"] = new_title + id3.save() + + def rename_song(self, song_id, new_title): + query = QtSql.QSqlQuery() + query.exec_("update songs set `title`=%s where `song_id`=%s" % (new_title, song_id)) + query.exec_("select filename from songs where `song_id`=%s" % song_id) + while query.next(): + id3 = EasyID3(query.values(0).toString()) + id3["title"] = new_title + id3.save() - def rename_song(self): - pass -a = AudioDB() -a.create_new("foo", "/home/miksayer/Files/Music/Hardcore/") #-------------------------------------------------- -# db = QtSql.QSqlDatabase.addDatabase("QSQLITE") -# db.setDatabaseName("foo") -# db.open() -# -# query = QtSql.QSqlQuery() -# query.exec_("select * from artists") -# while (query.next()): -# print query.value(0).toString() -# print query.value(1).toString() +# a = AudioDB() +# a.create_new("foo", "/home/miksayer/Files/Music/Hardcore/") +# #-------------------------------------------------- +# # db = QtSql.QSqlDatabase.addDatabase("QSQLITE") +# # db.setDatabaseName("foo") +# # db.open() +# # +# # query = QtSql.QSqlQuery() +# # query.exec_("select * from artists") +# # while (query.next()): +# # print query.value(0).toString() +# # print query.value(1).toString() +# #-------------------------------------------------- +# # db.close() +# a.close() #-------------------------------------------------- -# db.close() -a.close() -- 2.11.4.GIT