IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 25, 2012, 5:10:25 PM (15 years ago)
Author:
rhenders
Message:

now storing size and modified date of each file ingested from DVO

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippToPsps/jython/scratchdb.py

    r33147 r33155  
    2626            self.dvoDetectionTable = "dvoDetectionFull"
    2727            self.dvoDoneTable = "dvoDone"
    28             self.dvoSkyTable = "SkyTable_fits"
     28            self.dvoSkyTable = "dvoSkyTable"
     29            self.dvoImageTable = "dvoImages"
    2930        else:
    3031            self.dvoMetaTable = "dvoMeta"
     
    183184
    184185    '''
     186    Have we already imported this DVO table?
     187    '''
     188    def alreadyImportedThisDvoTable(self, path):
     189
     190        fileStat = os.stat(path)
     191
     192        sql = "SELECT COUNT(*) FROM " + self.dvoDoneTable + " WHERE path = '" + path + "' AND modifiedDate = " + str(fileStat.st_mtime)
     193
     194        try:
     195            rs = self.executeQuery(sql)
     196            rs.first()
     197            if rs.getInt(1) > 0:
     198                self.logger.errorPair("Already imported up-to-date version of",  path)
     199                return True
     200            else:
     201                return False
     202        except:
     203            self.logger.exception("Unable to check whether this DVO table has been imported")
     204
     205
     206    '''
    185207    Updates dvoDone table with this DVO table
    186208    '''
    187     def setImportedThisDvoTable(self, name):
    188 
    189         sql = "INSERT INTO dvoDone (name) VALUES ('" + name + "')"
     209    def setImportedThisDvoTable(self, path):
     210
     211        fileStat = os.stat(path)
     212
     213        # first delete any old version we have ingested
     214        sql = "DELETE FROM " + self.dvoDoneTable + " WHERE path = '" + path + "'"
     215        self.execute(sql)
     216
     217        # now insert new version with up-to-date size and date
     218        sql = "INSERT INTO " + self.dvoDoneTable + " (path, modifiedDate, size) VALUES ('" + path + "', " + str(str(fileStat.st_mtime)) + ", " + str(str(fileStat.st_size)) + ")"
    190219        self.execute(sql)
    191220       
     
    210239
    211240        return True
    212 
    213     '''
    214     Have we already imported this DVO table?
    215     '''
    216     def alreadyImportedThisDvoTable(self, name):
    217 
    218         sql = "SELECT COUNT(*) FROM dvoDone WHERE name = '" + name + "'"
    219 
    220         try:
    221             rs = self.executeQuery(sql)
    222             rs.first()
    223             if rs.getInt(1) > 0:
    224                 self.logger.errorPair("Already imported DVO tables for",  name)
    225                 return True
    226             else:
    227                 return False
    228         except:
    229             self.logger.exception("Unable to check whether this DVO table has been imported")
    230241
    231242
     
    298309
    299310       self.logger.infoPair("Creating table", self.dvoDoneTable )
    300        sql = "CREATE TABLE " + self.dvoDoneTable + " (name VARCHAR(100))"
     311       sql = "CREATE TABLE " + self.dvoDoneTable + " (path VARCHAR(1000), modifiedDate BIGINT, size BIGINT)"
    301312       try: self.execute(sql)
    302313       except: self.logger.errorPair("Unable to create table", self.dvoDoneTable)
Note: See TracChangeset for help on using the changeset viewer.