OSDN Git Service

classify : fix DB.
[rec10/rec10-git.git] / rec10 / dbMySQL.py
index cce2e86..b40da12 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 # coding: UTF-8
 # Rec10 TS Recording Tools
-# Copyright (C) 2009-2012 Yukikaze
+# Copyright (C) 2009-2013 Yukikaze
 import MySQLdb
 import recdblist
 import warnings
@@ -66,6 +66,7 @@ class DB_MySQL:
         self.new_in_settings()
         self.new_auto_timeline_bayes()
         self.new_auto_timeline_keyword()
+        self.new_auto_classify()
     def connect_db(self):
         """
         dbへの接続
@@ -1233,6 +1234,56 @@ vim         ")
         WHERE \
         btime < DATE_SUB(now(),INTERVAL " + dhour + " HOUR )")
         self.close_db(db)
+    def new_auto_classify(self):
+        db = self.connect_db()
+        try:
+            db[1].execute('\
+            CREATE TABLE auto_classify \
+            (\
+            id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,\
+            title VARCHAR(1024),\
+            frompath VARCHAR(1024),\
+            topath VARCHAR(1024),\
+            do BOOLEAN,\
+            UNIQUE key (title),\
+            )')
+        except Exception, inst:
+            if not ((type(inst)==MySQLdb.ProgrammingError and inst[0]==1007)or(type(inst)==MySQLdb.OperationalError and inst[0]==1050)):
+                recdblist.addCommonlogEX("Error", "new_auto_classify (dbMySQL.py)", str(type(inst)),str(inst)+traceback.format_exc(),log_level=200)
+    def add_auto_classify(self,title="", frompath="", topath=""):
+        db = self.connect_db()
+        db[1].execute('\
+        INSERT IGNORE into auto_classify \
+        (title,frompath,topath,do) \
+        values (%s,%s,%s,0)', \
+                      (title,frompath, topath))
+        self.close_db(db)
+    def delete_refresh_auto_classify(self):
+        db = self.connect_db()
+        db[1].execute("\
+        TRUNCATE TABLE auto_classify")
+        self.close_db(db)
+    def delete_old_auto_classify(self, frompath):
+        db = self.connect_db()
+        db[1].execute("\
+        DELETE FROM auto_classify \
+        WHERE \
+        frompath == %s", (frompath))
+        self.close_db(db)
+    def select_move_auto_classify(self):
+        db = self.connect_db()
+        dbexe = db[1].execute("\
+        SELECT id,title,frompath,topath \
+        FROM auto_classify \
+        WHERE do = 1")
+        dls = []
+        if dbexe > 0:
+            dls = db[1].fetchall()
+        self.close_db(db)
+        if len(dls)>0:
+            return dls[0]
+        else:
+            return dls
     def update_db_to93(self):
         db = self.connect_db()
         self.drop_in_settings()
@@ -1336,4 +1387,13 @@ vim         ")
         self.change_installed_in_status(1)
         self.change_version_in_status("102")
         #self.change_installed_in_status()#チャンネルスキャンをさせる
+    def update_db_102to103(sekf):
+        self.drop_in_settings()
+        self.new_in_settings()
+        self.new_epg_ch()
+        self.new_auto_classify()
+        self.close_db(db)
+        self.change_installed_in_status(1)
+        self.change_version_in_status("103")
+        #self.change_installed_in_status()#チャンネルスキャンをさせる