OSDN Git Service

change status logging in DB.
authorgn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Mon, 14 Sep 2009 08:36:19 +0000 (08:36 +0000)
committergn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Mon, 14 Sep 2009 08:36:19 +0000 (08:36 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/rec10@154 4e526526-5e11-4fc0-8910-f8fd03428081

rec10/trunk/src/dbMySQL.py
rec10/trunk/src/rec10d.py
rec10/trunk/src/status [deleted file]
rec10/trunk/src/status.py
rec10/trunk/src/tester.py
rec10/trunk/src/timerec.py
rec10/trunk/src/tv2avi.py
rec10/trunk/src/tv2ts.py

index 394ee19..bf7fb5a 100644 (file)
@@ -313,6 +313,78 @@ class DB_MySQL:
         btime < DATE_SUB(now(),INTERVAL " + dhour + " HOUR )")
         #db.commit()
         self.close_db(db)
+    def new_status(self):
+        db = self.connect_db()
+        try:
+            db[1].execute("\
+            CREATE TABLE status \
+            (\
+            ts2avi TINYINT DEFAULT 0,\
+            terec TINYINT DEFAULT 0,\
+            bscsrec TINYINT DEFAULT 0,\
+            b252ts TINYINT DEFAULT 0\
+            )")
+            db[1].execute("INSERT IGNORE into status VALUE (0,0,0,0)")
+        except:
+            ""
+
+        self.close_db(db)
+    def select_all_status(self):
+        db = self.connect_db()
+        dbexe = db[1].execute("\
+        SELECT ts2avi,terec,bscsrec,b252ts \
+        FROM status \
+        ")
+        ret = []
+        dls = []
+        if dbexe > 0:
+            dls = db[1].fetchall()
+        self.close_db(db)
+        for dl in dls:
+            r = list(dl)
+            r[0]=str(r[0])
+            r[1]=str(r[1])
+            r[2]=str(r[2])
+            r[3]=str(r[3])
+            ret.append(r)
+        return ret
+        self.close_db(db)
+    def change_ts2avi_status(self,i):
+        """
+        statuをiだけ増減する
+        iはint
+        """
+        db = self.connect_db()
+        db[1].execute("\
+        UPDATE status SET ts2avi=ts2avi+%s",i)
+        self.close_db(db)
+    def change_terec_status(self,i):
+        """
+        statuをiだけ増減する
+        iはint
+        """
+        db = self.connect_db()
+        db[1].execute("\
+        UPDATE status SET terec=terec+%s",i)
+        self.close_db(db)
+    def change_bscsrec_status(self,i):
+        """
+        statuをiだけ増減する
+        iはint
+        """
+        db = self.connect_db()
+        db[1].execute("\
+        UPDATE status SET bscsrec=bscsrec+%s",i)
+        self.close_db(db)
+    def change_b252ts_status(self,i):
+        """
+        statuをiだけ増減する
+        iはint
+        """
+        db = self.connect_db()
+        db[1].execute("\
+        UPDATE status SET b252ts=b252ts+%s",i)
+        self.close_db(db)
     def new_tv(self, bctype):
         db = self.connect_db()
         try:
index d68f6da..b3be636 100644 (file)
@@ -18,6 +18,7 @@ if db == "MySQL":
     dbpwd = configreader.getdbpath("mysql_passwd")
     dbport = int(configreader.getdbpath("mysql_port"))
     rec10db = dbMySQL.DB_MySQL(dbname=dbn, host=dbh, user=dbu, passwd=dbpwd, port=dbport)
+    rec10db.new_status()
 else:
     rec10db = dbSQLite.DB_SQLite(path + "ch.db")
 if __name__ == "__main__":
diff --git a/rec10/trunk/src/status b/rec10/trunk/src/status
deleted file mode 100644 (file)
index 078ffc8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-[tasknum]
-terec=0
-bscsrec=0
-ts2avi=0
index d22f08a..ac26c00 100755 (executable)
@@ -4,51 +4,28 @@
 # Copyright (C) 2009 Yukikaze
 import ConfigParser
 import os
+import rec10d
 path = os.path.dirname(os.path.abspath(__file__)) + "/"
 
+def changeEncoding(i):
+    """
+    iはint 増減
+    """
+    rec10d.rec10db.change_ts2avi_status(i)
+def changeTERecording(i):
+    rec10d.rec10db.change_terec_status(i)
+def changeBSCSRecording(i):
+    rec10d.rec10db.change_bscsrec_status(i)
+def changeB25Decoding(i):
+    rec10d.rec10db.change_b252ts_status(i)
 def getEncoding():
     """
     エンコードしている数を帰すint型
     """
-    return getStatusNum("ts2avi")
-def setEncoding(tasknum):
-    setData('ts2avi', tasknum)
+    return int(rec10d.rec10db.select_all_status()[0][0])
 def getTERecording():
-    return getStatusNum('terec')
-def getStatusDate():
-    f = open(path + 'status')
-    lines = f.readlines() # 1行毎にファイル終端まで全て読む(改行文字も含まれる)
-    f.close()
-    return lines
-def getStatusNum(datastr):
-    ini = ConfigParser.SafeConfigParser()
-    ini.read(path + 'status')
-    t = 0
-    try:
-        t = int(ini.get('tasknum', datastr))
-    except:
-        ""
-    if t < 0:
-        t = 0
-    return t
-def setTERecording(tasknum):
-    setData('terec', tasknum)
+    return int(rec10d.rec10db.select_all_status()[0][1])
 def getBSCSRecording():
-    return getStatusNum("bscsrec")
-def setBSCSRecording(tasknum):
-    setData('bscsrec', tasknum)
-def setData(datastr, tasknum):
-    ini = ConfigParser.SafeConfigParser()
-    ini.read(path + 'status')
-    ini.set('tasknum', datastr, str(tasknum))
-    f = open(path + 'status', 'w')
-    ini.write(f)
-    f.close
+    return int(rec10d.rec10db.select_all_status()[0][2])
 def getB25Decoding():
-    return getStatusNum("b252ts")
-def setB25Decoding(tasknum):
-    setData('b252ts', tasknum)
-def getEPGUpdating():
-    return getStatusNum("epgupdate")
-def setEPGUpdating(bool):
-    setData('epgupdate', bool)
+    return int(rec10d.rec10db.select_all_status()[0][3])
index 49507b3..cf6628b 100644 (file)
@@ -8,6 +8,7 @@ import datetime
 import os
 import time
 
+import status
 import chdb
 import checker
 import configreader
@@ -39,4 +40,11 @@ if __name__ == "__main__":
     #recdb.rec_reckey(recdb.REC_FINAL_RESERVE,u"テスト", "hisch", btime, etime, "Sd")
     #os.system("echo $PATH")
     #tv2avi.dualaudio2sep(dualtest+"/testd.ts", dualtest+"/new-test/new-delay167sa.avi","167")
-    ts2x264(dualtest + "/new-test/new-delay167sa.avi", dualtest + "/new-test/new-delay167.avi", "SX")
\ No newline at end of file
+    #ts2x264(dualtest + "/new-test/new-delay167sa.avi", dualtest + "/new-test/new-delay167.avi", "SX")
+    #status.setB25Decoding(2)
+    #rec10d.rec10db.new_status()
+    #rec10d.rec10db.change_epgupdate_status(2)
+    #print rec10d.rec10db.select_all_status()
+    #rec10d.rec10db.change_epgupdate_status(-1)
+    #print rec10d.rec10db.select_all_status()
+    ""
\ No newline at end of file
index 0b93f05..41627e9 100644 (file)
@@ -29,7 +29,7 @@ def task():
     inum = recdb.countRecNow_minutes("10")
     #inum=recdb.countRecNow("1")
     print "番組表更新処理"+ datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
-    print "inum:" + str(inum) + "bscsrec:" + str(status.getBSCSRecording()) + "terec:" + str(status.getTERecording()) + " epg:" + str(status.getEPGUpdating())
+    print "inum:" + str(inum) + "bscsrec:" + str(status.getBSCSRecording()) + "terec:" + str(status.getTERecording()) 
 
     #if inum+status.getBSCSRecording()+status.getTERecording() < 2:
     update = chdb.update()
index 4a4ecc1..bb705db 100644 (file)
@@ -44,7 +44,8 @@ def b252ts(pout, chtxt, btime, etime, opt):
     """
     poutはタイトル(自動的にtitle.b25 title.tsと名前がつきます。)
     """
-    status.setB25Decoding(status.getB25Decoding() + 1)
+    #status.setB25Decoding(status.getB25Decoding() + 1)
+    status.changeB25Decoding(1)
     try:
         tv2ts.b252ts(pout + ".ts", chdb.chtxtsearch(chtxt)['ch'], chdb.chtxtsearch(chtxt)['csch'])
         tsout = pout
@@ -83,7 +84,8 @@ def b252ts(pout, chtxt, btime, etime, opt):
             aviin = tsout + "sa.avi"
     except:
         ""
-    status.setB25Decoding(status.getB25Decoding()-1)
+    #status.setB25Decoding(status.getB25Decoding()-1)
+    status.changeB25Decoding(-1)
 def timetv2avi(pout, chtxt, btime, etime, opt):
     bt = datetime.datetime.strptime(btime, "%Y-%m-%d %H:%M:%S")
     et = datetime.datetime.strptime(etime, "%Y-%m-%d %H:%M:%S")
@@ -133,7 +135,8 @@ def timetv2avi(pout, chtxt, btime, etime, opt):
         dualaudiots2avi(aviin, tsout + "sa.avi")
         aviin = tsout + "sa.avi"
 def ts2avi(pin, pout, opt):
-    status.setEncoding(status.getEncoding() + 1)
+    status.changeEncoding(1)
+    #status.setEncoding(status.getEncoding() + 1)
     if re.search("x", opt):
         try:
             ts2xvid.ts2xvid(pin, pout, opt)
@@ -144,7 +147,8 @@ def ts2avi(pin, pout, opt):
             ts2x264.ts2x264(pin, pout, opt)
         except:
             ""
-    status.setEncoding(status.getEncoding()-1)
+    status.changeEncoding(-1)
+    #status.setEncoding(status.getEncoding()-1)
 def tv2avi(pout, chtxt, btime, etime, opt):
     bt = datetime.datetime.strptime(btime, "%Y-%m-%d %H:%M:%S")
     et = datetime.datetime.strptime(etime, "%Y-%m-%d %H:%M:%S")
index d9df013..a8c2624 100644 (file)
@@ -13,15 +13,18 @@ mypath = str(os.path.dirname(os.path.abspath(__file__))) + "/"
 def tv2tsmix(pout, ch, time):
     
     if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上
-        status.setBSCSRecording(status.getBSCSRecording() + 1)
+        status.changeBSCSRecording(1)
+        #status.setBSCSRecording(status.getBSCSRecording() + 1)
     else:
-        status.setTERecording(status.getTERecording() + 1)
+        #status.setTERecording(status.getTERecording() + 1)
+        status.changeTERecording(1)
     tv2b25ts(pout + ".b25", ch, time)
     if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上
-        status.setBSCSRecording(status.getBSCSRecording()-1)
+        #status.setBSCSRecording(status.getBSCSRecording()-1)
+        status.changeBSCSRecording(-1)
     else:
-        status.setTERecording(status.getTERecording()-1)
-    
+        #status.setTERecording(status.getTERecording()-1)
+        status.changeTERecording(-1)
     b252tsmix(pout + ".b25", pout)
     #os.remove(pout+".b25")
     if os.access(pout, os.F_OK):
@@ -34,14 +37,18 @@ def tv2ts(pout, ch, csch, time):
     tempt = os.path.split(pout)
     path = tempt[0]
     if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上
-        status.setBSCSRecording(status.getBSCSRecording() + 1)
+        status.changeBSCSRecording(1)
+        #status.setBSCSRecording(status.getBSCSRecording() + 1)
     else:
-        status.setTERecording(status.getTERecording() + 1)
+        #status.setTERecording(status.getTERecording() + 1)
+        status.changeTERecording(1)
     tv2b25ts(pout + ".b25", ch, time)
     if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上
-        status.setBSCSRecording(status.getBSCSRecording()-1)
+        #status.setBSCSRecording(status.getBSCSRecording()-1)
+        status.changeBSCSRecording(-1)
     else:
-        status.setTERecording(status.getTERecording()-1)
+        #status.setTERecording(status.getTERecording()-1)
+        status.changeTERecording(-1)
     b252tsmix(pout + ".b25", pout + ".tsmix")
     tsmix2ts(pout + ".tsmix", pout, csch)
     #os.remove(path+"/"+t+"."+temp[1])