# Rec10 TS Recording Tools
# Copyright (C) 2009 Yukikaze
import os
-import time
-import sqlite3
+import rec10d
import chdb
import datetime
import ts2epg
ts2epg.write(tmppath+"epgdate.xml",chdb.bctypesearch(bctype)['ch'])
xml2db.xml2db(tmppath+"epgdate.xml",path+"ch.db",bctype)
break
- except:
+ except Exception,inst:
+ print type(inst)
+ print inst
i=i+1
def updateall():
update("hisch")
update("bs-nhk-1")
def search(titletxt):
- dbpath=path+"ch.db"
- db=sqlite3.connect(dbpath)
- #print dbpath
- ret=[]
- for ch, title, start, stop in db.execute("SELECT channel,title,start,stop FROM tv WHERE title LIKE \"%"+titletxt+"%\""):
- btime=start.replace(" +0900","")
- btime=btime[0:4]+"-"+btime[4:6]+"-"+btime[6:8]+" "+btime[8:10]+":"+btime[10:12]+":00"
- etime=stop.replace(" +0900","")
- etime=etime[0:4]+"-"+etime[4:6]+"-"+etime[6:8]+" "+etime[8:10]+":"+etime[10:12]+":00"
- try:
- chtxt=chdb.ontvsearch(ch)['chtxt']
- except:
- chtxt="Unknown"
- #print ch
- ret.append(chtxt+","+title.encode('utf-8')+","+btime+","+etime)
- db.close()
- return ret
-def searchtime(titletxt,time,deltatime):#時間以内のものだけを表示 deltatimeはhours
- dbpath=path+"ch.db"
- db=sqlite3.connect(dbpath)
- #print dbpath
- ret=[]
- deltatime=int(deltatime)
- for ch, title, start, stop in db.execute("SELECT channel,title,start,stop FROM tv WHERE title LIKE \"%"+titletxt+"%\""):
- btime=start.replace(" +0900","")
- btime=btime[0:4]+"-"+btime[4:6]+"-"+btime[6:8]+" "+btime[8:10]+":"+btime[10:12]+":00"
- etime=stop.replace(" +0900","")
- etime=etime[0:4]+"-"+etime[4:6]+"-"+etime[6:8]+" "+etime[8:10]+":"+etime[10:12]+":00"
- bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
- t=datetime.datetime.strptime(time,"%Y-%m-%d %H:%M:%S")
- try:
- chtxt=chdb.ontvsearch(ch)['chtxt']
- except:
- chtxt="Unknown"
- #print ch
- dt=bt-t
- dt=dt.days*24*60*60+dt.seconds
- dt=abs(dt)
- if dt<deltatime*60*60:
- ret.append(chtxt+","+title.encode('utf-8')+","+btime+","+etime)
- print title
- db.close()
- return ret
+ return rec10d.rec10db.select_by_title_tv(titletxt)
def searchtime2(titletxt,timet,deltatime,chtxt):
time=datetime.datetime.strptime(timet,"%Y-%m-%d %H:%M:%S")
- dbpath=path+"ch.db"
- db=sqlite3.connect(dbpath)
- #print dbpath
ret=[]
deltatime=int(deltatime)
beforetime=time.strftime("%Y%m%d%H%M%S")
aftertime=time+datetime.timedelta(hours=deltatime)
aftertime=aftertime.strftime("%Y%m%d%H%M%S")
- dbexe="SELECT chdata.chtxt,title,start,stop FROM tv INNER JOIN chdata WHERE chdata.ontv=tv.channel AND start >= \""+beforetime+"\" AND start <= \""+aftertime+"\" AND chdata.chtxt=\""+chtxt+"\""
- #print dbexe
one={}
tempt=0
- for chtxtt, title, start, stop in db.execute(dbexe):
+ d=rec10d.rec10db.select_by_time_ngram_tv(beforetime,aftertime,chtxt)
+ print d
+ for chtxtt, title, start, stop in d:
+ print chtxtt+":"+title+":"+start+":"+stop
ret=[]
p=n_gram.bigram(titletxt,title)
btime=start
tempt=p
if p>0:
print title+":"+str(p)+"点"
- db.close()
ret.append(one)
print ret
return ret