Began work on scanning / updating a library

This commit is contained in:
bjschuma 2010-01-30 17:02:43 -05:00
parent 1d0a216c12
commit 5dc8dc52e9
2 changed files with 89 additions and 0 deletions

84
src/core/ct/update.py Normal file
View File

@ -0,0 +1,84 @@
#! /usr/bin/python
# To change this template, choose Tools | Templates
# and open the template in the editor.
__author__="bjschuma"
__date__ ="$Jan 30, 2010 3:57:53 PM$"
from bt import sql
from bt import needle
from bt.file import *
from bt.message import write
import tagpy
global total
global scanned
global added
total = 0
added = 0
scanned = 0
def incr(path):
global total
total += 1
def addtrk(path):
global added
global scanned
scanned += 1
try:
f = tagpy.FileRef(path)
added += 1
except:
pass
def scan((dir,func)):
files = ls(dir)
for file in files:
path = join(dir,file)
if checkDir(path) == True:
scan((path,func))
else:
func(path)
def go(name):
global total
global added
global scanned
total = 0
added = 0
scanned = 0
sel = sql.Select("id,path","library","name='"+name+"'")
result = sel.execute().fetchall()
if result == []:
return
libid = result[0][0]
path = result[0][1]
# Start a thread to count the total number of files to scan
totthr = needle.Needle(scan,(path,incr))
totthr.start()
scthr = needle.Needle(scan,(path,addtrk))
scthr.start()
#scan(path, incr)
#write(path)
#totthr.join()
#write(str(total) + " Files to scan")
def prcnt():
global total
global scanned
global added
write( str(scanned) + " / " + str(total) )
write( "Added " + str(added) + " tracks." )

View File

@ -8,6 +8,7 @@ from bt import plugin
from bt.file import expandPath from bt.file import expandPath
from bt.message import write from bt.message import write
from ct import db from ct import db
from ct import update
class Plugin(plugin.Plugin): class Plugin(plugin.Plugin):
@ -50,3 +51,7 @@ class Plugin(plugin.Plugin):
db.listlib() db.listlib()
elif args[0] == "remove": elif args[0] == "remove":
self.remove(args[1:]) self.remove(args[1:])
elif args[0] == "update":
update.go(args[1])
elif args[0] == "prcnt":
update.prcnt()