OSDN Git Service

put DB accessing functions together(dbSQLite.py).
[rec10/rec10-git.git] / rec10 / trunk / src / chdb.py
index bdbcaef..fde83d6 100644 (file)
 # Rec10 TS Recording Tools
 # Copyright (C) 2009 Yukikaze
  # モジュール属性 argv を取得するため
-import os
-import sqlite3
-
-dbpath=str(os.path.dirname(os.path.abspath(__file__)))+"/"+"ch.db"
-#db=sqlite3.connect(dbpath)
+import rec10d
 
 def ontvsearch(ontvin):
-    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 ontv = \""+ontvin+"\""):
-        rett={'bctype':bctype,'ontv':ontv,'chtxt':chtxt,'ch':ch,'csch':csch,'update':updatetime}
+    for datum in rec10d.rec10db.select_by_ontv_chdata(ontvin):
+        rett={'bctype':datum[0],'ontv':datum[1],'chtxt':datum[2],'ch':datum[3],'csch':datum[4],'update':datum[5]}
         ret.append(rett)
-    db.close()
     return ret[0]
 def chtxtsearch(chtxtin):
-    db=sqlite3.connect(dbpath)
     ret=[]
-    print chtxtin
-    for bctype, ontv, chtxt, ch, csch ,updatetime in db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata WHERE chtxt = \""+chtxtin+"\""):
-        rett={'bctype':bctype,'ontv':ontv,'chtxt':chtxt,'ch':ch,'csch':csch,'update':updatetime}
-        #print rett
+    for datum in rec10d.rec10db.select_by_chtxt_chdata(chtxtin):
+        rett={'bctype':datum[0],'ontv':datum[1],'chtxt':datum[2],'ch':datum[3],'csch':datum[4],'update':datum[5]}
         ret.append(rett)
-    db.close()
     return ret[0]
 def bctypesearch(bctypein):
-    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 bctype = \""+bctypein+"\""):
-        rett={'bctype':bctype,'ontv':ontv,'chtxt':chtxt,'ch':ch,'csch':csch,'update':updatetime}
-        #print rett
+    for datum in rec10d.rec10db.select_by_bctype_chdata(bctypein):
+        rett={'bctype':datum[0],'ontv':datum[1],'chtxt':datum[2],'ch':datum[3],'csch':datum[4],'update':datum[5]}
         ret.append(rett)
-    db.close()
     return ret[0]
 def chsearch(chin):
-    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 ch = \""+chin+"\""):
-        rett={'bctype':bctype,'ontv':ontv,'chtxt':chtxt,'ch':ch,'csch':csch,'update':updatetime}
-        #print rett
+    for datum in rec10d.rec10db.select_by_ch_chdata(chin):
+        rett={'bctype':datum[0],'ontv':datum[1],'chtxt':datum[2],'ch':datum[3],'csch':datum[4],'update':datum[5]}
         ret.append(rett)
-    db.close()
     return ret[0]
 def getall():
-    db=sqlite3.connect(dbpath)
     ret=[]
-    for bctype, ontv, chtxt, ch, csch ,updatetime in db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata"):
-        rett={'bctype':bctype,'ontv':ontv,'chtxt':chtxt,'ch':ch,'csch':csch,'update':updatetime}
-        #print rett
+    for datum in rec10d.rec10db.select_all_chdata():
+        rett={'bctype':datum[0],'ontv':datum[1],'chtxt':datum[2],'ch':datum[3],'csch':datum[4],'update':datum[5]}
         ret.append(rett)
-    db.close()
-    print ret
     return ret[0]
-
 def update():
-    db=sqlite3.connect(dbpath)
     ret=[]
     CSupdate=0
     CS2update=0
     BSupdate=0
-    for bctype , chtxt in db.execute("SELECT bctype,chtxt FROM chdata WHERE updatetime < datetime(\'now\',\'localtime\',\'-6 hours\')"):
+    for datum in rec10d.rec10db.select_get_update_chdata("6"):
+        bctype=datum[0]
+        chtxt=datum[1]
         print bctype
         if bctype=="cs" or bctype==u"cs":
             if CSupdate==0:
                 ret.append(u"cs")
                 CSupdate=1
                 print "csの番組表取得開始"
-                db.execute("UPDATE chdata SET updatetime=datetime(\'now\',\'localtime\') WHERE bctype = \""+bctype+"\"")
+                rec10d.rec10db.update_by_bctype_chdata(bctype)
         elif bctype=="cs2" or bctype==u"cs2":
             if CS2update==0:
                 ret.append(u"cs2")
                 CS2update=1
                 print "cs2の番組表取得開始"
-                db.execute("UPDATE chdata SET updatetime=datetime(\'now\',\'localtime\') WHERE bctype = \""+bctype+"\"")
+                rec10d.rec10db.update_by_bctype_chdata(bctype)
         elif bctype=="bs" or bctype==u"bs":
             if BSupdate==0:
                 ret.append(u"bs")
                 BSupdate=1
                 print "bsの番組表取得開始"
-                db.execute("UPDATE chdata SET updatetime=datetime(\'now\',\'localtime\') WHERE bctype = \""+bctype+"\"")
+                rec10d.rec10db.update_by_bctype_chdata(bctype)
         else:
             ret.append(bctype)
             print bctype
             print "取得開始"
-            db.execute("UPDATE chdata SET updatetime=datetime(\'now\',\'localtime\') WHERE bctype = \""+bctype+"\" AND chtxt = \""+chtxt+"\"")
-    #db.execute("UPDATE chdata SET updatetime=datetime(\'now\',\'localtime\') WHERE updatetime < datetime(\'now\',\'localtime\',\'-2 hours\')")
-    db.commit()
-    db.close()
+            rec10d.rec10db.update_by_bctype_and_chtxt_chdata(bctype,chtxt)
     print ret
     return ret
-def viewall():
-    db=sqlite3.connect(dbpath)
-    for bctype, ontv, chtxt, ch, csch ,updatetime in db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata"):
-        print (bctype+","+ontv+","+chtxt+","+ch+","+csch+","+updatetime)
-    db.close()
+#def viewall():
+#    db=sqlite3.connect(dbpath)
+#    for bctype, ontv, chtxt, ch, csch ,updatetime in db.execute("SELECT bctype,ontv,chtxt,ch,csch,updatetime FROM chdata"):
+#        print (bctype+","+ontv+","+chtxt+","+ch+","+csch+","+updatetime)
+#    db.close()
 #def updateall():
 
-       
+#print ontvsearch("1062.ontvjapan.com")