def reserv(type,keyword,chtxt,btime,etime,deltatime,opt,deltaday):
MaxT=2
MaxS=2
- tsnum=database.count_schedule_rectime(btime,etime)
+ tsnum=count_schedule(btime,etime)
MaxT=MaxT-tsnum[0]
MaxS=MaxS-tsnum[1]
bctype=""
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=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:
print times
times=list(set(times))
print times
- times=times.sort()
+ times.sort(cmpare)
+ times.reverse()
print times
- #
- """
- #typet,bctypet, chtxtt,titlet,btime,etime
- def rectime_count(btimeb,etimee,liststemp):
- ##btimeからetimeまでの中に入る数を数えるとともに
- #リストのbtime,etimeを変更する
- #[[tenum,bscsnum],retlists]
- #typet,bctypet, chtxtt,titlet,btime,etime
- bt=datetime.datetime(*time.strptime(btimeb,"%Y-%m-%d %H:%M:%S")[:-3])
- et=datetime.datetime(*time.strptime(etimee,"%Y-%m-%d %H:%M:%S")[:-3])
- lists=liststemp
- count=[0,0]#te,bscs
- #bttemp
- retlists=[]
- for list in lists:
- btt=datetime.datetime(*time.strptime(list[4],"%Y-%m-%d %H:%M:%S")[:-3])
- ett=datetime.datetime(*time.strptime(list[5],"%Y-%m-%d %H:%M:%S")[:-3])
- #NOT( ( rectime.etime <= ? ) OR ( rectime.btime >= ? )
- if not ((ett<= bt) or (btt >= et)):
- if list[1].find("cs")>-1:
- count[1]=count[1]+1
- elif list[1].find("bs")>-1:
- count[1]=count[1]+1
- elif list[1].find("te")>-1:
- count[0]=count[0]+1
- #if ettemp>ett:
- # ettemp=et
- if btt<et and ett>et:
- btt=et
- if btt>=et:
- btimett=btt.strftime("%Y-%m-%d %H:%M:%S")
- etimett=ett.strftime("%Y-%m-%d %H:%M:%S")
- retlists.append([list[0],list[1],list[2],list[3],btimett,etimett])
- return [count,retlists]
- #btime=dbt.strftime("%Y-%m-%d %H:%M:%S")
- #etime=det.strftime("%Y-%m-%d %H:%M:%S")
- dis=database.schedule_rectime(btime,etime)
- print dis
- btemp=datetime.datetime(*time.strptime(dis[0][4],"%Y-%m-%d %H:%M:%S")[:-3])
- etemp=datetime.datetime(*time.strptime(dis[0][5],"%Y-%m-%d %H:%M:%S")[:-3])
retcount=[0,0]
- retend=0
- while retend==0:
- btemp=datetime.datetime(*time.strptime(dis[0][4],"%Y-%m-%d %H:%M:%S")[:-3])
- etemp=datetime.datetime(*time.strptime(dis[0][5],"%Y-%m-%d %H:%M:%S")[:-3])
- for dl in dis:
- btemptt=datetime.datetime(*time.strptime(dl[4],"%Y-%m-%d %H:%M:%S")[:-3])
- etemptt=datetime.datetime(*time.strptime(dl[5],"%Y-%m-%d %H:%M:%S")[:-3])
- if btemp>btemptt:
- btemp=btemptt
- etemp=etemptt
- elif btemp==btemptt:
- if etemp>etemptt:
- etemp=etemptt
- bt2=btemp.strftime("%Y-%m-%d %H:%M:%S")
- et2=etemp.strftime("%Y-%m-%d %H:%M:%S")
- ret2=rectime_count(bt2,et2,dis)
- print bt2+":"+et2
- print ret2[0]
- if retcount[0]<ret2[0][0]:
- retcount[0]=ret2[0][0]
- if retcount[1]<ret2[0][1]:
- retcount[1]=ret2[0][1]
- dis=ret2[1]
- if len(dis)==0:
- break
- elif dis[0][4]==btime:
- break
- return retcount"""
+ 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はテキスト