Exemple #1
0
 def test_testAddRun(self):
     """Test adding a run to the tracking database."""
     tempdir = tempfile.mkdtemp(prefix='trackDb')
     trackingDbFile = os.path.join(tempdir, 'tracking.db')
     trackingdb = db.TrackingDb(database=trackingDbFile)
     trackId = trackingdb.addRun(opsimGroup=self.opsimGroup,
                                 opsimRun=self.opsimRun,
                                 opsimComment=self.opsimComment,
                                 opsimVersion=self.opsimVersion,
                                 opsimDate=self.opsimDate,
                                 mafComment=self.mafComment,
                                 mafDir=self.mafDir,
                                 mafVersion=self.mafVersion,
                                 mafDate=self.mafDate,
                                 dbFile=self.dbFile)
     tdb = db.Database(database=trackingDbFile)
     res = tdb.query_arbitrary('select * from runs')
     self.assertEqual(res['mafRunId'][0], trackId)
     # Try adding this run again. Should return previous trackId.
     trackId2 = trackingdb.addRun(mafDir=self.mafDir)
     self.assertEqual(trackId, trackId2)
     # Test will add additional run, with new trackId.
     trackId3 = trackingdb.addRun(mafDir='test2')
     self.assertNotEqual(trackId, trackId3)
     trackingdb.close()
     tdb.close()
     shutil.rmtree(tempdir)
Exemple #2
0
 def testAddRun(self):
     """Test adding a run to the tracking database."""
     trackingdb = db.TrackingDb(database=self.trackingDb)
     trackId = trackingdb.addRun(opsimRun=self.opsimRun,
                                 opsimComment=self.opsimComment,
                                 mafComment=self.mafComment,
                                 mafDir=self.mafDir,
                                 mafDate=self.mafDate,
                                 opsimDate=self.opsimDate)
     tdb = db.Database(database=self.trackingDb,
                       dbTables={'runs': ['runs', 'mafRunId']})
     res = tdb.queryDatabase('runs', 'select * from runs')
     self.assertEqual(res['mafRunId'][0], trackId)
     # Try adding this run again. Should just return previous trackId without adding.
     trackId2 = trackingdb.addRun(opsimRun=self.opsimRun,
                                  opsimComment=self.opsimComment,
                                  mafComment=self.mafComment,
                                  mafDir=self.mafDir,
                                  mafDate=self.mafDate,
                                  opsimDate=self.opsimDate)
     self.assertEqual(trackId, trackId2)
     # Test will add run, if we use 'override=True'. Also works to use None's.
     trackId3 = trackingdb.addRun(opsimRun=None,
                                  opsimComment=None,
                                  mafComment=None,
                                  mafDir=self.mafDir,
                                  override=True,
                                  mafDate=self.mafDate,
                                  opsimDate=self.opsimDate)
     self.assertNotEqual(trackId, trackId3)
     trackingdb.close()
Exemple #3
0
 def test_testTrackingDbCreation(self):
     """Test tracking database creation."""
     tempdir = tempfile.mkdtemp(prefix='trackDb')
     trackingDbFile = os.path.join(tempdir, 'tracking.db')
     trackingdb = db.TrackingDb(database=trackingDbFile)
     self.assertTrue(os.path.isfile(trackingDbFile))
     trackingdb.close()
     shutil.rmtree(tempdir)
Exemple #4
0
 def testDelRun(self):
     """Test removing a run from the tracking database."""
     trackingdb = db.TrackingDb(database=self.trackingDb)
     tdb = db.Database(database=self.trackingDb,
                       dbTables={'runs': ['runs', 'mafRunId']})
     # Add a run.
     trackId = trackingdb.addRun(mafDir=self.mafDir)
     res = tdb.queryDatabase('runs', 'select * from runs')
     self.assertEqual(res['mafRunId'][0], trackId)
     # Test removal works.
     trackingdb.delRun(trackId)
     res = tdb.queryDatabase('runs', 'select * from runs')
     self.assertTrue(len(res) == 0)
     # Test cannot remove run which does not exist.
     self.assertRaises(Exception, trackingdb.delRun, trackId)
     trackingdb.close()
Exemple #5
0
 def test_testDelRun(self):
     """Test removing a run from the tracking database."""
     tempdir = tempfile.mkdtemp(prefix='trackDb')
     trackingDbFile = os.path.join(tempdir, 'tracking.db')
     trackingdb = db.TrackingDb(database=trackingDbFile)
     tdb = db.Database(database=trackingDbFile)
     # Add two runs.
     trackId = trackingdb.addRun(mafDir=self.mafDir)
     trackId2 = trackingdb.addRun(mafDir=self.mafDir + 'test2')
     res = tdb.query_arbitrary('select * from runs')
     self.assertEqual(res['mafRunId'][0], trackId)
     # Test removal works.
     trackingdb.delRun(trackId)
     res = tdb.query_arbitrary('select * from runs')
     self.assertTrue(len(res) == 1)
     # Test cannot remove run which does not exist.
     self.assertRaises(Exception, trackingdb.delRun, trackId)
     trackingdb.close()
     tdb.close()
     shutil.rmtree(tempdir)
Exemple #6
0
 def testAddRun(self):
     """Test adding a run to the tracking database."""
     trackingdb = db.TrackingDb(database=self.trackingDb)
     trackId = trackingdb.addRun(opsimGroup=self.opsimGroup,
                                 opsimRun=self.opsimRun,
                                 opsimComment=self.opsimComment,
                                 opsimVersion=self.opsimVersion,
                                 opsimDate=self.opsimDate,
                                 mafComment=self.mafComment,
                                 mafDir=self.mafDir,
                                 mafVersion=self.mafVersion,
                                 mafDate=self.mafDate,
                                 dbFile=self.dbFile)
     tdb = db.Database(database=self.trackingDb,
                       dbTables={'runs': ['runs', 'mafRunId']})
     res = tdb.queryDatabase('runs', 'select * from runs')
     self.assertEqual(res['mafRunId'][0], trackId)
     # Try adding this run again. Should return previous trackId.
     trackId2 = trackingdb.addRun(mafDir=self.mafDir)
     self.assertEqual(trackId, trackId2)
     # Test will add additional run, with new trackId.
     trackId3 = trackingdb.addRun(mafDir='test2')
     self.assertNotEqual(trackId, trackId3)
     trackingdb.close()
Exemple #7
0
 def testTrackingDbCreation(self):
     """Test tracking database creation."""
     trackingdb = db.TrackingDb(database=self.trackingDb)
     self.assertTrue(os.path.isfile(self.trackingDb))
     trackingdb.close()
Exemple #8
0
#!/usr/bin/env python

import argparse
import lsst.sims.maf.db as db

if __name__ == "__main__":

    parser = argparse.ArgumentParser(
        description="Remove a MAF run from the tracking database.")
    parser.add_argument("mafRunId",
                        type=int,
                        help="MAF Run ID from the tracking database.")
    defaultdb = 'trackingDb_sqlite.db'
    parser.add_argument("-t",
                        "--trackingDb",
                        type=str,
                        default=defaultdb,
                        help="Tracking database filename.")
    args = parser.parse_args()

    # If db is just a filename, assume sqlite and prepend address string

    trackingDb = db.TrackingDb(database=args.trackingDb)
    trackingDb.delRun(int(args.mafRunId))
Exemple #9
0
    # Check tracking DB is sqlite (and add as convenience if forgotten).
    trackingDb = args.trackingDb
    print 'Using tracking database at %s' % (trackingDb)

    global startRunId
    startRunId = -666
    # If given a directory argument:
    if args.mafDir is not None:
        mafDir = os.path.realpath(args.mafDir)
        if not os.path.isdir(mafDir):
            print 'There is no directory containing MAF outputs at %s.' % (
                mafDir)
            print 'Just opening using tracking db at %s.' % (trackingDb)
        # Open tracking database to add a run.
        trackDb = db.TrackingDb(database=trackingDb)
        # Set opsim comment and name from the config files from the run.
        opsimComment = ''
        opsimRun = ''
        opsimDate = ''
        mafDate = ''
        if os.path.isfile(os.path.join(mafDir, 'configSummary.txt')):
            file = open(os.path.join(mafDir, 'configSummary.txt'))
            for line in file:
                tmp = line.split()
                if tmp[0].startswith('RunName'):
                    opsimRun = ' '.join(tmp[1:])
                if tmp[0].startswith('RunComment'):
                    opsimComment = ' '.join(tmp[1:])
                if tmp[0].startswith('MAFVersion'):
                    mafDate = tmp[-1]