# Rec10 TS Recording Tools
# Copyright (C) 2009 Yukikaze
import cgi
-import cgitb;cgitb.enable()
+import cgitb
import rec10web_dbMySQL
import rec10web_dbSQLite
import os
import rec10web_dbSQLite
import ConfigParser
import time
-
-path=str(os.path.dirname(os.path.abspath(__file__)))+"/"
-confp=ConfigParser.SafeConfigParser()
-Conf='config.ini'
-confp.read(path+Conf)
+cgitb.enable()
+path = str(os.path.dirname(os.path.abspath(__file__))) + "/"
+confp = ConfigParser.SafeConfigParser()
+Conf = 'config.ini'
+confp.read(path + Conf)
global f
-f=cgi.FieldStorage()
+f = cgi.FieldStorage()
def getpath(string):
global confp
- return confp.get('path',string)
+ return confp.get('path', string)
def getdbpath(string):
global confp
- return confp.get('db',string)
+ return confp.get('db', string)
def getdb():
- retdb=""
- if getdbpath('db')=='MySQL':
- dbn=getdbpath("mysql_dbname")
- dbh=getdbpath("mysql_host")
- dbu=getdbpath("mysql_user")
- dbpwd=getdbpath("mysql_passwd")
- dbport=int(getdbpath("mysql_port"))
- retdb=rec10web_dbMySQL.DB_MySQL(dbname=dbn,host=dbh,user=dbu,passwd=dbpwd,port=dbport)
+ retdb = ""
+ if getdbpath('db') == 'MySQL':
+ dbn = getdbpath("mysql_dbname")
+ dbh = getdbpath("mysql_host")
+ dbu = getdbpath("mysql_user")
+ dbpwd = getdbpath("mysql_passwd")
+ dbport = int(getdbpath("mysql_port"))
+ retdb = rec10web_dbMySQL.DB_MySQL(dbname=dbn, host=dbh, user=dbu, passwd=dbpwd, port=dbport)
else:
- retdb=rec10web_dbSQLite.DB_SQLite(dbpath)
+ retdb = rec10web_dbSQLite.DB_SQLite(dbpath)
return retdb
def getRecDate():
- dl=database.select_all_rectime()
- recdata="id,type,chtxt,title,btime,etime,deltaday,opt\n"
+ dl = database.select_all_rectime()
+ recdata = "id,type,chtxt,title,btime,etime,deltaday,opt\n"
#print dl
for d in dl:
- id=d['id']
- typet=d['type']
- chtxt=d['chtxt']
- title=d['title']
- btime=d['btime']
- etime=d['etime']
- deltatime=d['deltatime']
- deltaday=d['deltaday']
- opt=d['opt']
- if deltaday==None:
- deltaday="なし"
- elif deltaday=="":
- deltaday="なし"
- if opt==None:
- opt="なし"
- if typet=="res":
- typet="一回予約"
- elif typet=="key":
- typet="検索予約"
- elif typet=="keyevery":
- typet="隔週予約"
- elif typet=="res":
- typet="録画最終"
- elif typet=="grid":
- typet="外部委託"
- elif typet=="ts2avi":
- typet="縁故予約"
- elif typet=="b252ts":
- typet="復号予約"
+ id = d['id']
+ typet = d['type']
+ chtxt = d['chtxt']
+ title = d['title']
+ btime = d['btime']
+ etime = d['etime']
+ deltatime = d['deltatime']
+ deltaday = d['deltaday']
+ opt = d['opt']
+ if deltaday == None:
+ deltaday = "なし"
+ elif deltaday == "":
+ deltaday = "なし"
+ if opt == None:
+ opt = "なし"
+ if typet == "res":
+ typet = "一回予約"
+ elif typet == "key":
+ typet = "検索予約"
+ elif typet == "keyevery":
+ typet = "隔週予約"
+ elif typet == "res":
+ typet = "録画最終"
+ elif typet == "grid":
+ typet = "外部委託"
+ elif typet == "ts2avi":
+ typet = "縁故予約"
+ elif typet == "b252ts":
+ typet = "復号予約"
#print btime
- btime=btime[5:16]
- etime=etime[5:16]
- btime=btime.replace("-","/")
- etime=etime.replace("-","/")
- if btime[0:5]==etime[0:5]:
- etime=etime[6:]
- s="\""+str(id)+"\",\""+typet+"\",\""+chtxt+"\",\""+title+"\",\""+btime+"\",\""+etime+"\",\""+deltaday+"\",\""+opt+"\"\n"
- s=str(id)+","+typet+","+chtxt+","+title+","+btime+","+etime+","+deltaday+","+opt+"\n"
- recdata=recdata+s
- f=open(path+"/recdatum.csv","w")
+ btime = btime[5:16]
+ etime = etime[5:16]
+ btime = btime.replace("-", "/")
+ etime = etime.replace("-", "/")
+ if btime[0:5] == etime[0:5]:
+ etime = etime[6:]
+ s = "\"" + str(id) + "\",\"" + typet + "\",\"" + chtxt + "\",\"" + title + "\",\"" + btime + "\",\"" + etime + "\",\"" + deltaday + "\",\"" + opt + "\"\n"
+ s = str(id) + "," + typet + "," + chtxt + "," + title + "," + btime + "," + etime + "," + deltaday + "," + opt + "\n"
+ recdata = recdata + s
+ f = open(path + "/recdatum.csv", "w")
f.write(recdata)
f.close()
def getiEPGDate():
- dl=database.select_all_iepg()
- recdata="id,name,chtxt\n"
+ dl = database.select_all_iepg()
+ recdata = "id,name,chtxt\n"
#print dl
- s=""
+ s = ""
for d in dl:
- s=s+d[0]+","+d[1]+","+d[2]+"\n"
- recdata=recdata+s
- f=open(path+"/iepgdatum.csv","w")
+ s = s + d[0] + "," + d[1] + "," + d[2] + "\n"
+ recdata = recdata + s
+ f = open(path + "/iepgdatum.csv", "w")
f.write(recdata)
f.close()
def getchtxt():
- dl=database.select_all_chdata()
- chopt=""
- for bctype, ontv, chtxt, ch, csch ,updatetime in dl:
- chdisplay=""
- for bctype,channel,display in database.select_by_ontv_ch(ontv):
- chdisplay=display
- if chdisplay!="":
- chopt=chopt+"<option value="+chtxt+">"+chdisplay+"</option>\n "
+ dl = database.select_all_chdata()
+ chopt = ""
+ for bctype, ontv, chtxt, ch, csch, updatetime in dl:
+ chdisplay = ""
+ for bctype, channel, display in database.select_by_ontv_ch(ontv):
+ chdisplay = display
+ if chdisplay != "":
+ chopt = chopt + "<option value=" + chtxt + ">" + chdisplay + "</option>\n "
return chopt
def edit_date(id):
- ret=database.select_by_id_rectime(id)
+ ret = database.select_by_id_rectime(id)
return ret[0]
-def reserv_recday(keyword,chtxt,btime,etime,deltatime,opt,deltaday,day):
+def reserv_recday(keyword, chtxt, btime, etime, deltatime, opt, deltaday, day):
"""
dayは月曜日を1日曜日を7とした数字
"""
#bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
#et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
- bt=datetime.datetime(*time.strptime(btime,"%Y-%m-%d %H:%M:%S")[:-3])
- et=datetime.datetime(*time.strptime(etime,"%Y-%m-%d %H:%M:%S")[:-3])
- dt=int(day)-bt.isoweekday()
- if dt<0:
- dt=dt+7
- dbt=bt+datetime.timedelta(days=dt)
- det=et+datetime.timedelta(days=dt)
- btime=dbt.strftime("%Y-%m-%d %H:%M:%S")
- etime=det.strftime("%Y-%m-%d %H:%M:%S")
- return reserv("keyevery",keyword,chtxt,btime,etime,deltatime,opt,"7")
-def reserv(type,keyword,chtxt,btime,etime,deltatime,opt,deltaday):
- MaxT=2
- MaxS=2
- tsnum=count_schedule(btime,etime)
- MaxT=MaxT-tsnum[0]
- MaxS=MaxS-tsnum[1]
- bctype=""
- rett=""
- bctypegetdb=database.select_by_chtxt_chdata(chtxt)
- for bctypet,ontvt,chtxtt,cht,cscht,updatetimet in bctypegetdb:
- bctype=bctypet
- if (type=="rec") or (type=="res") or (type=="key") or (type=="keyevery"):
- if bctype.find("cs")>-1:
- MaxS=MaxS-1
- elif bctype.find("bs")>-1:
- MaxS=MaxS-1
- elif bctype.find("te")>-1:
- MaxT=MaxT-1
- if MaxS>-1 and MaxT>-1:
- database.add_rectime(type=type,chtxt=chtxt,title=keyword,btime=btime,etime=etime,deltatime=deltatime,deltaday=deltaday,opt=opt)
- rett=""
+ bt = datetime.datetime(*time.strptime(btime, "%Y-%m-%d %H:%M:%S")[:-3])
+ et = datetime.datetime(*time.strptime(etime, "%Y-%m-%d %H:%M:%S")[:-3])
+ dt = int(day)-bt.isoweekday()
+ if dt < 0:
+ dt = dt + 7
+ dbt = bt + datetime.timedelta(days=dt)
+ det = et + datetime.timedelta(days=dt)
+ btime = dbt.strftime("%Y-%m-%d %H:%M:%S")
+ etime = det.strftime("%Y-%m-%d %H:%M:%S")
+ return reserv("keyevery", keyword, chtxt, btime, etime, deltatime, opt, "7")
+def reserv(type, keyword, chtxt, btime, etime, deltatime, opt, deltaday):
+ MaxT = 2
+ MaxS = 2
+ tsnum = count_schedule(btime, etime)
+ MaxT = MaxT-tsnum[0]
+ MaxS = MaxS-tsnum[1]
+ bctype = ""
+ rett = ""
+ bctypegetdb = database.select_by_chtxt_chdata(chtxt)
+ for bctypet, ontvt, chtxtt, cht, cscht, updatetimet in bctypegetdb:
+ bctype = bctypet
+ if (type == "rec") or (type == "res") or (type == "key") or (type == "keyevery"):
+ if bctype.find("cs") > -1:
+ MaxS = MaxS-1
+ elif bctype.find("bs") > -1:
+ MaxS = MaxS-1
+ elif bctype.find("te") > -1:
+ MaxT = MaxT-1
+ if MaxS > -1 and MaxT > -1:
+ database.add_rectime(type=type, chtxt=chtxt, title=keyword, btime=btime, etime=etime, deltatime=deltatime, deltaday=deltaday, opt=opt)
+ rett = ""
else:
- rett="over"
+ rett = "over"
return rett
-def count_schedule(btime,etime):
+def count_schedule(btime, etime):
"""
return rec num (int return[0]:TE /int return[1]:BS/CS)
"""
- def cmpare(x,y):
+ def cmpare(x, y):
#xt=datetime.datetime(*time.strptime(x,"%Y-%m-%d %H:%M:%S")[:-3])
#yt=datetime.datetime(*time.strptime(y,"%Y-%m-%d %H:%M:%S")[:-3])
- xt=x
- yt=y
- if xt>yt:
+ xt = x
+ yt = y
+ if xt > yt:
return -1
- elif xt==yt:
+ elif xt == yt:
return 0
else:
return 1
- dls=database.schedule_rectime(btime,etime)
- times=[]
- btd=datetime.datetime(*time.strptime(btime,"%Y-%m-%d %H:%M:%S")[:-3])
- etd=datetime.datetime(*time.strptime(etime,"%Y-%m-%d %H:%M:%S")[:-3])
+ dls = database.schedule_rectime(btime, etime)
+ times = []
+ btd = datetime.datetime(*time.strptime(btime, "%Y-%m-%d %H:%M:%S")[:-3])
+ etd = datetime.datetime(*time.strptime(etime, "%Y-%m-%d %H:%M:%S")[:-3])
for dl in dls:
- dd1=datetime.datetime(*time.strptime(dl[4],"%Y-%m-%d %H:%M:%S")[:-3])
- dd2=datetime.datetime(*time.strptime(dl[5],"%Y-%m-%d %H:%M:%S")[:-3])
- if dd1<btd:
- dd1=btd
- if dd2>etd:
- dd2=etd
+ dd1 = datetime.datetime(*time.strptime(dl[4], "%Y-%m-%d %H:%M:%S")[:-3])
+ dd2 = datetime.datetime(*time.strptime(dl[5], "%Y-%m-%d %H:%M:%S")[:-3])
+ if dd1 < btd:
+ dd1 = btd
+ if dd2 > etd:
+ dd2 = etd
times.append(dd1)
times.append(dd2)
- times=list(set(times))
+ times = list(set(times))
times.sort(cmpare)
times.reverse()
- retcount=[0,0]
+ retcount = [0, 0]
for i in xrange(0, len(times)-2, 1):
- bt1=times[i]
- et1=times[i+1]
- btime1=bt1.strftime("%Y-%m-%d %H:%M:%S")
- etime1=et1.strftime("%Y-%m-%d %H:%M:%S")
- ret1=database.count_schedule_rectime(btime1,etime1)
- if retcount[0]<ret1[0]:
- retcount[0]=ret1[0]
- if retcount[1]<ret1[1]:
- retcount[1]=ret1[1]
+ bt1 = times[i]
+ et1 = times[i + 1]
+ btime1 = bt1.strftime("%Y-%m-%d %H:%M:%S")
+ etime1 = et1.strftime("%Y-%m-%d %H:%M:%S")
+ ret1 = database.count_schedule_rectime(btime1, etime1)
+ if retcount[0] < ret1[0]:
+ retcount[0] = ret1[0]
+ if retcount[1] < ret1[1]:
+ retcount[1] = ret1[1]
return retcount
-def change_reserv(id,type,keyword,chtxt,btime,etime,deltatime,opt,deltaday):
+def change_reserv(id, type, keyword, chtxt, btime, etime, deltatime, opt, deltaday):
"""
idはテキスト
"""
- MaxT=2
- MaxS=2
- tsnum=count_schedule(btime, etime)
- MaxT=MaxT-tsnum[0]
- MaxS=MaxS-tsnum[1]
- bctype=""
- rett=""
+ MaxT = 2
+ MaxS = 2
+ tsnum = count_schedule(btime, etime)
+ MaxT = MaxT-tsnum[0]
+ MaxS = MaxS-tsnum[1]
+ bctype = ""
+ rett = ""
for dl in database.select_by_chtxt_chdata(chtxt):
- bctype=dl[0]
- if (type=="rec") or (type=="res") or (type=="key") or (type=="keyevery"):
- if bctype.find("cs")>-1:
- MaxS=MaxS-1
- elif bctype.find("bs")>-1:
- MaxS=MaxS-1
- elif bctype.find("te")>-1:
- MaxT=MaxT-1
- if MaxS>-1 and MaxT>-1:
+ bctype = dl[0]
+ if (type == "rec") or (type == "res") or (type == "key") or (type == "keyevery"):
+ if bctype.find("cs") > -1:
+ MaxS = MaxS-1
+ elif bctype.find("bs") > -1:
+ MaxS = MaxS-1
+ elif bctype.find("te") > -1:
+ MaxT = MaxT-1
+ if MaxS > -1 and MaxT > -1:
database.del_by_id_rectime(id)
database.add_rectime(type=type, chtxt=chtxt, title=keyword, btime=btime, etime=etime, deltatime=deltatime, deltaday=deltaday, opt=opt)
else:
- rett="over"
+ rett = "over"
return rett
def station2chtxt(station):
- ret=""
+ ret = ""
#try:
database.new_iepg()
#except:
# ""
- sta=database.select_by_station_iepg(station)
- if len(sta)>0:
- ret=sta[0][2]
+ sta = database.select_by_station_iepg(station)
+ if len(sta) > 0:
+ ret = sta[0][2]
else:
- ret="n\/a"
+ ret = "n\/a"
return ret
def readHtmlSrcSimple():
- f = open(path+'rswi.htm')
- ret=f.read()
+ f = open(path + 'rswi.htm')
+ ret = f.read()
f.close()
return ret
def readRecFinisSimple():
- f = open(path+'fin.htm')
- ret=f.read()
+ f = open(path + 'fin.htm')
+ ret = f.read()
f.close()
return ret
def readRecSchedule():
- f = open(path+'schedule.htm')
- ret=f.read()
+ f = open(path + 'schedule.htm')
+ ret = f.read()
f.close()
return ret
def readiEPGadd():
- f = open(path+'iepg_add.htm')
- ret=f.read()
+ f = open(path + 'iepg_add.htm')
+ ret = f.read()
f.close()
return ret
def readiEPGshow():
- f = open(path+'iepg_show.htm')
- ret=f.read()
+ f = open(path + 'iepg_show.htm')
+ ret = f.read()
f.close()
return ret
-def get_fin(string,refreshurl):
- htmdate=readRecFinisSimple()
- htmdate=htmdate.replace('<!--text_for_replace_fin//-->',string)
- htmdate=htmdate.replace('<!--url_for_replace_fin//-->',refreshurl)
+def get_fin(string, refreshurl):
+ htmdate = readRecFinisSimple()
+ htmdate = htmdate.replace('<!--text_for_replace_fin//-->', string)
+ htmdate = htmdate.replace('<!--url_for_replace_fin//-->', refreshurl)
return htmdate
def mode_iepg_add(station):
- htmdate=readiEPGadd()
- htmdate=htmdate.replace("<!--text_for_replace_chtxt_input//-->",getchtxt())
- htmdate=htmdate.replace("<!--ch-value//-->","")
- htmdate=htmdate.replace("<!--iepg_title-value//-->",station)
+ htmdate = readiEPGadd()
+ htmdate = htmdate.replace("<!--text_for_replace_chtxt_input//-->", getchtxt())
+ htmdate = htmdate.replace("<!--ch-value//-->", "")
+ htmdate = htmdate.replace("<!--iepg_title-value//-->", station)
return htmdate
def mode_iepg_fin():
- s="epgデータの追加を完了しました。<br>\n録画を行う場合はもう一度おねがいします。<br>"
- u="rec10web.py?exec=iepg-show"
- return get_fin(s,u)
+ s = "epgデータの追加を完了しました。<br>\n録画を行う場合はもう一度おねがいします。<br>"
+ u = "rec10web.py?exec=iepg-show"
+ return get_fin(s, u)
def mode_iepg_show():
- htmdate=readiEPGshow()
+ htmdate = readiEPGshow()
return htmdate
def mode_iepg_del():
- s="epgデータを削除しました。"
- u="rec10web.py?exec=iepg-show"
- return get_fin(s,u)
+ s = "epgデータを削除しました。"
+ u = "rec10web.py?exec=iepg-show"
+ return get_fin(s, u)
def mode_iepg_del_miss():
- s="epgデータの削除に失敗しました。"
- u="rec10web.py?exec=iepg-show"
- return get_fin(s,u)
+ s = "epgデータの削除に失敗しました。"
+ u = "rec10web.py?exec=iepg-show"
+ return get_fin(s, u)
def mode_schedule():
- htmdate=readRecSchedule()
+ htmdate = readRecSchedule()
return htmdate
def mode_recfin():
- s="予約が終了しました。移動します。"
- u="rec10web.py?exec=schedule"
- return get_fin(s,u)
+ s = "予約が終了しました。移動します。"
+ u = "rec10web.py?exec=schedule"
+ return get_fin(s, u)
def mode_recover():
- s="最大予約可能数を超えています"
- u="rec10web.py?exec=schedule"
- return get_fin(s,u)
+ s = "最大予約可能数を超えています"
+ u = "rec10web.py?exec=schedule"
+ return get_fin(s, u)
def mode_normal():
- htmdate=readHtmlSrcSimple()
- htmdate=htmdate.replace("<!--exec-value//-->","yes")
+ htmdate = readHtmlSrcSimple()
+ htmdate = htmdate.replace("<!--exec-value//-->", "yes")
return htmdate
def mode_del():
- s="最大予約可能数を超えています"
- u="rec10web.py?exec=schedule"
- return get_fin(s,u)
+ s = "最大予約可能数を超えています"
+ u = "rec10web.py?exec=schedule"
+ return get_fin(s, u)
def mode_edit_rec10web(tasknum):
#editnum=exect.replace("edit:","")
- htmdate= readHtmlSrcSimple()
- iddata=edit_date(tasknum)
- htmdate=htmdate.replace("<!--text_for_replace_chtxt_input//-->",getchtxt())
- htmdate=htmdate.replace("<!--ch-value//-->",iddata['chtxt'])
- htmdate=htmdate.replace("<!--btime-value//-->",iddata['btime'])
- htmdate=htmdate.replace("<!--etime-value//-->",iddata['etime'])
- htmdate=htmdate.replace("<!--type-value//-->",iddata['type'])
- htmdate=htmdate.replace("<!--ch-value//-->",iddata['chtxt'])
- htmdate=htmdate.replace("<!--title-value//-->",iddata['title'])
- htmdate=htmdate.replace("<!--size-value//-->",size)
- htmdate=htmdate.replace("<!--opts-value//-->",iddata["opt"])
- htmdate=htmdate.replace("<!--exec-value//-->","edit-exec:"+tasknum)
+ htmdate = readHtmlSrcSimple()
+ iddata = edit_date(tasknum)
+ htmdate = htmdate.replace("<!--text_for_replace_chtxt_input//-->", getchtxt())
+ htmdate = htmdate.replace("<!--ch-value//-->", iddata['chtxt'])
+ htmdate = htmdate.replace("<!--btime-value//-->", iddata['btime'])
+ htmdate = htmdate.replace("<!--etime-value//-->", iddata['etime'])
+ htmdate = htmdate.replace("<!--type-value//-->", iddata['type'])
+ htmdate = htmdate.replace("<!--ch-value//-->", iddata['chtxt'])
+ htmdate = htmdate.replace("<!--title-value//-->", iddata['title'])
+ htmdate = htmdate.replace("<!--size-value//-->", size)
+ htmdate = htmdate.replace("<!--opts-value//-->", iddata["opt"])
+ htmdate = htmdate.replace("<!--exec-value//-->", "edit-exec:" + tasknum)
return htmdate
def mode_edit():
- editnum=exect.replace("edit:","")
- htmdate= readHtmlSrcSimple()
- iddata=edit_date(editnum)
- htmdate=htmdate.replace("<!--text_for_replace_chtxt_input//-->",getchtxt())
- htmdate=htmdate.replace("<!--ch-value//-->",iddata['chtxt'])
- htmdate=htmdate.replace("<!--btime-value//-->",iddata['btime'])
- htmdate=htmdate.replace("<!--etime-value//-->",iddata['etime'])
- htmdate=htmdate.replace("<!--type-value//-->",iddata['type'])
- htmdate=htmdate.replace("<!--ch-value//-->",iddata['chtxt'])
- htmdate=htmdate.replace("<!--title-value//-->",iddata['title'])
- htmdate=htmdate.replace("<!--size-value//-->",size)
- htmdate=htmdate.replace("<!--opts-value//-->",iddata["opt"])
- htmdate=htmdate.replace("<!--exec-value//-->","edit-exec:"+editnum)
+ editnum = exect.replace("edit:", "")
+ htmdate = readHtmlSrcSimple()
+ iddata = edit_date(editnum)
+ htmdate = htmdate.replace("<!--text_for_replace_chtxt_input//-->", getchtxt())
+ htmdate = htmdate.replace("<!--ch-value//-->", iddata['chtxt'])
+ htmdate = htmdate.replace("<!--btime-value//-->", iddata['btime'])
+ htmdate = htmdate.replace("<!--etime-value//-->", iddata['etime'])
+ htmdate = htmdate.replace("<!--type-value//-->", iddata['type'])
+ htmdate = htmdate.replace("<!--ch-value//-->", iddata['chtxt'])
+ htmdate = htmdate.replace("<!--title-value//-->", iddata['title'])
+ htmdate = htmdate.replace("<!--size-value//-->", size)
+ htmdate = htmdate.replace("<!--opts-value//-->", iddata["opt"])
+ htmdate = htmdate.replace("<!--exec-value//-->", "edit-exec:" + editnum)
return htmdate
-dbpath=path+"ch.db"
-database=getdb()
-btime=""
-etime=""
-title=""
-chtxt=""
-type="res"
-bt=""
-station_name=""
-mode=""
+dbpath = path + "ch.db"
+database = getdb()
+btime = ""
+etime = ""
+title = ""
+chtxt = ""
+type = "res"
+bt = ""
+station_name = ""
+mode = ""
###ここからiEPG用の読み出し
if f.getfirst('station_name'):
- station=f.getfirst('station_name')
- chtxt=station2chtxt(station)
- if chtxt=="n\/a":
- mode="iepg-add"
- station_name=station
- exect="iepg-add"
+ station = f.getfirst('station_name')
+ chtxt = station2chtxt(station)
+ if chtxt == "n\/a":
+ mode = "iepg-add"
+ station_name = station
+ exect = "iepg-add"
if f.getfirst('station'):
- station=f.getfirst('station')
- chtxt=station2chtxt(station)
- if chtxt=="n\/a":
- mode="iepg-add"
- station_name=station
- exect="iepg-add"
+ station = f.getfirst('station')
+ chtxt = station2chtxt(station)
+ if chtxt == "n\/a":
+ mode = "iepg-add"
+ station_name = station
+ exect = "iepg-add"
###ここから外部からの読み出しの場合
if f.getfirst('type'):
- type=f.getfirst('type')
+ type = f.getfirst('type')
if f.getfirst('title'):
- title=f.getfirst('title')
+ title = f.getfirst('title')
if f.getfirst('chtxt'):
- chtxt=f.getfirst('chtxt')
+ chtxt = f.getfirst('chtxt')
if f.getfirst('btime'):
- btime=f.getfirst('btime')
- bt=datetime.datetime(*time.strptime(btime,"%Y-%m-%d %H:%M:%S")[:-3])
+ btime = f.getfirst('btime')
+ bt = datetime.datetime(*time.strptime(btime, "%Y-%m-%d %H:%M:%S")[:-3])
if f.getfirst('etime'):
- etime=f.getfirst('etime')
- et=datetime.datetime(*time.strptime(etime,"%Y-%m-%d %H:%M:%S")[:-3])
- if bt !="":
- delt=et-bt
- dt=delt.days*24*60*60+delt.seconds
- if dt<0:
- dd=datetime.timedelta(days=1)
- et=et+dd
- etime=et.strftime("%Y-%m-%d %H:%M:%S")
- if dt<-1*24*60*60:
- d1=datetime.datetime(bt.year,0,0)
- d2=datetime.datetime(bt.year+1,0,0)
- dd=d2-d1
- et=et+dd
- etime=et.strftime("%Y-%m-%d %H:%M:%S")
-size="S"
+ etime = f.getfirst('etime')
+ et = datetime.datetime(*time.strptime(etime, "%Y-%m-%d %H:%M:%S")[:-3])
+ if bt != "":
+ delt = et-bt
+ dt = delt.days * 24 * 60 * 60 + delt.seconds
+ if dt < 0:
+ dd = datetime.timedelta(days=1)
+ et = et + dd
+ etime = et.strftime("%Y-%m-%d %H:%M:%S")
+ if dt < -1 * 24 * 60 * 60:
+ d1 = datetime.datetime(bt.year, 0, 0)
+ d2 = datetime.datetime(bt.year + 1, 0, 0)
+ dd = d2-d1
+ et = et + dd
+ etime = et.strftime("%Y-%m-%d %H:%M:%S")
+size = "S"
if f.getfirst('size'):
- size=f.getfirst('size')
-opts=""
+ size = f.getfirst('size')
+opts = ""
if f.getfirst('opts'):
- opts=f.getfirst('opts')
-deltahour=""
-if f.getfirst('deltahour',""):
- deltahour=f.getfirst('deltahour',"")
-deltaday=""
-if f.getfirst('deltaday',""):
- deltaday=f.getfirst('deltaday',"")
-exect=""
-if f.getfirst('exec',""):
- exect=f.getfirst('exec',"")
-if exect=="schedule":
- mode="schedule"
+ opts = f.getfirst('opts')
+deltahour = ""
+if f.getfirst('deltahour', ""):
+ deltahour = f.getfirst('deltahour', "")
+deltaday = ""
+if f.getfirst('deltaday', ""):
+ deltaday = f.getfirst('deltaday', "")
+exect = ""
+if f.getfirst('exec', ""):
+ exect = f.getfirst('exec', "")
+if exect == "schedule":
+ mode = "schedule"
getRecDate()
-elif exect=="yes":
- mode="yes"
-elif re.search('edit:',exect):
- mode="edit"
-elif re.search('edit-exec:',exect):
- mode="edit-exec"
-elif exect=="change":
- mode="edit-rec10"
-elif exect=="del":
- mode="del"
-elif exect=="iepg-add":
- mode="iepg-add"
-elif exect=="iepg-show":
- mode="iepg-show"
-elif exect=="iepg-add_yes":
- mode="iepg-add-yes"
-elif exect=="iepg-del":
- mode="iepg-del"
-htmdate= mode_normal()
-htmdate=htmdate.replace("<!--text_for_replace_chtxt_input//-->",getchtxt())
-htmdate=htmdate.replace("<!--btime-value//-->",btime)
-htmdate=htmdate.replace("<!--etime-value//-->",etime)
-htmdate=htmdate.replace("<!--type-value//-->",type)
-htmdate=htmdate.replace("<!--ch-value//-->",chtxt)
-htmdate=htmdate.replace("<!--title-value//-->",title)
-htmdate=htmdate.replace("<!--size-value//-->",size)
-htmdate=htmdate.replace("<!--opts-value//-->",opts)
+elif exect == "yes":
+ mode = "yes"
+elif re.search('edit:', exect):
+ mode = "edit"
+elif re.search('edit-exec:', exect):
+ mode = "edit-exec"
+elif exect == "change":
+ mode = "edit-rec10"
+elif exect == "del":
+ mode = "del"
+elif exect == "iepg-add":
+ mode = "iepg-add"
+elif exect == "iepg-show":
+ mode = "iepg-show"
+elif exect == "iepg-add_yes":
+ mode = "iepg-add-yes"
+elif exect == "iepg-del":
+ mode = "iepg-del"
+htmdate = mode_normal()
+htmdate = htmdate.replace("<!--text_for_replace_chtxt_input//-->", getchtxt())
+htmdate = htmdate.replace("<!--btime-value//-->", btime)
+htmdate = htmdate.replace("<!--etime-value//-->", etime)
+htmdate = htmdate.replace("<!--type-value//-->", type)
+htmdate = htmdate.replace("<!--ch-value//-->", chtxt)
+htmdate = htmdate.replace("<!--title-value//-->", title)
+htmdate = htmdate.replace("<!--size-value//-->", size)
+htmdate = htmdate.replace("<!--opts-value//-->", opts)
#ここから曜日検索の設定
-if f.getfirst('type')=="keyday":
- rett=""
- dayt=f.getfirst('day_Mon')
+if f.getfirst('type') == "keyday":
+ rett = ""
+ dayt = f.getfirst('day_Mon')
if dayt:
- rett=rett+reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
- dayt=f.getfirst('day_Tue')
+ rett = rett + reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
+ dayt = f.getfirst('day_Tue')
if dayt:
- rett=rett+reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
- dayt=f.getfirst('day_Wed')
+ rett = rett + reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
+ dayt = f.getfirst('day_Wed')
if dayt:
- rett=rett+reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
- dayt=f.getfirst('day_Thu')
+ rett = rett + reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
+ dayt = f.getfirst('day_Thu')
if dayt:
- rett=rett+reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
- dayt=f.getfirst('day_Fri')
+ rett = rett + reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
+ dayt = f.getfirst('day_Fri')
if dayt:
- rett=rett+reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
- dayt=f.getfirst('day_Sat')
+ rett = rett + reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
+ dayt = f.getfirst('day_Sat')
if dayt:
- rett=rett+reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
- dayt=f.getfirst('day_Sun')
+ rett = rett + reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
+ dayt = f.getfirst('day_Sun')
if dayt:
- rett=rett+reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
- if rett=="":
- htmdate=mode_recfin()
+ rett = rett + reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt)
+ if rett == "":
+ htmdate = mode_recfin()
else:
- htmdate=mode_recover()
- chtxt=""
- exect=""
+ htmdate = mode_recover()
+ chtxt = ""
+ exect = ""
-if mode=="schedule":
- htmdate=mode_schedule()
-elif mode=="edit":
- htmdate=mode_edit()
-elif mode=="iepg-add":
- htmdate=mode_iepg_add(station_name)
-elif mode=="iepg-add-yes":
+if mode == "schedule":
+ htmdate = mode_schedule()
+elif mode == "edit":
+ htmdate = mode_edit()
+elif mode == "iepg-add":
+ htmdate = mode_iepg_add(station_name)
+elif mode == "iepg-add-yes":
try:
database.new_iepg()
except:
""
if f.getfirst('iepg_station') and f.getfirst('iepg_chtxt'):
- database.add_iepg(f.getfirst('iepg_station'),f.getfirst('iepg_chtxt'))
- htmdate=mode_iepg_fin()
-elif mode=="iepg-show":
+ database.add_iepg(f.getfirst('iepg_station'), f.getfirst('iepg_chtxt'))
+ htmdate = mode_iepg_fin()
+elif mode == "iepg-show":
getiEPGDate()
- htmdate=mode_iepg_show()
-elif mode=="iepg-del":
- s=f.getfirst('iepgdelnum')
- htmdate=""
+ htmdate = mode_iepg_show()
+elif mode == "iepg-del":
+ s = f.getfirst('iepgdelnum')
+ htmdate = ""
#try:
for st in s.split(","):
- if st!="":
+ if st != "":
database.del_by_id_iepg(st)
- htmdate=mode_iepg_del()
+ htmdate = mode_iepg_del()
#except:
# htmdate=mode_iepg_del_miss()
-elif mode=="edit-rec10":
- s=f.getfirst('tasknum')
- s.replace(" ","")
- htmdate=mode_edit_rec10web(s.split(",")[0])
-elif mode=="del":
- s=f.getfirst('tasknum')
- s.replace(" ","")
- ss=s.split(",")
+elif mode == "edit-rec10":
+ s = f.getfirst('tasknum')
+ s.replace(" ", "")
+ htmdate = mode_edit_rec10web(s.split(",")[0])
+elif mode == "del":
+ s = f.getfirst('tasknum')
+ s.replace(" ", "")
+ ss = s.split(",")
for st in ss:
- if st!="":
+ if st != "":
database.del_by_id_rectime(st)
- htmdate=mode_del()
-elif mode=="edit-exec":
- if (chtxt != "")and(title != "")and(btime!="")and(etime!="")and(opts!=""):
- editnum=exect.replace("edit-exec:","")
- restxt=change_reserv(editnum,type, title, chtxt, btime, etime, deltahour, opts, deltaday)
- if restxt=="":
- htmdate=mode_recfin()
- elif restxt=="over":
- htmdate=mode_recover()
+ htmdate = mode_del()
+elif mode == "edit-exec":
+ if (chtxt != "")and(title != "")and(btime != "")and(etime != "")and(opts != ""):
+ editnum = exect.replace("edit-exec:", "")
+ restxt = change_reserv(editnum, type, title, chtxt, btime, etime, deltahour, opts, deltaday)
+ if restxt == "":
+ htmdate = mode_recfin()
+ elif restxt == "over":
+ htmdate = mode_recover()
else:
- htmdate=mode_recfin()
- exect=""
-elif mode=="yes":
- if (chtxt != "")and(title != "")and(btime!="")and(etime!="")and(opts!=""):
- restxt=reserv(type, title, chtxt, btime, etime, deltahour, opts, deltaday)
- if restxt=="":
- htmdate=mode_recfin()
- elif restxt=="over":
- htmdate=mode_recover()
+ htmdate = mode_recfin()
+ exect = ""
+elif mode == "yes":
+ if (chtxt != "")and(title != "")and(btime != "")and(etime != "")and(opts != ""):
+ restxt = reserv(type, title, chtxt, btime, etime, deltahour, opts, deltaday)
+ if restxt == "":
+ htmdate = mode_recfin()
+ elif restxt == "over":
+ htmdate = mode_recover()
else:
- htmdate=mode_recfin()
+ htmdate = mode_recfin()
print "Content-Type: text/html"
print htmdate
# coding: UTF-8
# Rec10 TS Recording Tools
# Copyright (C) 2009 Yukikaze
-import MySQLdb
import os
+import MySQLdb
path = str(os.path.dirname(os.path.abspath(__file__))) + "/"
dbpath = path + "ch.db"
class DB_MySQL:
- dbname=""
- dbhost=""
- dbusr=""
- dbpasswd=""
- dbport=0
- def __init__(self,dbname,user,passwd,host="localhost",port=3306):
+ dbname = ""
+ dbhost = ""
+ dbusr = ""
+ dbpasswd = ""
+ dbport = 0
+ def __init__(self, dbname, user, passwd, host="localhost", port=3306):
self.dbname = dbname
- self.dbhost=host
- self.dbusr=user
- self.dbpasswd=passwd
- self.dbport=port
+ self.dbhost = host
+ self.dbusr = user
+ self.dbpasswd = passwd
+ self.dbport = port
def connect_db(self):
"""
dbへの接続
"""
- con=MySQLdb.connect(db=self.dbname,host=self.dbhost,port=self.dbport,user=self.dbusr,passwd=self.dbpasswd,charset="utf8")
- cur=con.cursor()
+ con = MySQLdb.connect(db=self.dbname, host=self.dbhost, port=self.dbport, user=self.dbusr, passwd=self.dbpasswd, charset="utf8")
+ cur = con.cursor()
cur.execute('set names utf8;')
- return [con,cur]
- def close_db(self,db):
+ return [con, cur]
+ def close_db(self, db):
db[1].close()
db[0].close()
- def select_by_ontv_ch(self,ontv):
- db=self.connect_db()
- ret=db[1].execute("SELECT bctype,channel,display FROM ch WHERE channel= %s ",(ontv,))
- ret=db[1].fetchall()
+ def select_by_ontv_ch(self, ontv):
+ db = self.connect_db()
+ ret = db[1].execute("SELECT bctype,channel,display FROM ch WHERE channel= %s ", (ontv, ))
+ ret = db[1].fetchall()
self.close_db(db)
return ret
def select_all_rectime(self):
- db=self.connect_db()
- recdata=[]
- dl=db[1].execute("SELECT id,type,chtxt,title,btime,etime,deltatime,deltaday,opt FROM rectime")
- dls=db[1].fetchall()
- for id,typet, chtxt, title, btime, etime, deltatime, deltaday, opt in dls:
- ret={}
- ret['id']=id
- ret['type']=typet
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- btime=btime.strftime("%Y-%m-%d %H:%M:%S")
- etime=etime.strftime("%Y-%m-%d %H:%M:%S")
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
- ret['deltatime']=""
- ret['deltaday']=""
+ db = self.connect_db()
+ recdata = []
+ dl = db[1].execute("SELECT id,type,chtxt,title,btime,etime,deltatime,deltaday,opt FROM rectime")
+ dls = db[1].fetchall()
+ for id, typet, chtxt, title, btime, etime, deltatime, deltaday, opt in dls:
+ ret = {}
+ ret['id'] = id
+ ret['type'] = typet
+ ret['chtxt'] = chtxt
+ ret['title'] = title.encode('utf-8')
+ btime = btime.strftime("%Y-%m-%d %H:%M:%S")
+ etime = etime.strftime("%Y-%m-%d %H:%M:%S")
+ ret['btime'] = btime
+ ret['etime'] = etime
+ ret['opt'] = opt
+ ret['deltatime'] = ""
+ ret['deltaday'] = ""
if deltatime == None:
- deltatime="3"
+ deltatime = "3"
if deltaday == None:
- deltaday="7"
+ deltaday = "7"
if typet == 'key':
- ret['deltatime']=deltatime
+ ret['deltatime'] = deltatime
elif typet == 'keyevery':
- ret['deltatime']=deltatime
- ret['deltaday']=deltaday
+ ret['deltatime'] = deltatime
+ ret['deltaday'] = deltaday
recdata.append(ret)
self.close_db(db)
return recdata
- def select_by_chtxt_rectime(self,chtxt):
- db=self.connect_db()
- recdata=[]
- dl=db[1].execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime WHERE chtxt = %s ",(chtxt,))
- d=db[1].fetchall()
+ def select_by_chtxt_rectime(self, chtxt):
+ db = self.connect_db()
+ recdata = []
+ dl = db[1].execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime WHERE chtxt = %s ", (chtxt, ))
+ d = db[1].fetchall()
for typet, chtxt, title, btime, etime, deltatime, deltaday, opt in d:
- ret={}
- ret['type']=typet
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- btime=btime.strftime("%Y-%m-%d %H:%M:%S")
- etime=etime.strftime("%Y-%m-%d %H:%M:%S")
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
+ ret = {}
+ ret['type'] = typet
+ ret['chtxt'] = chtxt
+ ret['title'] = title.encode('utf-8')
+ btime = btime.strftime("%Y-%m-%d %H:%M:%S")
+ etime = etime.strftime("%Y-%m-%d %H:%M:%S")
+ ret['btime'] = btime
+ ret['etime'] = etime
+ ret['opt'] = opt
if deltatime == None:
- deltatime="3"
+ deltatime = "3"
if deltaday == None:
- deltaday="7"
+ deltaday = "7"
if typet == 'key':
- ret['deltatime']=deltatime
+ ret['deltatime'] = deltatime
elif typet == 'keyevery':
- ret['deltatime']=deltatime
- ret['deltaday']=deltaday
+ ret['deltatime'] = deltatime
+ ret['deltaday'] = deltaday
recdata.append(ret)
self.close_db(db)
return recdata
- def select_by_id_rectime(self,id):
- db=self.connect_db()
- recdata=[]
- dl=db[1].execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime WHERE id = %s ",(id,))
- d=db[1].fetchall()
+ def select_by_id_rectime(self, id):
+ db = self.connect_db()
+ recdata = []
+ dl = db[1].execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime WHERE id = %s ", (id, ))
+ d = db[1].fetchall()
for typet, chtxt, title, btime, etime, deltatime, deltaday, opt in d:
- ret={}
- ret['type']=typet
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- btime=btime.strftime("%Y-%m-%d %H:%M:%S")
- etime=etime.strftime("%Y-%m-%d %H:%M:%S")
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
+ ret = {}
+ ret['type'] = typet
+ ret['chtxt'] = chtxt
+ ret['title'] = title.encode('utf-8')
+ btime = btime.strftime("%Y-%m-%d %H:%M:%S")
+ etime = etime.strftime("%Y-%m-%d %H:%M:%S")
+ ret['btime'] = btime
+ ret['etime'] = etime
+ ret['opt'] = opt
if deltatime == None:
- deltatime="3"
+ deltatime = "3"
if deltaday == None:
- deltaday="7"
+ deltaday = "7"
if typet == 'key':
- ret['deltatime']=deltatime
+ ret['deltatime'] = deltatime
elif typet == 'keyevery':
- ret['deltatime']=deltatime
- ret['deltaday']=deltaday
+ ret['deltatime'] = deltatime
+ ret['deltaday'] = deltaday
recdata.append(ret)
self.close_db(db)
return recdata
def select_all_chdata(self):
- db=self.connect_db()
- ret=db[1].execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata")
- ret=db[1].fetchall()
+ db = self.connect_db()
+ ret = db[1].execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata")
+ ret = db[1].fetchall()
self.close_db(db)
return ret
- def select_by_chtxt_chdata(self,chtxt):
- db=self.connect_db()
- ret=db[1].execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE chtxt=%s",(chtxt,))
- ret=db[1].fetchall()
+ def select_by_chtxt_chdata(self, chtxt):
+ db = self.connect_db()
+ ret = db[1].execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE chtxt=%s", (chtxt, ))
+ ret = db[1].fetchall()
self.close_db(db)
return ret
- def select_by_station_chdata(self,station):
- db=self.connect_db()
- ret=db[1].execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE station=%s",(station,))
- ret=db[1].fetchall()
+ def select_by_station_chdata(self, station):
+ db = self.connect_db()
+ ret = db[1].execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE station=%s", (station, ))
+ ret = db[1].fetchall()
self.close_db(db)
return ret
- def select_by_station_name_chdata(self,station_name):
- db=self.connect_db()
- db[1].execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE station_name=%s",(station_name,))
- ret=db[1].fetchall()
+ def select_by_station_name_chdata(self, station_name):
+ db = self.connect_db()
+ db[1].execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE station_name=%s", (station_name, ))
+ ret = db[1].fetchall()
self.close_db(db)
return ret
- def add_rectime(self,type="", chtxt="", title="", btime="", etime="", deltatime="", deltaday="", opt=""):
+ def add_rectime(self, type="", chtxt="", title="", btime="", etime="", deltatime="", deltaday="", opt=""):
db = self.connect_db()
db[1].execute('INSERT IGNORE INTO rectime (type,chtxt,title,btime,etime,deltatime,deltaday,opt) values (%s,%s,%s,%s,%s,%s,%s,%s)', (type, chtxt, title, btime, etime, deltatime, deltaday, opt))
#db.commit()
self.close_db(db)
- def schedule_rectime(self,btime,etime):
- db=self.connect_db()
- dbexe="SELECT type,chdata.bctype,rectime.chtxt,rectime.title,rectime.btime,rectime.etime FROM rectime INNER JOIN chdata ON rectime.chtxt=chdata.chtxt"
- dbexe=dbexe+" WHERE NOT( ( rectime.etime <= %s ) OR ( rectime.btime >= %s ) )"
- db[1].execute(dbexe,(btime,etime))
- rets=[]
- for typet,bctypet, chtxtt, titlet,btimet,etimet in db[1].fetchall():
- ret=[typet,bctypet,chtxtt,titlet,btimet.strftime("%Y-%m-%d %H:%M:%S"),etimet.strftime("%Y-%m-%d %H:%M:%S")]
+ def schedule_rectime(self, btime, etime):
+ db = self.connect_db()
+ dbexe = "SELECT type,chdata.bctype,rectime.chtxt,rectime.title,rectime.btime,rectime.etime FROM rectime INNER JOIN chdata ON rectime.chtxt=chdata.chtxt"
+ dbexe = dbexe + " WHERE NOT( ( rectime.etime <= %s ) OR ( rectime.btime >= %s ) )"
+ db[1].execute(dbexe, (btime, etime))
+ rets = []
+ for typet, bctypet, chtxtt, titlet, btimet, etimet in db[1].fetchall():
+ ret = [typet, bctypet, chtxtt, titlet, btimet.strftime("%Y-%m-%d %H:%M:%S"), etimet.strftime("%Y-%m-%d %H:%M:%S")]
rets.append(ret)
self.close_db(db)
return rets
- def count_schedule_rectime(self,btime,etime):
+ def count_schedule_rectime(self, btime, etime):
"""
count rectasknum
return [te num,bs/cs num]
"""
- db=self.connect_db()
- dbexe="SELECT type,chdata.bctype,rectime.chtxt,rectime.title FROM rectime INNER JOIN chdata ON rectime.chtxt=chdata.chtxt"
- dbexe=dbexe+" WHERE NOT( ( rectime.etime <= %s ) OR ( rectime.btime >= %s ) )"
- Srec=0
- Trec=0
- db[1].execute(dbexe,(btime,etime))
- for typet,bctypet, chtxtt, titlet in db[1].fetchall():
- if (typet=="rec") or (typet=="res") or (typet=="key") or (typet=="keyevery"):
- if bctypet.find("cs")>-1:
- Srec=Srec+1
- elif bctypet.find("bs")>-1:
- Srec=Srec+1
- elif bctypet.find("te")>-1:
- Trec=Trec+1
+ db = self.connect_db()
+ dbexe = "SELECT type,chdata.bctype,rectime.chtxt,rectime.title FROM rectime INNER JOIN chdata ON rectime.chtxt=chdata.chtxt"
+ dbexe = dbexe + " WHERE NOT( ( rectime.etime <= %s ) OR ( rectime.btime >= %s ) )"
+ Srec = 0
+ Trec = 0
+ db[1].execute(dbexe, (btime, etime))
+ for typet, bctypet, chtxtt, titlet in db[1].fetchall():
+ if (typet == "rec") or (typet == "res") or (typet == "key") or (typet == "keyevery"):
+ if bctypet.find("cs") > -1:
+ Srec = Srec + 1
+ elif bctypet.find("bs") > -1:
+ Srec = Srec + 1
+ elif bctypet.find("te") > -1:
+ Trec = Trec + 1
self.close_db(db)
- return [Trec,Srec]
- def del_by_id_rectime(self,id):
- db=self.connect_db()
- db[1].execute('DELETE FROM rectime WHERE id='+id)
+ return [Trec, Srec]
+ def del_by_id_rectime(self, id):
+ db = self.connect_db()
+ db[1].execute('DELETE FROM rectime WHERE id=' + id)
self.close_db(db)
def new_iepg(self):
- db=self.connect_db()
+ db = self.connect_db()
try:
db[1].execute("CREATE TABLE iepg \
(\
except:
""
self.close_db(db)
- def add_iepg(self,station,chtxt):
- db=self.connect_db()
- db[1].execute('INSERT IGNORE INTO iepg (station,chtxt) VALUES (%s,%s)', (station,chtxt))
+ def add_iepg(self, station, chtxt):
+ db = self.connect_db()
+ db[1].execute('INSERT IGNORE INTO iepg (station,chtxt) VALUES (%s,%s)', (station, chtxt))
self.close_db(db)
- def del_by_id_iepg(self,num):
- db=self.connect_db()
+ def del_by_id_iepg(self, num):
+ db = self.connect_db()
db[1].execute("DELETE FROM iepg \
- WHERE id=%s",\
- (num,))
+ WHERE id=%s", \
+ (num, ))
self.close_db(db)
- def select_by_chtxt_iepg(self,chtxt):
- db=self.connect_db()
+ def select_by_chtxt_iepg(self, chtxt):
+ db = self.connect_db()
db[1].execute("\
SELECT \
id,station,chtxt \
FROM iepg \
WHERE chtxt=%s "\
- ,(chtxt,))
- retall=db[1].fetchall()
+ , (chtxt, ))
+ retall = db[1].fetchall()
self.close_db(db)
- rets=[]
- if len(retall)>0:
+ rets = []
+ if len(retall) > 0:
for ret in retall:
- a=list(ret)
- a[0]=str(ret[0])
+ a = list(ret)
+ a[0] = str(ret[0])
rets.append(a)
return rets
- def select_by_station_iepg(self,station):
- db=self.connect_db()
+ def select_by_station_iepg(self, station):
+ db = self.connect_db()
db[1].execute("\
SELECT \
id,station,chtxt \
FROM iepg \
WHERE station=%s "\
- ,(station,))
- retall=db[1].fetchall()
+ , (station, ))
+ retall = db[1].fetchall()
self.close_db(db)
- rets=[]
- if len(retall)>0:
+ rets = []
+ if len(retall) > 0:
for ret in retall:
- a=list(ret)
- a[0]=str(ret[0])
+ a = list(ret)
+ a[0] = str(ret[0])
rets.append(a)
return rets
def select_all_iepg(self):
- db=self.connect_db()
+ db = self.connect_db()
db[1].execute("\
SELECT \
id,station,chtxt \
FROM iepg "\
)
- retall=db[1].fetchall()
+ retall = db[1].fetchall()
self.close_db(db)
- rets=[]
- if len(retall)>0:
+ rets = []
+ if len(retall) > 0:
for ret in retall:
- a=list(ret)
- a[0]=str(ret[0])
+ a = list(ret)
+ a[0] = str(ret[0])
rets.append(a)
return rets
\ No newline at end of file
# coding: UTF-8
# Rec10 TS Recording Tools
# Copyright (C) 2009 Yukikaze
-import sqlite
-#import sqlite3
import os
+import sqlite
path = str(os.path.dirname(os.path.abspath(__file__))) + "/"
dbpath = path + "ch.db"
class DB_SQLite:
- dbpath=""
- def __init__(self,dbpath):
+ dbpath = ""
+ def __init__(self, dbpath):
self.dbpath = dbpath
- def connect_db(self,tout=10):
+ def connect_db(self, tout=10):
global dbpath
"""
dbへの接続(timeoutは秒)
"""
- tout=tout*1000
+ tout = tout * 1000
return sqlite3.connect(self.dbpath, timeout=tout)
- def close_db(self,db):
+ def close_db(self, db):
db.close()
- def select_by_ontv_ch(self,ontv):
- db=self.connect_db(120)
- ret=db.execute("SELECT bctype,channel,display FROM ch WHERE channel= ? ",(ontv,))
- ret=ret.fetchall()
+ def select_by_ontv_ch(self, ontv):
+ db = self.connect_db(120)
+ ret = db.execute("SELECT bctype,channel,display FROM ch WHERE channel= ? ", (ontv, ))
+ ret = ret.fetchall()
self.close_db(db)
return ret
def select_all_rectime(self):
- db=self.connect_db(120)
- recdata=[]
- for id,typet, chtxt, title, btime, etime, deltatime, deltaday, opt in db.execute("SELECT id,type,chtxt,title,btime,etime,deltatime,deltaday,opt FROM rectime"):
- ret={}
- ret['id']=id
- ret['type']=typet
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
- ret['deltatime']=""
- ret['deltaday']=""
+ db = self.connect_db(120)
+ recdata = []
+ for id, typet, chtxt, title, btime, etime, deltatime, deltaday, opt in db.execute("SELECT id,type,chtxt,title,btime,etime,deltatime,deltaday,opt FROM rectime"):
+ ret = {}
+ ret['id'] = id
+ ret['type'] = typet
+ ret['chtxt'] = chtxt
+ ret['title'] = title.encode('utf-8')
+ ret['btime'] = btime
+ ret['etime'] = etime
+ ret['opt'] = opt
+ ret['deltatime'] = ""
+ ret['deltaday'] = ""
if deltatime == None:
- deltatime="3"
+ deltatime = "3"
if deltaday == None:
- deltaday="7"
+ deltaday = "7"
if typet == 'key':
- ret['deltatime']=deltatime
+ ret['deltatime'] = deltatime
elif typet == 'keyevery':
- ret['deltatime']=deltatime
- ret['deltaday']=deltaday
+ ret['deltatime'] = deltatime
+ ret['deltaday'] = deltaday
recdata.append(ret)
self.close_db(db)
return recdata
- def select_by_chtxt_rectime(self,chtxt):
- db=self.connect_db(120)
- recdata=[]
- for typet, chtxt, title, btime, etime, deltatime, deltaday, opt in db.execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime WHERE chtxt = ? ",(chtxt,)):
- ret={}
- ret['type']=typet
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
+ def select_by_chtxt_rectime(self, chtxt):
+ db = self.connect_db(120)
+ recdata = []
+ for typet, chtxt, title, btime, etime, deltatime, deltaday, opt in db.execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime WHERE chtxt = ? ", (chtxt, )):
+ ret = {}
+ ret['type'] = typet
+ ret['chtxt'] = chtxt
+ ret['title'] = title.encode('utf-8')
+ ret['btime'] = btime
+ ret['etime'] = etime
+ ret['opt'] = opt
if deltatime == None:
- deltatime="3"
+ deltatime = "3"
if deltaday == None:
- deltaday="7"
+ deltaday = "7"
if typet == 'key':
- ret['deltatime']=deltatime
+ ret['deltatime'] = deltatime
elif typet == 'keyevery':
- ret['deltatime']=deltatime
- ret['deltaday']=deltaday
+ ret['deltatime'] = deltatime
+ ret['deltaday'] = deltaday
recdata.append(ret)
self.close_db(db)
return recdata
- def select_by_id_rectime(self,id):
- db=self.connect_db(120)
- recdata=[]
- for typet, chtxt, title, btime, etime, deltatime, deltaday, opt in db.execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime WHERE id = ? ",(id,)):
- ret={}
- ret['type']=typet
- ret['chtxt']=chtxt
- ret['title']=title.encode('utf-8')
- ret['btime']=btime
- ret['etime']=etime
- ret['opt']=opt
+ def select_by_id_rectime(self, id):
+ db = self.connect_db(120)
+ recdata = []
+ for typet, chtxt, title, btime, etime, deltatime, deltaday, opt in db.execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime WHERE id = ? ", (id, )):
+ ret = {}
+ ret['type'] = typet
+ ret['chtxt'] = chtxt
+ ret['title'] = title.encode('utf-8')
+ ret['btime'] = btime
+ ret['etime'] = etime
+ ret['opt'] = opt
if deltatime == None:
- deltatime="3"
+ deltatime = "3"
if deltaday == None:
- deltaday="7"
+ deltaday = "7"
if typet == 'key':
- ret['deltatime']=deltatime
+ ret['deltatime'] = deltatime
elif typet == 'keyevery':
- ret['deltatime']=deltatime
- ret['deltaday']=deltaday
+ ret['deltatime'] = deltatime
+ ret['deltaday'] = deltaday
recdata.append(ret)
self.close_db(db)
return recdata
def select_all_chdata(self):
- db=self.connect_db(120)
- ret=db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata")
- ret=ret.fetchall()
+ db = self.connect_db(120)
+ ret = db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata")
+ ret = ret.fetchall()
self.close_db(db)
return ret
- def select_by_chtxt_chdata(self,chtxt):
- db=self.connect_db(120)
- ret=db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE chtxt=?",(chtxt,))
- ret=ret.fetchall()
+ def select_by_chtxt_chdata(self, chtxt):
+ db = self.connect_db(120)
+ ret = db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE chtxt=?", (chtxt, ))
+ ret = ret.fetchall()
self.close_db(db)
return ret
- def select_by_station_chdata(self,station):
- db=self.connect_db(120)
- ret=db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE station=?",(station,))
- ret=ret.fetchall()
+ def select_by_station_chdata(self, station):
+ db = self.connect_db(120)
+ ret = db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE station=?", (station, ))
+ ret = ret.fetchall()
self.close_db(db)
return ret
- def select_by_station_name_chdata(self,station_name):
- db=self.connect_db(120)
- ret=db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE station_name=?",(station_name,))
- ret=ret.fetchall()
+ def select_by_station_name_chdata(self, station_name):
+ db = self.connect_db(120)
+ ret = db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE station_name=?", (station_name, ))
+ ret = ret.fetchall()
self.close_db(db)
return ret
- def add_rectime(self,type="", chtxt="", title="", btime="", etime="", deltatime="", deltaday="", opt=""):
+ def add_rectime(self, type="", chtxt="", title="", btime="", etime="", deltatime="", deltaday="", opt=""):
db = self.connect_db(480)
db.execute('INSERT OR IGNORE INTO rectime (type,chtxt,title,btime,etime,deltatime,deltaday,opt) values (?,?,?,datetime(?),datetime(?),?,?,?)', (type, chtxt, title, btime, etime, deltatime, deltaday, opt))
db.commit()
self.close_db(db)
- def schedule_rectime(self,btime,etime):
- db=self.connect_db(120)
- dbexe="SELECT type,chdata.bctype,rectime.chtxt,rectime.title,rectime.btime,rectime.etime FROM rectime INNER JOIN chdata ON rectime.chtxt=chdata.chtxt"
- dbexe=dbexe+" WHERE NOT( ( rectime.etime <= ? ) OR ( rectime.btime >= ? ) )"
- rets=[]
- for typet,bctypet, chtxtt, titlet,btimet,etimet in db.execute(dbexe,(btime,etime)):
- ret=[typet,bctypet,chtxtt,titlet,btimet,etimet]
+ def schedule_rectime(self, btime, etime):
+ db = self.connect_db(120)
+ dbexe = "SELECT type,chdata.bctype,rectime.chtxt,rectime.title,rectime.btime,rectime.etime FROM rectime INNER JOIN chdata ON rectime.chtxt=chdata.chtxt"
+ dbexe = dbexe + " WHERE NOT( ( rectime.etime <= ? ) OR ( rectime.btime >= ? ) )"
+ rets = []
+ for typet, bctypet, chtxtt, titlet, btimet, etimet in db.execute(dbexe, (btime, etime)):
+ ret = [typet, bctypet, chtxtt, titlet, btimet, etimet]
rets.append(ret)
self.close_db(db)
return rets
- def count_schedule_rectime(self,btime,etime):
+ def count_schedule_rectime(self, btime, etime):
"""
count rectasknum
return [te num,bs/cs num]
"""
- db=self.connect_db(120)
- dbexe="SELECT type,chdata.bctype,rectime.chtxt,rectime.title FROM rectime INNER JOIN chdata ON rectime.chtxt=chdata.chtxt"
- dbexe=dbexe+" WHERE NOT( ( rectime.etime <= ? ) OR ( rectime.btime >= ? ) )"
- Srec=0
- Trec=0
- for typet,bctypet, chtxtt, titlet in db.execute(dbexe,(btime,etime)):
- if (typet=="rec") or (typet=="res") or (typet=="key") or (typet=="keyevery"):
- if bctypet.find("cs")>-1:
- Srec=Srec+1
- elif bctypet.find("bs")>-1:
- Srec=Srec+1
- elif bctypet.find("te")>-1:
- Trec=Trec+1
+ db = self.connect_db(120)
+ dbexe = "SELECT type,chdata.bctype,rectime.chtxt,rectime.title FROM rectime INNER JOIN chdata ON rectime.chtxt=chdata.chtxt"
+ dbexe = dbexe + " WHERE NOT( ( rectime.etime <= ? ) OR ( rectime.btime >= ? ) )"
+ Srec = 0
+ Trec = 0
+ for typet, bctypet, chtxtt, titlet in db.execute(dbexe, (btime, etime)):
+ if (typet == "rec") or (typet == "res") or (typet == "key") or (typet == "keyevery"):
+ if bctypet.find("cs") > -1:
+ Srec = Srec + 1
+ elif bctypet.find("bs") > -1:
+ Srec = Srec + 1
+ elif bctypet.find("te") > -1:
+ Trec = Trec + 1
self.close_db(db)
- return [Trec,Srec]
- def del_by_id_rectime(self,id):
- db=self.connect_db(120)
- db.execute('DELETE FROM rectime WHERE id='+id)
+ return [Trec, Srec]
+ def del_by_id_rectime(self, id):
+ db = self.connect_db(120)
+ db.execute('DELETE FROM rectime WHERE id=' + id)
self.close_db(db)
\ No newline at end of file