# Copyright (C) 2009 Yukikaze
import os
import sqlite3
-#import japanesenkf
-#japanesenkf.overrideEncodings()
+import recdb
dbpath=str(os.path.dirname(os.path.abspath(__file__)))+"/"+"ch.db"
db=sqlite3.connect(dbpath)
-#try:
-#db.execute('drop table rectime')
-#db.commit()
-#except:
- # test=""
+
+global REC_RESERVE
+REC_RESERVE="res"
+global REC_FINAL_RESERVE
+REC_FINAL_RESERVE="rec"
+global REC_END
+REC_END="end"
+global REC_GRID
+REC_GRID="grid"
+global REC_ENCODE_QUE
+REC_ENCODE_QUE="ts2avi"
+global REC_MIXING_SOUND
+REC_MIXING_SOUND="mixsound"
+global REC_MISS_ENCODE
+REC_MISS_ENCODE="miss"
+global REC_KEYWORD
+REC_KEYWORD="key"
+global REC_KEYWORD_EVERY_SOME_DAYS
+REC_KEYWORD_EVERY_SOME_DAYS="keyevery"
+global REC_FIN_DECODE
+REC_FIN_DECODE="tsfin"
+global REC_MISS_DECODE
+REC_MISS_DECODE="tsmiss"
+global REC_TS_DECODING
+REC_TS_DECODING="tsdecoding"
try:
db.execute('create table rectime (type TEXT,chtxt TEXT,title TEXT,btime TEXT,etime TEXT,deltatime TEXT,deltaday TEXT,opt TEXT,id INTEGER PRIMARY KEY,UNIQUE(type,chtxt,title,btime,deltaday))')
except:
#print "テーブル作成に失敗しました"
- ""
db.commit()
db.close()
def recreserv(title,chtxt,btime,etime,opt):#optにはa(アニメ)d(副音声)v(xvid)
- db=sqlite3.connect(dbpath)
- recline="\"res\",\""+chtxt+"\",\""+title+"\",datetime(\""+btime+"\"),datetime(\""+etime+"\"),\""+opt+"\""
- db.execute('insert into rectime ("type","chtxt","title","btime","etime","opt") values ('+recline+')')
- db.commit()
- db.close()
+ rec_reckey("res",title,chtxt,btime,etime,opt)
def keyreserv(keyword,chtxt,btime,etime,deltatime,opt):
db=sqlite3.connect(dbpath)
- recline="\"key\",\""+chtxt+"\",\""+keyword+"\",datetime(\""+btime+"\"),datetime(\""+etime+"\"),\""+deltatime+"\",\""+opt+"\""
+ recline="\""+recdb.REC_KEYWORD+"\",\""+chtxt+"\",\""+keyword+"\",datetime(\""+btime+"\"),datetime(\""+etime+"\"),\""+deltatime+"\",\""+opt+"\""
db.execute('insert into rectime ("type","chtxt","title","btime","etime","deltatime","opt") values ('+recline+')')
db.commit()
db.close()
def everyreserv(keyword,chtxt,btime,etime,deltatime,opt,deltaday):
db=sqlite3.connect(dbpath)
- recline="\"keyevery\",\""+chtxt+"\",\""+keyword+"\",datetime(\""+btime+"\"),datetime(\""+etime+"\"),\""+deltatime+"\",\""+opt+"\",\""+deltaday+"\""
+ recline="\""+recdb.REC_KEYWORD_EVERY_SOME_DAYS+"\",\""+chtxt+"\",\""+keyword+"\",datetime(\""+btime+"\"),datetime(\""+etime+"\"),\""+deltatime+"\",\""+opt+"\",\""+deltaday+"\""
db.execute('insert into rectime ("type","chtxt","title","btime","etime","deltatime","opt","deltaday") values ('+recline+')')
db.commit()
db.close()
def lastrecreserv(title,chtxt,btime,etime,opt):#optにはa(アニメ)d(副音声)v(xvid)##btimeなどは2006-07-17 13:25:23の形
- db=sqlite3.connect(dbpath)
- recline="\"rec\",\""+chtxt+"\",\""+title+"\",datetime(\""+btime+"\"),datetime(\""+etime+"\"),\""+opt+"\""
- #db.execute('insert into rectime ("type","chtxt","title","btime","etime","opt") values ('+recline+')')
- db.execute('insert into rectime (type,chtxt,title,btime,etime,opt) values ('+recline+')')
- db.commit()
- db.close()
+ """
+ Caution this is old function and you should not use it.
+ Please use rec_reckey(recdb.REC_FINAL_RESERVE,title,chtxt,btime,etime,opt) instead of lastrecreserv(title,chtxt,btime,etime,opt)
+ """
+ rec_reckey(recdb.REC_FINAL_RESERVE,title,chtxt,btime,etime,opt)
def misrecwrite(title,chtxt,btime,etime,opt):
- db=sqlite3.connect(dbpath)
- recline="\"miss\",\""+chtxt+"\",\""+title+"\",datetime(\""+btime+"\"),datetime(\""+etime+"\"),\""+opt+"\""
- #db.execute('insert into rectime ("type","chtxt","title","btime","etime","opt") values ('+recline+')')
- db.execute('insert into rectime (type,chtxt,title,btime,etime,opt) values ('+recline+')')
- db.commit()
- db.close()
+
+ """
+ Caution this is old function and you should not use it.
+ Please use rec_reckey(recdb.REC_MISS_ENCODE,title,chtxt,btime,etime,opt) instead.
+ """
+ rec_reckey(recdb.REC_MISS_ENCODE,title,chtxt,btime,etime,opt)
def recend(title,chtxt,btime,etime,opt):#optにはa(アニメ)d(副音声)v(xvid)
- db=sqlite3.connect(dbpath)
- recline="\"end\",\""+chtxt+"\",\""+title+"\",datetime(\""+btime+"\"),datetime(\""+etime+"\"),\""+opt+"\""
- db.execute('insert into rectime ("type","chtxt","title","btime","etime","opt") values ('+recline+')')
- db.commit()
- db.close()
+ """
+ Caution this is old function and you should not use it.
+ Please use rec_reckey(recdb.REC_END,title,chtxt,btime,etime,opt) instead.
+ """
+ rec_reckey(recdb.REC_END,title,chtxt,btime,etime,opt)
def rec_reckey(type,title,chtxt,btime,etime,opt):
db=sqlite3.connect(dbpath)
recline="\""+type+"\",\""+chtxt+"\",\""+title+"\",datetime(\""+btime+"\"),datetime(\""+etime+"\"),\""+opt+"\""
db.commit()
db.close()
def delrec(title,chtxt,btime):
- db=sqlite3.connect(dbpath)
- db.execute("delete from rectime where type = \'res\' AND title = \'"+title+"\' AND chtxt = \'"+chtxt+"\' AND btime = datetime(\""+btime+"\")")
- db.commit()
- db.close()
+ """
+ Caution this is old function and you should not use it.
+ Please use del_reckey(recdb.REC_RESERVE,title,chtxt,btime) instead.
+ """
+ del_reckey(recdb.REC_RESERVE,title,chtxt,btime)
def delkey(keyword,chtxt,btime,deltatime):
- db=sqlite3.connect(dbpath)
- db.execute("delete from rectime where deltatime = \'"+deltatime+"\' AND type = \'key\' AND title = \'"+keyword+"\' AND chtxt = \'"+chtxt+"\' AND btime = datetime(\""+btime+"\")")
- db.commit()
- db.close()
+ """
+ Caution this is old function and you should not use it.
+ Please use del_reckey(recdb.REC_FINAL_RESERVE,keyword,chtxt,btime) instead.
+ """
+ del_reckey(recdb.REC_KEYWORD,keyword,chtxt,btime)
def dellastrec(title,chtxt,btime):
- db=sqlite3.connect(dbpath)
- db.execute("delete from rectime where type = \'rec\' AND title = \'"+title+"\' AND chtxt = \'"+chtxt+"\' AND btime = datetime(\""+btime+"\")")
- db.commit()
- db.close()
+ """
+ Caution this is old function and you should not use it.
+ Please use del_reckey(recdb.REC_FINAL_RESERVE,title,chtxt,btime) instead.
+ """
+ del_reckey(recdb.REC_FINAL_RESERVE,title,chtxt,btime)
def delevery(keyword,chtxt,btime,deltatime,deltaday):
- db=sqlite3.connect(dbpath)
- db.execute("delete from rectime where deltaday = \'"+deltaday+"\' AND deltatime = \'"+deltatime+"\' AND type = \'keyevery\' AND title = \'"+keyword+"\' AND chtxt = \'"+chtxt+"\' AND btime = datetime(\""+btime+"\")")
- db.commit()
- db.close()
+ """
+ Caution this is old function and you should not use it.
+ Please use del_reckey(recdb.REC_FINAL_RESERVE,keyword,chtxt,btime) instead.
+ """
+ del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS,keyword,chtxt,btime)
def delend(title,chtxt,btime):
- db=sqlite3.connect(dbpath)
- db.execute("delete from rectime where type = \'end\' AND title = \'"+title+"\' AND chtxt = \'"+chtxt+"\' AND btime = datetime(\""+btime+"\")")
- db.commit()
- db.close()
-
+ """
+ Caution this is old function and you should not use it.
+ Please use del_reckey(recdb.REC_END,title,chtxt,btime) instead.
+ """
+ del_reckey(recdb.REC_END,title,chtxt,btime)
def deltitle(key):
db=sqlite3.connect(dbpath)
i=0
db.execute("delete from rectime where type = \'"+type+"\' AND title = \'"+title+"\' AND chtxt = \'"+chtxt+"\' AND btime = datetime(\""+btime+"\")")
db.commit()
db.close()
-"""def delkeyword(key):
- db=sqlite3.connect(dbpath)
- i=0
- #print "SELECT * FROM rectime WHERE keyword like \'%"+key+"+%\'"
- for keyword in db.execute("SELECT * FROM rectime WHERE keyword like \'%"+key+"%\'"):
- i=i+1
- print keyword
- print i
- if i==1:
- db.execute("delete from rectime where keyword like \'%"+key+"%\'")
- db.commit()
- db.close()
- """
def getnow(dhour):
db=sqlite3.connect(dbpath)
- recdata=[]
- db.execute("DELETE FROM rectime WHERE NOT ( type = \"miss\" OR type = \"keyevery\" ) AND btime < datetime(\'now\',\'localtime\',\'-"+dhour+" hours\')")
+ recdatum=[]
for typet, chtxt, title, btime, etime, deltatime ,deltaday ,opt in db.execute("SELECT type, chtxt, title, DATETIME(btime), DATETIME(etime), deltatime ,deltaday ,opt FROM rectime WHERE btime < datetime(\'now\',\'localtime\',\'+"+dhour+" hours\') AND btime >datetime(\'now\',\'localtime\',\'-"+dhour+" hours\')"):
ret={}
ret['type']=typet
elif typet=='keyevery':
ret['deltatime']=deltatime
ret['deltaday']=deltaday
- recdata.append(ret)
- """
- if typet=='res':
- ret={}
- ret['type']='res'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
- #print ret
- recdata.append(ret)
- elif typet=='rec':
- ret={}
- ret['type']='rec'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
- #print title.encode('utf-8')
- recdata.append(ret)
- elif typet=='key':
- ret={}
- ret['type']='key'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['deltatime']=deltatime
- ret['opt']=opt
- recdata.append(ret)
- elif typet=='keyevery':
- ret={}
- ret['type']='keyevery'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['deltatime']=deltatime
- ret['opt']=opt
- ret['deltaday']=deltaday
- recdata.append(ret)
- elif typet=='end':
- ret={}
- ret['type']='end'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
- #print ret
- recdata.append(ret)
- elif typet=='miss':
- ret={}
- ret['type']='miss'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
- #print ret
- recdata.append(ret)
- elif typet=='b25-avi':
- ret={}
- ret['type']='b25-avi'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
- #print ret
- recdata.append(ret)
-
- """
+ recdatum.append(ret)
+ db.commit()
+ db.close()
+ return recdatum
+def delete_old(dhour):
+ """
+ delete keys except recdb.REC_MISS_ENCODE and recdb.REC_KEYWORD_EVERY_SOME_DAYS before dhour hours from now.
+ """
+ db=sqlite3.connect(dbpath)
+ db.execute("DELETE FROM rectime WHERE NOT ( type = \""+recdb.REC_MISS_ENCODE+"\" OR type = \""+recdb.REC_KEYWORD_EVERY_SOME_DAYS+"\" ) AND btime < datetime(\'now\',\'localtime\',\'-"+dhour+" hours\')")
db.commit()
db.close()
- return recdata
def getall():
db=sqlite3.connect(dbpath)
recdata=[]
ret['deltatime']=deltatime
ret['deltaday']=deltaday
recdata.append(ret)
- """
- if typet=='res':
- ret={}
- ret['type']='res'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
- #print ret
- recdata.append(ret)
- elif typet=='rec':
- ret={}
- ret['type']='rec'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
- #print ret
- recdata.append(ret)
- elif typet=='key':
- ret={}
- ret['type']='key'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['deltatime']=deltatime
- ret['opt']=opt
- recdata.append(ret)
- elif typet=='keyevery':
- ret={}
- ret['type']='keyevery'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['deltatime']=deltatime
- ret['opt']=opt
- ret['deltaday']=deltaday
- recdata.append(ret)
- if typet=='miss':
- ret={}
- ret['type']='miss'
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
- #print ret
- recdata.append(ret)
-
- """
db.close()
return recdata