#!/usr/bin/env python
#coding:gbk
import re
import sys
from MySQLdb import *
from glob import glob
import cPickle as pickle
threadsafety = 3
conn = connect("ip","uname","upwd","db")
tag = False
aaaid = 3520000
bbbid = 3520000
def mp3_query(sql,s=None):
cur = cursors.DictCursor(conn)
ix = 0
try:
ix = cur.execute(sql)
except Exception,err:
print sql,err,"3"
return
if s == 1:
data = cur.fetchall()
cur.close()
return data
else:
cur.close()
return ix
def gs():
global aaaid
path = '/www/scripts/stat/mp3/test/zsc/artist2/artist_*'
list = glob(path)
for z in list:
gf = open(z,"r")
l = pickle.load(gf)
gf.close()
if type(l) == list:
for i in l:
name = str_code(i["name"])
if name:
sql = '''select * from mp3_artist_info where artistname="%s" ''' %(name)
data = mp3_query(sql,1)
sum = len(data)
intro = str_code(i['intro'])
img = i['img']
isi = intro and 1 or 0
if sum > 1 :
errors = "artistname:%s\tsum:%s\n" %(name,sum);
logfile = open('artist_data_more','a')
logfile.write(errors)
logfile.close()
elif sum == 1 :
artistid = data[0]["artistid"]
sql = '''update mp3_artist_info set imagepath = "%s",hasintro="%s" where artistid = "%s" limit 1''' %(img,isi,artistid)
mp3_query(sql)
intro_data(intro,artistid)
else:
aaaid +=1
sql = '''insert into mp3_artist_info set artistid=%s,artistname="%s",imagepath="%s",hasintro="%s" ''' %(aaaid,name,img,isi)
mp3_query(sql)
intro_data(intro,aaaid)
def zj():
global bbbid
path = '/www/scripts/stat/mp3/test/zsc/album2/album_*'
list = glob(path)
for z in list:
gf = open(z,"r")
l = pickle.load(gf)
gf.close()
if type(l) == list :
for i in l:
name = str_code(i["name"])
title = str_code(i["title"])
if name and title:
sql = 'select * from mp3_artist_info where artistname="%s" limit 1' %(name)
tdata = mp3_query(sql,1i)
if len(tdata)>0:
artistid = tdata[0]["artistid"]
if artistid > 0:
sql = '''select * from mp3_album_info where albumname="%s" and artistid=%s ''' %(title,artistid)
mdata = mp3_query(sql,1)
sum = len(mdata)
img = i['img']
intro = str_code(i["intro"])
isi = intro and 1 : 0
dt = i['date']
if sum > 0 :
albumid = mdata[0]["albumid"]
sql = '''update mp3_album_info set imagepath = "%s",hasintro="%s",publishdate="%s" where albumid = "%s" limit 1''' %(img,isi,dt,albumid)
ix = mp3_query(sql)
if ix:
intro_data(i['intro'],albumid,2)
else:
bbbid +=1
sql = '''insert into mp3_album_info set albumid=%s,artistid=%s,albumname="%s",imagepath="%s",hasintro="%s",publishdate="%s" ''' %(bbbid,artistid,title,img,isi,dt)
ix = mp3_query(sql)
if ix:
intro_data(intro,bbbid,2)
def intro_data(intro,qid,tp=1):
if intro and qid>0 :
sid = "%s" %qid
i = sid[-1]
if tp == 1:
tb1 = "mp3_artist_intro_%s" %i
tb2 = "mp3_artist_intro"
wid = "artistid"
else:
tb1 = "mp3_album_intro_%s" %i
tb2 = "mp3_album_intro"
wid = "albumid"
create_table(tb1,tb2)
sql = '''insert into %s set %s=%s,intro="%s" ''' %(tb1,wid,qid,intro)
mp3_query(sql)
def str_code(s):
if s:
s = s.decode("gbk")
s = re.escape(s)
return name
def create_table(tb1,tb2):
sql = "create table if not exists %s like %s;" %(tb1,tb2)
mp3_query(sql)
zj2();
conn.close()