OSDN Git Service

implement mysql function.(RC1)
[rec10/rec10-git.git] / rec10 / trunk / src / timerec.py
index a472152..9cc4f9d 100644 (file)
@@ -32,19 +32,25 @@ def task():
         update=chdb.update()
         #print "番組表更新処理"
         print update
-        if len(update)>0:
+        if len(update)>0 and status.getEPGUpdating()==0:
             print "番組表を更新"
-            print update
+            status.setEPGUpdating(1)
             pid=os.fork()
-            if pid>0:#親プロセスの場合
+            if pid!=0:#親プロセスの場合
                 ""
             else:#子プロセスの場合 アップデートを行って終了
+                i=0
                 for bctype in update:
                     time.sleep(1)
                     print bctype
                     epgdb.updatebc(bctype)
-                sys.exit(0)
-
+                    update=chdb.update()
+                    i=i+1
+                    print update
+                    if i>10:
+                        break
+                status.setEPGUpdating(0)
+                sys.exit()
     for task in tasks:
         #print task
         try:
@@ -79,7 +85,7 @@ def task():
             print dt
             if (dt<58*60 and dt>20*60):
                 pid=os.fork()
-                if pid>0:#親プロセスの場合
+                if pid!=0:#親プロセスの場合
                     ""
                 else:#子プロセスの場合 アップデートを行って終了
                     cht=chdb.chtxtsearch(chtxt)['bctype']
@@ -130,7 +136,7 @@ def task():
                             print "nothing match"
                     else:
                         ""
-                    sys.exit(0)
+                    sys.exit()
             elif dt<=10*60:
                 try:
                     recdb.del_reckey(recdb.REC_RESERVE, title, chtxt, btime)
@@ -142,18 +148,18 @@ def task():
             deltatime=task['deltatime']
             if dt<90*60:
                 recdata=epgdb.searchtime2(title.decode('utf-8'),btime,deltatime,chtxt)
-                chtxtt=recdata[0]
-                titlet=recdata[1]
-                btimet=recdata[2]
-                etimet=recdata[3]
-                bt=datetime.datetime.strptime(btimet,"%Y-%m-%d %H:%M:%S")
-                et=datetime.datetime.strptime(etimet,"%Y-%m-%d %H:%M:%S")
-                btimet=bt.strftime("%Y-%m-%d %H:%M:%S")
-                etimet=et.strftime("%Y-%m-%d %H:%M:%S")
-                if chtxt!="":
+                if recdata[1]!="":
+                    chtxtt=recdata[0]
+                    titlet=recdata[1]
+                    btimet=recdata[2]
+                    etimet=recdata[3]
+                    bt=datetime.datetime.strptime(btimet,"%Y-%m-%d %H:%M:%S")
+                    et=datetime.datetime.strptime(etimet,"%Y-%m-%d %H:%M:%S")
+                    btimet=bt.strftime("%Y-%m-%d %H:%M:%S")
+                    etimet=et.strftime("%Y-%m-%d %H:%M:%S")
                     try:
                         recdb.del_reckey(recdb.REC_KEYWORD, title, chtxt, btime)
-                        recdb.rec_reckey(recdb.REC_FINAL_RESERVE, titlet, chtxtt, btimet, etimet, opt)
+                        recdb.rec_reckey(recdb.REC_RESERVE, titlet, chtxtt, btimet, etimet, opt)
                     except Exception,inst:
                         print type(inst)
                         print inst
@@ -170,7 +176,7 @@ def task():
                 btxt=bt.strftime("%Y-%m-%d %H:%M:%S")
                 etxt=et.strftime("%Y-%m-%d %H:%M:%S")
                 recdb.everyreserv(title,chtxt,btxt,etxt,deltatime,opt,deltaday)
-            elif dt<30*60*60:
+            elif dt<120*60:
                 recdb.keyreserv(title,chtxt,btime,etime,deltatime,opt)
                 recdb.del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
                 bt=bt+dd
@@ -186,7 +192,7 @@ def task():
                 recdb.rec_reckey(recdb.REC_TS_RECORDING, title, chtxt, btime, etime, opt)
                 print "録画開始"
                 pid=os.fork()
-                if pid>0:#親プロセスの場合
+                if pid!=0:#親プロセスの場合
                     ""
                 else:
                     #print title
@@ -201,12 +207,12 @@ def task():
                     btime=bt.strftime("%Y-%m-%d %H:%M:%S")
                     etime=et.strftime("%Y-%m-%d %H:%M:%S")
                     recdb.rec_reckey(recdb.REC_TS_DECODE_QUE,title,chtxt,btime,etime,opt)
-                    sys.exit(0)
+                    sys.exit()
         elif task["type"]==recdb.REC_TS_DECODE_QUE:
             if dt<10*60:
                 if status.getB25Decoding()<2:
                     pid=os.fork()
-                    if pid>0:#親プロセスの場合
+                    if pid!=0:#親プロセスの場合
                             ""
                     else:
                         pin=recpath+"/"+title
@@ -230,7 +236,7 @@ def task():
                         print checker.checkB25Decode(recpath+"/"+title+".ts.b25",recpath+"/"+title+".ts")
                         if checker.checkB25Decode(recpath+"/"+title+".ts.b25",recpath+"/"+title+".ts")==1:
                             os.remove(recpath+"/"+title+".ts.b25")
-                        sys.exit(0)
+                        sys.exit()
                 else:
                     recdb.del_reckey(recdb.REC_TS_DECODE_QUE,title,chtxt,btime)
                     bt=bt+datetime.timedelta(seconds=600)
@@ -257,7 +263,7 @@ def task():
                         tv2avi.ts2avi(pin, pout, opt)
                         recdb.del_reckey(recdb.REC_ENCODE_LOCAL,title,chtxt,btime)
                         recdb.rec_reckey(recdb.REC_FIN_LOCAL, title, chtxt, btime, etime, opt)
-                        sys.exit(0)
+                        sys.exit()
                 else:
                     recdb.del_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime)
                     bt=bt+datetime.timedelta(seconds=600)