From 22f9d8108fe4eaf122f689f129e7d9e5e1b29b3e Mon Sep 17 00:00:00 2001 From: bjschuma Date: Sun, 31 Jan 2010 16:46:24 -0500 Subject: [PATCH] Find songs to remove when removing a library --- src/core/ct/db.py | 25 +++++++++++++++++++++++-- src/core/library.py | 2 +- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/core/ct/db.py b/src/core/ct/db.py index ccd387e3..84a19942 100644 --- a/src/core/ct/db.py +++ b/src/core/ct/db.py @@ -8,6 +8,7 @@ __date__ ="$Jan 27, 2010 6:21:27 PM$" from bt.message import write +from sqlite3 import * from bt import sql def init(): @@ -56,8 +57,28 @@ def newlib(name,path): def rmlib(name): - rm = sql.Remove("library","name='"+name+"'") - rm.execute() + sel = sql.Select("id","library","name='"+name+"'") + result = sel.execute().fetchall() + if result == []: + return + libid = result[0][0] + + sel = sql.Select("track","libtrack","library="+str(libid)) + result = sel.execute().fetchall() + + for track in result: + where = "track="+str(track[0])+" AND library!="+str(libid) + sel = sql.Select("track,library","libtrack",where ) + r = sel.execute().fetchall() + # If track is not in any other library, it can be removed + if r == []: + write(r) + + + + #rm = sql.Remove("library","name='"+name+"'") + #rm.execute() + #write("Removed library: "+str(libid)) def listlib(): diff --git a/src/core/library.py b/src/core/library.py index 0621aa5e..635cf890 100644 --- a/src/core/library.py +++ b/src/core/library.py @@ -15,7 +15,7 @@ class Plugin(plugin.Plugin): def __init__(self): plugin.Plugin.__init__(self) self.help = "Used to access various parts of the library" - self.usage = "library [create, list]" + self.usage = "library [create, list, prcnt, remove, update]" def create(self,args):