#!/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
- CS2update=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+"\"")
- if bctype=="cs2":
- if CS2update==0:
- ret.append("cs2")
- 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():
-
-