OSDN Git Service

implement mySQL function.(beta)
authorgn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Thu, 13 Aug 2009 06:51:02 +0000 (06:51 +0000)
committergn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Thu, 13 Aug 2009 06:51:02 +0000 (06:51 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/rec10@106 4e526526-5e11-4fc0-8910-f8fd03428081

rec10/trunk/src/dbMySQL.py
rec10/trunk/src/epgdb.py
rec10/trunk/src/install.py
rec10/trunk/src/tester.py
rec10/trunk/src/timerec.py

index b03830a..b93bd84 100644 (file)
@@ -5,8 +5,6 @@
 import recdb
 import os
 import MySQLdb
-import dbSQLite
-path = str(os.path.dirname(os.path.abspath(__file__))) + "/"
 
 class DB_MySQL():
     dbname=""
@@ -30,7 +28,7 @@ class DB_MySQL():
             ""
         db = self.connect_db()
         try:
-            db[1].execute('CREATE TABLE rectime (id INTEGER PRIMARY KEY,type VARCHAR(10),chtxt VARCHAR(20),title VARCHAR(100),btime DATETIME,etime DATETIME,deltatime VARCHAR(5),deltaday VARCHAR(5),opt VARCHAR(20),UNIQUE uni (type,chtxt,title,btime,deltaday))')
+            db[1].execute('CREATE TABLE rectime (id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,type VARCHAR(10),chtxt VARCHAR(20),title VARCHAR(100),btime DATETIME,etime DATETIME,deltatime VARCHAR(5),deltaday VARCHAR(5),opt VARCHAR(20),UNIQUE uni (type,chtxt,title,btime,deltaday))')
         except:
             ""
         self.new_tv("")
@@ -54,7 +52,7 @@ class DB_MySQL():
         except:
             ""
         try:
-            db[1].execute('create table chdata (bctype VARCHAR(15),ontv VARCHAR(30),chtxt VARCHAR(15),ch VARCHAR(10),csch VARCHAR(10),station VARCHAR(20),station_name VARCHAR(30),updatetime DATETIME)')
+            db[1].execute('create table chdata (bctype VARCHAR(15),ontv VARCHAR(30) PRIMARY KEY,chtxt VARCHAR(15),ch VARCHAR(10),csch VARCHAR(10),station VARCHAR(20),station_name VARCHAR(30),updatetime DATETIME)')
         except:
             ""
         self.close_db(db)
@@ -136,8 +134,10 @@ class DB_MySQL():
         db=self.connect_db()
         recdata=[]
         dbr=db[1].execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime")
+        dbl=db[1].fetchall()
+        self.close_db(db)
         if dbr>0:
-            for typet, chtxt, title, btime, etime, deltatime, deltaday, opt in db[1].fetchone():
+            for typet, chtxt, title, btime, etime, deltatime, deltaday, opt in dbl:
                 ret={}
                 ret['type']=typet
                 ret['chtxt']=chtxt
@@ -162,9 +162,13 @@ class DB_MySQL():
     def select_bytime_rectime(self,dminutes):
         db=self.connect_db()
         recdatum=[]
-        dbr=db[1].execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime WHERE btime < DATE_SUB(now(),INTERVAL "+dminutes+" MINUTE ) AND btime > DATE_ADD(now(),INTERVAL "+dminutes+" MINUTE )")
+        #dbr=db[1].execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime WHERE btime < DATE_SUB(now(),INTERVAL "+dminutes+" MINUTE ) AND btime > DATE_ADD(now(),INTERVAL "+dminutes+" MINUTE )")
+        dbr=db[1].execute("SELECT type, chtxt, title, btime, etime, deltatime ,deltaday ,opt FROM rectime WHERE btime BETWEEN DATE_SUB(now(),INTERVAL "+dminutes+" MINUTE ) AND DATE_ADD(now(),INTERVAL "+dminutes+" MINUTE )")
+        dbl=db[1].fetchall()
+        self.close_db(db)
+        #print dbl
         if dbr > 0:
-            for typet, chtxt, title, btime, etime, deltatime, deltaday, opt in db[1].fetchone():
+            for typet, chtxt, title, btime, etime, deltatime, deltaday, opt in dbl:
                 ret={}
                 ret['type']=typet
                 ret['chtxt']=chtxt
@@ -184,7 +188,6 @@ class DB_MySQL():
                     ret['deltatime']=deltatime
                     ret['deltaday']=deltaday
                 recdatum.append(ret)
-        self.close_db(db)
         return recdatum
     def delete_old_rectime(self,dhour):
         db=self.connect_db()
@@ -220,8 +223,10 @@ class DB_MySQL():
         db=self.connect_db()
         ret=[]
         dbr=db[1].execute("SELECT channel,title,start,stop FROM tv WHERE title LIKE \"%"+titletxt+"%\"")
+        dbl=db[1].fetchall()
+        self.close_db(db)
         if dbr>0:
-            for ch, title, start, stop in db[1].fetchone():
+            for ch, title, start, stop in dbl:
                 btime=start.replace(" +0900","")
                 btime=btime[0:4]+"-"+btime[4:6]+"-"+btime[6:8]+" "+btime[8:10]+":"+btime[10:12]+":00"
                 etime=stop.replace(" +0900","")
@@ -231,7 +236,6 @@ class DB_MySQL():
                 except:
                     chtxt="Unknown"
                 ret.append(chtxt+","+title.encode('utf-8')+","+btime+","+etime)
-        self.close_db(db)
         return ret
     def select_by_time_ngram_tv(self,btime,etime,chtxt):
         db=self.connect_db()
index ab13a42..be00a3c 100644 (file)
@@ -80,7 +80,6 @@ def searchtime2(titletxt,timet,deltatime,chtxt):
     one=["","","",""]
     tempt=0
     d=rec10d.rec10db.select_by_time_ngram_tv(beforetime,aftertime,chtxt)
-    print d
     for chtxtt, title, start, stop in d:
         #print chtxtt+":"+title+":"+start+":"+stop
         p=n_gram.bigram(titletxt,title)
index 369af5a..88a7a90 100644 (file)
@@ -4,6 +4,7 @@
 # Copyright (C) 2009 Yukikaze
 import timerec
 import chdata
-
+import epgdb
 chdata
-timerec.task()
\ No newline at end of file
+#timerec.task()
+epgdb.updateall_bak()
\ No newline at end of file
index ac994ac..dea0536 100644 (file)
@@ -11,6 +11,7 @@ import os
 import rec10d
 import checker
 import time
+import epgdb
 __author__="yukikaze"
 __date__ ="$2009/08/01 22:25:13$"
 path=str(os.path.dirname(os.path.abspath(__file__)))+"/"
@@ -19,5 +20,6 @@ if __name__ == "__main__":
     #d=time.time()#
     #tspath=basepath.replace(".b25","")
     #print checker.checkB25Decode(recpath+basepath,recpath+tspath)
-    print configreader.getdbpath("test")
+    #print configreader.getdbpath("test")
+    epgdb.updateall_bak()
     
\ No newline at end of file
index bd5c14d..a472152 100644 (file)
@@ -23,7 +23,8 @@ def task():
     予定によって子プロセスを生成し処理する。
     """
     recdb.delete_old("6")
-    tasks=recdb.getnow("1")
+    tasks=recdb.getnow("2")
+    #print tasks
     inum=recdb.countRecNow("1")
     print "now-rectask"
     print "inum:"+str(inum)+"bscsrec:"+str(status.getBSCSRecording())+"terec:"+str(status.getTERecording())
@@ -45,6 +46,7 @@ def task():
                 sys.exit(0)
 
     for task in tasks:
+        #print task
         try:
             chtxt=task['chtxt']
         except:
@@ -144,13 +146,13 @@ def task():
                 titlet=recdata[1]
                 btimet=recdata[2]
                 etimet=recdata[3]
-                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.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!="":
                     try:
-                        recdb.del_reckey(recdb.REC_RESERVE, title, chtxt, btime)
+                        recdb.del_reckey(recdb.REC_KEYWORD, title, chtxt, btime)
                         recdb.rec_reckey(recdb.REC_FINAL_RESERVE, titlet, chtxtt, btimet, etimet, opt)
                     except Exception,inst:
                         print type(inst)