OSDN Git Service

add logo search.
[rec10/rec10-git.git] / rec10 / trunk / src / chdb.py
index ca8f0d4..bfea9a4 100644 (file)
@@ -1,95 +1,92 @@
 #!/usr/bin/python
 # coding: UTF-8
 # Rec10 TS Recording Tools
-# Copyright (C) 2009 Yukikaze
- # モジュール属性 argv を取得するため
-import os
-import sqlite3
+# Copyright (C) 2009-2011 Yukikaze
+    # モジュール属性 argv を取得するため
+import rec10d
 
-dbpath=str(os.path.dirname(os.path.abspath(__file__)))+"/"+"ch.db"
-#db=sqlite3.connect(dbpath)
-
-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}
+def searchCHFromChtxt(chtxtin):
+    chtxtt=chtxtin.replace("_0","_%")
+    ret = []
+    for datum in rec10d.rec10db.select_by_chtxt_epg_ch(chtxtt):
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}
         ret.append(rett)
-    db.close()
+    if len(ret) == 0:
+        ret.append(None)
     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
+def searchCHFromBctype(bctypein):
+    ret = []
+    for datum in rec10d.rec10db.select_by_bctype_epg_ch(bctypein):
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}
         ret.append(rett)
-    db.close()
+    if len(ret) == 0:
+        ret.append(None)
     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
+def searchCHFromCh(chin):
+    ret = []
+    for datum in rec10d.rec10db.select_by_ch_epg_ch(chin):
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}
         ret.append(rett)
-    db.close()
+    if len(ret) == 0:
+        ret.append(None)
     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
+def searchCHFromCsch(cschin):
+    ret = []
+    for datum in rec10d.rec10db.select_by_csch_epg_ch(cschin):
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}
         ret.append(rett)
-    db.close()
+    if len(ret) == 0:
+        ret.append(None)
     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
+def searchAllCHFromCh(chin):
+    ret = []
+    for datum in rec10d.rec10db.select_by_ch_epg_ch(chin):
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}
         ret.append(rett)
-    db.close()
-    print ret
-    return ret[0]
-
+    if len(ret) == 0:
+        ret.append(None)
+    return ret
+def getAllCH():
+    ret = []
+    for datum in rec10d.rec10db.select_all_epg_ch():
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}
+        ret.append(rett)
+    if len(ret) == 0:
+        ret.append(None)
+    return ret
 def update():
-    db=sqlite3.connect(dbpath)
+    ret = []
+    CSupdate = 0
+    CS2update = 0
+    BSupdate = 0
+    rec10d.rec10db.set_new_status("8")
+    for datum in rec10d.rec10db.select_get_update_epg_ch("6"):
+        bctype = datum[0]
+        if bctype == "cs1" or bctype == u"cs1":
+            if CSupdate == 0:
+                ret.append(u"cs1")
+                CSupdate = 1
+        elif bctype == "cs2" or bctype == u"cs2":
+            if CS2update == 0:
+                ret.append(u"cs2")
+                CS2update = 1
+        elif bctype == "bs" or bctype == u"bs":
+            if BSupdate == 0:
+                ret.append(u"bs")
+                BSupdate = 1
+        else:
+            ret.append(bctype)
+    return ret
+def changeCHShow(chtxt,isshow):
+    rec10d.rec10db.change_visible_epg_ch(chtxt, isshow)
+def updateLogo():
     ret=[]
-    CSupdate=0
-    BSupdate=0
-    for bctype , chtxt in db.execute("SELECT bctype,chtxt FROM chdata WHERE updatetime < datetime(\'now\',\'localtime\',\'-6 hours\')"):
-        #print bctype
-        if bctype=="cs":
-            if CSupdate==0:
-                ret.append("cs")
-                CSupdate=1
-                print "csの番組表取得開始"
-                db.execute("UPDATE chdata SET updatetime=datetime(\'now\',\'localtime\') WHERE bctype = \""+bctype+"\"")
-        elif bctype=="bs":
-            if BSupdate==0:
-                ret.append("bs")
-                BSupdate=1
-                print "bsの番組表取得開始"
-                db.execute("UPDATE chdata SET updatetime=datetime(\'now\',\'localtime\') WHERE bctype = \""+bctype+"\"")
+    BSCSUpdate=0
+    for datum in rec10d.rec10db.select_get_updatelogo_epg_ch("720"):
+        bctype=datus[0]
+        if bctype == "cs1" or bctype == u"cs1":
+            ret.append(u"bs")
+            BSCSUpdate=1
         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()
-    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 updateall():
-
-