Remove magic-folder db code from backupdb.py
authorDavid Stainton <dstainton415@gmail.com>
Thu, 8 Oct 2015 14:33:27 +0000 (16:33 +0200)
committerDaira Hopwood <daira@jacaranda.org>
Thu, 8 Oct 2015 15:02:34 +0000 (16:02 +0100)
src/allmydata/backupdb.py

index bf1a35761ea9631a99d9592fa8d77d9e67ddf77a..316ebf519b18f756e0a65221d2cb279f4a9e3e8b 100644 (file)
@@ -68,27 +68,6 @@ UPDATERS = {
 }
 
 
-# magic-folder db schema version 3
-MAGIC_FOLDER_SCHEMA_v3 = """
-CREATE TABLE version
-(
- version INTEGER  -- contains one row, set to %s
-);
-
-CREATE TABLE local_files
-(
- path  VARCHAR(1024) PRIMARY KEY, -- index, this is an absolute UTF-8-encoded local filename
- -- note that size is before mtime and ctime here, but after in function parameters
- size  INTEGER,       -- os.stat(fn)[stat.ST_SIZE]   (NULL if the file has been deleted)
- mtime NUMBER,        -- os.stat(fn)[stat.ST_MTIME]
- ctime NUMBER,        -- os.stat(fn)[stat.ST_CTIME]
- version INTEGER,
- last_downloaded_uri VARCHAR(256) UNIQUE,       -- URI:CHK:... 
- last_downloaded_timestamp NUMBER
-);
-""" % (3,)
-
-
 def get_backupdb(dbfile, stderr=sys.stderr,
                  create_version=(SCHEMA_v2, 2), just_create=False):
     # Open or create the given backupdb file. The parent directory must
@@ -98,8 +77,6 @@ def get_backupdb(dbfile, stderr=sys.stderr,
                                just_create=just_create, dbname="backupdb")
         if create_version[1] in (1, 2):
             return BackupDB(sqlite3, db)
-        elif create_version[1] == 3:
-            return MagicFolderDB(sqlite3, db)
         else:
             print >>stderr, "invalid db schema version specified"
             return None
@@ -384,103 +361,3 @@ class BackupDB:
                             " WHERE dircap=?",
                             (now, dircap))
         self.connection.commit()
-
-
-class MagicFolderDB():
-    VERSION = 3
-
-    def __init__(self, sqlite_module, connection):
-        self.sqlite_module = sqlite_module
-        self.connection = connection
-        self.cursor = connection.cursor()
-
-    def check_file_db_exists(self, path):
-        """I will tell you if a given file has an entry in my database or not
-        by returning True or False.
-        """
-        c = self.cursor
-        c.execute("SELECT size,mtime,ctime"
-                  " FROM local_files"
-                  " WHERE path=?",
-                  (path,))
-        row = self.cursor.fetchone()
-        if not row:
-            return False
-        else:
-            return True
-
-    def get_all_relpaths(self):
-        """
-        Retrieve a set of all relpaths of files that have had an entry in magic folder db
-        (i.e. that have been downloaded at least once).
-        """
-        self.cursor.execute("SELECT path FROM local_files")
-        rows = self.cursor.fetchall()
-        return set([r[0] for r in rows])
-
-    def get_last_downloaded_uri(self, relpath_u):
-        """
-        Return the last downloaded uri recorded in the magic folder db.
-        If none are found then return None.
-        """
-        c = self.cursor
-        c.execute("SELECT last_downloaded_uri"
-                  " FROM local_files"
-                  " WHERE path=?",
-                  (relpath_u,))
-        row = self.cursor.fetchone()
-        if not row:
-            return None
-        else:
-            return row[0]
-
-    def get_local_file_version(self, relpath_u):
-        """
-        Return the version of a local file tracked by our magic folder db.
-        If no db entry is found then return None.
-        """
-        c = self.cursor
-        c.execute("SELECT version"
-                  " FROM local_files"
-                  " WHERE path=?",
-                  (relpath_u,))
-        row = self.cursor.fetchone()
-        if not row:
-            return None
-        else:
-            return row[0]
-
-    def did_upload_version(self, filecap, relpath_u, version, pathinfo):
-        print "did_upload_version(%r, %r, %r, %r)" % (filecap, relpath_u, version, pathinfo)
-        now = time.time()
-        try:
-            print "insert"
-            self.cursor.execute("INSERT INTO local_files VALUES (?,?,?,?,?,?)",
-                                (relpath_u, pathinfo.size, pathinfo.mtime, pathinfo.ctime, version, filecap, pathinfo.mtime))
-        except (self.sqlite_module.IntegrityError, self.sqlite_module.OperationalError):
-            print "err... update"
-            try:
-                self.cursor.execute("UPDATE local_files"
-                                    " SET size=?, mtime=?, ctime=?, version=?, last_downloaded_uri=?, last_downloaded_timestamp=?"
-                                    " WHERE path=?",
-                                    (pathinfo.size, pathinfo.mtime, pathinfo.ctime, version, filecap, pathinfo.mtime, relpath_u))
-            except (self.sqlite_module.IntegrityError, self.sqlite_module.OperationalError):
-                print "WTF BBQ OMG"
-        self.connection.commit()
-        print "commited"
-
-    def is_new_file(self, pathinfo, relpath_u):
-        """
-        Returns true if the file's current pathinfo (size, mtime, and ctime) has
-        changed from the pathinfo previously stored in the db.
-        """
-        #print "is_new_file(%r, %r)" % (pathinfo, relpath_u)
-        c = self.cursor
-        c.execute("SELECT size, mtime, ctime"
-                  " FROM local_files"
-                  " WHERE path=?",
-                  (relpath_u,))
-        row = self.cursor.fetchone()
-        if not row:
-            return True
-        return (pathinfo.size, pathinfo.mtime, pathinfo.ctime) != row