X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=Rec10WEB%2Ftrunk%2Fsrc%2Frec10web.py;h=2407d6cd993f8f75bb8d5408b48731b2293e3976;hb=22149b9826605de5db1502710789fbbc5038a909;hp=1867bcff71da23700da6f9547723dbfc7fe8458f;hpb=95566819c7dbb740121e97351cfcb73d1494f8a2;p=rec10%2Frec10-git.git diff --git a/Rec10WEB/trunk/src/rec10web.py b/Rec10WEB/trunk/src/rec10web.py index 1867bcf..2407d6c 100644 --- a/Rec10WEB/trunk/src/rec10web.py +++ b/Rec10WEB/trunk/src/rec10web.py @@ -4,263 +4,517 @@ # Copyright (C) 2009 Yukikaze import cgi import cgitb -import sqlite3 +import rec10web_dbMySQL +import rec10web_dbSQLite import os +import re import datetime +import rec10web_dbSQLite +import ConfigParser +import time cgitb.enable() -path=str(os.path.dirname(os.path.abspath(__file__)))+"/" -dbpath=path+"ch.db" - +path = str(os.path.dirname(os.path.abspath(__file__))) + "/" +confp = ConfigParser.SafeConfigParser() +Conf = 'config.ini' +confp.read(path + Conf) +global f +f = cgi.FieldStorage() +def getpath(string): + global confp + return confp.get('path', string) +def getdbpath(string): + global confp + 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) + else: + retdb = rec10web_dbSQLite.DB_SQLite(dbpath) + return retdb def getRecDate(): - db=sqlite3.connect(dbpath) - recdata="\"id\",\"type\",\"chtxt\",\"title\",\"btime\",\"etime\",\"deltaday\",\"opt\"\n" - recdata="id,type,chtxt,title,btime,etime,deltaday,opt\n" - 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"): - 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="EncQue" - 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") + 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 = "復号予約" + #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") + f.write(recdata) + f.close() +def getiEPGDate(): + dl = database.select_all_iepg() + recdata = "id,name,chtxt\n" + #print dl + s = "" + for d in dl: + 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(): - db=sqlite3.connect(dbpath) - chopt="" - for bctype, ontv, chtxt, ch, csch ,updatetime in db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata"): - chdisplay="" - for bctype,channel,display in db.execute("SELECT bctype,channel,display FROM ch WHERE channel=\""+ontv+"\""): - chdisplay=display - chopt=chopt+"\n " - db.close() + 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 + "\n " return chopt -def reserv_recday(keyword,chtxt,btime,etime,deltatime,opt,deltaday,day): +def edit_date(id): + ret = database.select_by_id_rectime(id) + return ret[0] +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") - 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 - db=sqlite3.connect(dbpath) - bt="\'"+btime+"\'" - et="\'"+etime+"\'" - dbexe="SELECT type,chdata.bctype,rectime.chtxt,rectime.title FROM rectime INNER JOIN chdata ON rectime.chtxt=chdata.chtxt" - #dbexe="SELECT bctype,chtxt,title FROM rectime INNER JOIN chdata ON rectime.chtxt=chdata.chtxt" - - dbexe=dbexe+" WHERE NOT( ( rectime.etime <= "+bt+" ) OR ( rectime.btime >= "+et+" ) )" - for typet,bctypet, chtxtt, titlet in db.execute(dbexe): - if (typet=="rec") or (typet=="res") or (typet=="key") or (typet=="keyevery"): - if bctypet.find("cs")>-1: - MaxS=MaxS-1 - elif bctypet.find("bs")>-1: - MaxS=MaxS-1 - elif bctypet.find("te")>-1: - MaxT=MaxT-1 - bctype="" - rett="" - for bctypet, chtxtt in db.execute("SELECT bctype,chtxt FROM chdata WHERE chtxt=\'"+chtxt+"\'"): - 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: - recline="\""+type+"\",\""+chtxt+"\",\""+keyword+"\",datetime(\""+btime+"\"),datetime(\""+etime+"\"),\""+deltatime+"\",\""+opt+"\",\""+deltaday+"\"" - #print recline - db.execute('insert into rectime ("type","chtxt","title","btime","etime","deltatime","opt","deltaday") values ('+recline+')') - db.commit() + #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 = "" else: - rett="over" - db.close() + rett = "over" + return rett +def count_schedule(btime, etime): + """ + return rec num (int return[0]:TE /int return[1]:BS/CS) + """ + 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: + return -1 + 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]) + 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 + times.append(dd1) + times.append(dd2) + times = list(set(times)) + times.sort(cmpare) + times.reverse() + 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] + return retcount +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 = "" + 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: + 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" return rett def station2chtxt(station): - db=sqlite3.connect(dbpath) - ret="" - for bctype, ontv, chtxt, ch, csch ,updatetime in db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE station=\""+station+"\""): - ret=chtxt - db.close() - return ret -def station_name2chtxt(station): - db=sqlite3.connect(dbpath) - ret="" - for bctype, ontv, chtxt, ch, csch ,updatetime in db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE station_name=\""+station+"\""): - ret=chtxt - db.close() + ret = "" + #try: + database.new_iepg() + #except: + # "" + sta = database.select_by_station_iepg(station) + if len(sta) > 0: + ret = sta[0][2] + else: + 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 readRecFinisOver(): - f = open(path+'finover.htm') - ret=f.read() +def readRecSchedule(): + f = open(path + 'schedule.htm') + ret = f.read() f.close() return ret -def readRecSchedule(): - f = open(path+'schedule.htm') - ret=f.read() +def readiEPGadd(): + f = open(path + 'iepg_add.htm') + ret = f.read() f.close() return ret -f=cgi.FieldStorage() - -btime="" -etime="" -title="" -chtxt="" -type="res" -bt="" -getRecDate() -if f.getfirst('mode')=="schedule": - getRecDate() - +def readiEPGshow(): + f = open(path + 'iepg_show.htm') + ret = f.read() + f.close() + return ret +def get_fin(string, refreshurl): + htmdate = readRecFinisSimple() + htmdate = htmdate.replace('', string) + htmdate = htmdate.replace('', refreshurl) + return htmdate +def mode_iepg_add(station): + htmdate = readiEPGadd() + htmdate = htmdate.replace("", getchtxt()) + htmdate = htmdate.replace("", "") + htmdate = htmdate.replace("", station) + return htmdate +def mode_iepg_fin(): + s = "epgデータの追加を完了しました。
\n録画を行う場合はもう一度おねがいします。
" + u = "rec10web.py?exec=iepg-show" + return get_fin(s, u) +def mode_iepg_show(): + htmdate = readiEPGshow() + return htmdate +def mode_iepg_del(): + 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) +def mode_schedule(): + htmdate = readRecSchedule() + return htmdate +def mode_recfin(): + 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) +def mode_normal(): + htmdate = readHtmlSrcSimple() + htmdate = htmdate.replace("", "yes") + return htmdate +def mode_del(): + 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("", getchtxt()) + htmdate = htmdate.replace("", iddata['chtxt']) + htmdate = htmdate.replace("", iddata['btime']) + htmdate = htmdate.replace("", iddata['etime']) + htmdate = htmdate.replace("", iddata['type']) + htmdate = htmdate.replace("", iddata['chtxt']) + htmdate = htmdate.replace("", iddata['title']) + htmdate = htmdate.replace("", size) + htmdate = htmdate.replace("", iddata["opt"]) + htmdate = htmdate.replace("", "edit-exec:" + tasknum) + return htmdate +def mode_edit(): + editnum = exect.replace("edit:", "") + htmdate = readHtmlSrcSimple() + iddata = edit_date(editnum) + htmdate = htmdate.replace("", getchtxt()) + htmdate = htmdate.replace("", iddata['chtxt']) + htmdate = htmdate.replace("", iddata['btime']) + htmdate = htmdate.replace("", iddata['etime']) + htmdate = htmdate.replace("", iddata['type']) + htmdate = htmdate.replace("", iddata['chtxt']) + htmdate = htmdate.replace("", iddata['title']) + htmdate = htmdate.replace("", size) + htmdate = htmdate.replace("", iddata["opt"]) + htmdate = htmdate.replace("", "edit-exec:" + editnum) + return htmdate +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=station_name2chtxt(station) + 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) + 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.strptime(btime,"%Y-%m-%d %H:%M:%S") + 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.strptime(etime,"%Y-%m-%d %H:%M:%S") - 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',"") - - -htmdate= readHtmlSrcSimple() -htmdate=htmdate.replace("",getchtxt()) - -htmdate=htmdate.replace("",btime) -htmdate=htmdate.replace("",etime) -htmdate=htmdate.replace("",type) -htmdate=htmdate.replace("",chtxt) -htmdate=htmdate.replace("",title) -htmdate=htmdate.replace("",size) -htmdate=htmdate.replace("",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" + 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("", getchtxt()) +htmdate = htmdate.replace("", btime) +htmdate = htmdate.replace("", etime) +htmdate = htmdate.replace("", type) +htmdate = htmdate.replace("", chtxt) +htmdate = htmdate.replace("", title) +htmdate = htmdate.replace("", size) +htmdate = htmdate.replace("", 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=readRecFinisSimple() + rett = rett + reserv_recday(title, chtxt, btime, etime, deltahour, opts, deltaday, dayt) + if rett == "": + htmdate = mode_recfin() else: - htmdate=readRecFinisOver() - chtxt="" - exect="" + htmdate = mode_recover() + chtxt = "" + exect = "" - -if (chtxt != "")and(title != "")and(btime!="")and(etime!="")and(opts!="")and(exect=="yes"): - restxt=reserv(type, title, chtxt, btime, etime, deltahour, opts, deltaday) - if restxt=="": - htmdate=readRecFinisSimple() - elif restxt=="over": - htmdate=readRecFinisOver() - exect="" -# -if exect=="schedule": - htmdate=readRecSchedule() +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": + getiEPGDate() + htmdate = mode_iepg_show() +elif mode == "iepg-del": + s = f.getfirst('iepgdelnum') + htmdate = "" + #try: + for st in s.split(","): + if st != "": + database.del_by_id_iepg(st) + 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(",") + for st in ss: + 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() + 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() + else: + htmdate = mode_recfin() +print "Content-Type: text/html" print htmdate -