X-Git-Url: http://git.osdn.net/view?p=rec10%2Frec10-git.git;a=blobdiff_plain;f=rec10%2Ftrunk%2Fsrc%2Frecdb.py;h=8f3b41b4eaeeca3cf9514bc065da7614b21889dc;hp=fb5dd103afede62ee22e3a5466a89ceb901f72a2;hb=d63ca135202a679bd918561b65e806966f94546e;hpb=2d2f20c74591c4b266075ad5110d410133cc556c diff --git a/rec10/trunk/src/recdb.py b/rec10/trunk/src/recdb.py index fb5dd10..8f3b41b 100644 --- a/rec10/trunk/src/recdb.py +++ b/rec10/trunk/src/recdb.py @@ -1,127 +1,36 @@ #!/usr/bin/python # coding: UTF-8 # Rec10 TS Recording Tools -# Copyright (C) 2009 Yukikaze +# Copyright (C) 2009-2011 Yukikaze import chdb +import n_gram import rec10d -import recdb -""" -task names -""" -global REC_RESERVE -global REC_FINAL_RESERVE -global REC_END -global REC_ENCODE_GRID -global REC_ENCODE_LOCAL -global REC_ENCODE_QUE -global REC_MIXING_SOUND -global REC_MISS_ENCODE -global REC_KEYWORD -global REC_KEYWORD_EVERY_SOME_DAYS -global REC_FIN_DECODE -global REC_FIN_LOCAL -global REC_MISS_DECODE -global REC_TS_DECODE_QUE -global REC_TS_DECODING -global REC_TS_RECORDING -global REC_AVI_TO_MKV -global REC_AVI_TO_MP4 -global REC_MKV_TO_MP4 -global REC_CHANGING_CANTAINER +import recdblist -#ここから処理のちに移動 -global REC_MOVE_AFTER_RECORD -global REC_MOVE_AFTER_RECORD_FINAL -global REC_MOVE_AFTER_RECORD_RECORDING -global REC_MOVE_AFTER_DECODE -global REC_MOVE_AFTER_DECODE_FINAL -global REC_MOVE_AFTER_DECODE_RECORDING -global REC_MOVE_AFTER_DECODE_DECODE_QUE -global REC_MOVE_AFTER_DECODE_DECODING -global REC_MOVE_AFTER_ENCODE -global REC_MOVE_AFTER_ENCODE_FINAL -global REC_MOVE_AFTER_ENCODE_RECORDING -global REC_MOVE_AFTER_ENCODE_DECODE_QUE -global REC_MOVE_AFTER_ENCODE_DECODING -global REC_MOVE_AFTER_ENCODE_ENCODE_QUE -global REC_MOVE_AFTER_ENCODE_ENCODING -global REC_MOVE_END - -#ここから自動で提起される処理。 -global REC_AUTO_SUGGEST_REC -global REC_AUTO_SUGGEST_DECODE -global REC_AUTO_SUGGEST_ENCODE -global REC_AUTO_SUGGEST_AVI2MP4 -global REC_AUTO_SUGGEST_MKV2MP4 -global REC_BAYES_SUGGEST -global REC_AUTO_KEYWORD -REC_RESERVE = "res" -REC_FINAL_RESERVE = "rec" -REC_END = "end" -REC_ENCODE_GRID = "grid" -REC_ENCODE_LOCAL = "local" -REC_ENCODE_QUE = "ts2avi" -REC_MIXING_SOUND = "mixsound" -REC_MISS_ENCODE = "miss" -REC_KEYWORD = "key" -REC_KEYWORD_EVERY_SOME_DAYS = "keyevery" -REC_FIN_DECODE = "tsfin" -REC_FIN_LOCAL = "fin_local" -REC_MISS_DECODE = "tsmiss" -REC_TS_DECODE_QUE = "b252ts" -REC_TS_DECODING = "tsdecoding" -REC_TS_RECORDING = "tsrecording" -REC_CHANGING_CANTAINER = "changingcontainer" -REC_AVI_TO_MKV = "avi2mkv" -REC_AVI_TO_MP4 = "avi2mp4" -REC_MKV_TO_MP4 = "mkv2mp4" - -REC_MOVE_AFTER_RECORD = "move_rec" -REC_MOVE_AFTER_RECORD_FINAL = "move_rec_final" -REC_MOVE_AFTER_RECORD_RECORDING ="move_rec_recording" -REC_MOVE_AFTER_DECODE = "move_dec" -REC_MOVE_AFTER_DECODE_FINAL = "move_dec_final" -REC_MOVE_AFTER_DECODE_RECORDING = "move_dec_recording" -REC_MOVE_AFTER_DECODE_DECODE_QUE ="move_dec_que" -REC_MOVE_AFTER_DECODE_DECODING = "move_dec_decoding" -REC_MOVE_AFTER_ENCODE = "move_enc" -REC_MOVE_AFTER_ENCODE_FINAL = "move_enc_final" -REC_MOVE_AFTER_ENCODE_RECORDING = "move_enc_recording" -REC_MOVE_AFTER_ENCODE_DECODE_QUE = "move_enc_decque" -REC_MOVE_AFTER_ENCODE_DECODING = "move_enc_decoding" -REC_MOVE_AFTER_ENCODE_ENCODE_QUE = "move_enc_encque" -REC_MOVE_AFTER_ENCODE_ENCODING = "move_enc_encoding" -REC_MOVE_END = "move_end" - -REC_AUTO_SUGGEST_REC = "auto_suggest_rec" -REC_AUTO_SUGGEST_DECODE = "auto_suggest_dec" -REC_AUTO_SUGGEST_ENCODE = "auto_suggest_enc" -REC_AUTO_SUGGEST_AVI2MP4 = "auto_suggest_a24" -REC_AUTO_SUGGEST_MKV2MP4 = "auto_suggest_m24" -REC_AUTO_KEYWORD = "auto_keyword" -REC_BAYES_SUGGEST ="bayes_suggest" - -def recreserv(title, chtxt, btime, etime, opt):#optにはa(アニメ)d(副音声)v(xvid) - rec_reckey("res", title, chtxt, btime, etime, opt) -def auto_keyreserv(keyword, chtxt, btime, etime, deltatime, opt): - rec10d.rec10db.add_rectime(type=recdb.REC_AUTO_KEYWORD, chtxt=chtxt, title=keyword, btime=btime, etime=etime, deltatime=deltatime, opt=opt) -def keyreserv(keyword, chtxt, btime, etime, deltatime, opt): - rec10d.rec10db.add_rectime(type=recdb.REC_KEYWORD, chtxt=chtxt, title=keyword, btime=btime, etime=etime, deltatime=deltatime, opt=opt) -def everyreserv(keyword, chtxt, btime, etime, deltatime, opt, deltaday): - rec10d.rec10db.add_rectime(type=recdb.REC_KEYWORD_EVERY_SOME_DAYS, chtxt=chtxt, title=keyword, btime=btime, etime=etime, deltatime=deltatime, opt=opt, deltaday=deltaday) -def rec_reckey(type, title, chtxt, btime, etime, opt): - rec10d.rec10db.add_rectime(type=type, chtxt=chtxt, title=title, btime=btime, etime=etime, opt=opt) -def del_reckey(type, title, chtxt, btime): - rec10d.rec10db.del_rectime(type=type, title=title, chtxt=chtxt, btime=btime) -def getnow(dhour): +def reserveKeyword(keyword, chtxt, btime, etime, deltatime, opt): + rec10d.rec10db.add_timeline(type=recdblist.REC_KEYWORD, chtxt=chtxt, title=keyword, btime=btime, etime=etime, deltatime=deltatime, opt=opt) +def reserveEverydayKeyword(keyword, chtxt, btime, etime, deltatime, opt, deltaday,count): + tcount=count + if tcount<0: + tcount=-1 + rec10d.rec10db.add_timeline(type=recdblist.REC_KEYWORD_EVERY_SOME_DAYS, chtxt=chtxt, title=keyword, btime=btime, etime=etime, deltatime=deltatime, opt=opt, deltaday=deltaday,counter=tcount) +def reserveReckey(type, title, chtxt, btime, etime, opt): + rec10d.rec10db.add_timeline(type=type, chtxt=chtxt, title=title, btime=btime, etime=etime, opt=opt) +def deleteReckey(type, title, chtxt, btime): + rec10d.rec10db.del_timeline(type=type, title=title, chtxt=chtxt, btime=btime) +def reserveAutoKeyword(chtxt,title,btime,etime): + rec10d.rec10db.add_auto_timeline_keyword(chtxt, title, btime, etime) +def addAutoBayesKeyword(chtxt,title,btime,etime,point): + rec10d.rec10db.add_auto_timeline_bayes(chtxt, title, btime, etime,point) +def getProgramsInTheseHours(dhour): dhour = int(dhour) dminutes = 60 * dhour dminutes = str(dminutes) - return rec10d.rec10db.select_bytime_rectime(dminutes) -def getnow_minutes(dminutes): - return rec10d.rec10db.select_bytime_rectime(dminutes) + return rec10d.rec10db.select_bytime_timeline(dminutes) +def getProgramsInTheseMinutes(dminutes): + return rec10d.rec10db.select_bytime_timeline(dminutes) def countRecNow(dhour): - d = getnow(dhour) + d = getProgramsInTheseHours(dhour) ret = 0 for i in d: t = i['type'] @@ -129,7 +38,7 @@ def countRecNow(dhour): ret = ret + 1 return ret def countRecNow_minutes(dminutes): - d = getnow_minutes(dminutes) + d = getProgramsInTheseMinutes(dminutes) ret = 0 for i in d: t = i['type'] @@ -137,31 +46,50 @@ def countRecNow_minutes(dminutes): ret = ret + 1 return ret def countRecNow_minutes_BSCS(dminutes): - d = getnow_minutes(dminutes) + d = getProgramsInTheseMinutes(dminutes) ret = 0 for i in d: t = i['type'] if t == "key" or t == "keyevery" or t == "rec" or t == "res": - if len(chdb.chtxtsearch(i['chtxt'])['ch']) > 2: + if len(chdb.searchCHFromChtxt(i['chtxt'])['ch']) > 2: ret = ret + 1 return ret def countRecNow_minutes_TE(dminutes): - d = getnow_minutes(dminutes) + d = getProgramsInTheseMinutes(dminutes) ret = 0 for i in d: t = i['type'] if t == "key" or t == "keyevery" or t == "rec" or t == "res": - if len(chdb.chtxtsearch(i['chtxt'])['ch']) < 3: + if len(chdb.searchCHFromChtxt(i['chtxt'])['ch']) < 3: ret = ret + 1 return ret -def delete_old(dhour): +def deleteOldProgramBeforeTheseHours(dhour): """ - delete keys except recdb.REC_MISS_ENCODE and recdb.REC_KEYWORD_EVERY_SOME_DAYS before dhour hours from now. + delete keys except recdblist.REC_MISS_ENCODE and recdblist.REC_KEYWORD_EVERY_SOME_DAYS before dhour hours from now. """ - rec10d.rec10db.delete_old_rectime(dhour) -def getall(): - return rec10d.rec10db.select_all_rectime() -def rec_reclog(title,chtxt,btime,etime,opt,exp,longexp,category): - rec10d.rec10db.add_reclog(chtxt,title,btime,etime,opt,exp,longexp,category) -def get_key(): - return rec10d.rec10db.select_all_recjbk() \ No newline at end of file + rec10d.rec10db.delete_old_timeline(dhour) +def delete_old_auto_keyword(dhour): + rec10d.rec10db.delete_old_auto_timeline_keyword(dhour) +def delete_old_auto_bayes(dhour): + rec10d.rec10db.delete_old_auto_timeline_bayes(dhour) +def getAll(): + return rec10d.rec10db.select_all_timeline() +def addRecLogProgram(title,chtxt,btime,etime,opt,exp,longexp,category): + rec10d.rec10db.add_in_timeline_log(chtxt,title,btime,etime,opt,exp,longexp,category) +def getAllJbkKeyword(): + return rec10d.rec10db.select_all_in_auto_jbk_key() +def checkDuplicated(title,chtxt,epgbtime,epgetime): + tl=rec10d.rec10db.select_byepgtime_all_timeline(epgbtime,epgetime) + nel=rec10d.rec10db.select_bytime_all_timeline(epgbtime, epgetime) + dup=0 + for t in tl: + if t["title"]==title and t["chtxt"]==chtxt: + dup=1 + elif n_gram.trigram(t["title"],title)> 500 and t["chtxt"]==chtxt: + dup=1 + for t in nel: + if t["title"]==title and t["chtxt"]==chtxt: + dup=1 + elif n_gram.trigram(t["title"],title)> 500 and t["chtxt"]==chtxt: + dup=1 + return dup