Changeset 31345 for trunk/ippToPsps/jython/gpc1db.py
- Timestamp:
- Apr 22, 2011, 1:15:51 PM (15 years ago)
- File:
-
- 1 edited
-
trunk/ippToPsps/jython/gpc1db.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippToPsps/jython/gpc1db.py
r31323 r31345 7 7 import logging 8 8 9 from mysql import MySql 9 10 from java.sql import * 10 from xml.etree.ElementTree import ElementTree11 11 12 12 … … 14 14 Class for GPC1 database connectivity 15 15 ''' 16 class Gpc1Db(object): 17 18 driverName="com.mysql.jdbc.Driver" 16 class Gpc1Db(MySql): 19 17 20 18 ''' 21 19 Constructor 22 23 20 ''' 24 21 def __init__(self, logger): 25 26 # setup logging 27 self.logger = logger 28 self.logger.debug("Gpc1Db constructor") 29 30 # open config 31 doc = ElementTree(file="config.xml") 32 33 # set up JDBC connection 34 dbName = doc.find("gpc1database/name").text 35 dbHost = doc.find("gpc1database/host").text 36 dbUser = doc.find("gpc1database/user").text 37 dbPass = doc.find("gpc1database/password").text 38 self.url = "jdbc:mysql://"+dbHost+"/"+dbName+"?user="+dbUser+"&password="+dbPass 39 self.con = DriverManager.getConnection(self.url) 40 self.stmt = self.con.createStatement() 22 super(Gpc1Db, self).__init__(logger,"gpc1database") 41 23 42 24 ''' … … 46 28 47 29 self.logger.debug("Gpc1Db destructor") 48 self.stmt.close()49 self.con.close()50 51 30 52 31 ''' 53 Gets a list of sky_ids in this DVO database32 Gets a list of ids in this DVO database for this stage, could be cam or staticsky (so far) 54 33 ''' 55 def get SkyIDsInThisDVODb(self, dvoDb):34 def getIDsInThisDVODbForThisStage(self, dvoDb, stage): 56 35 57 36 self.logger.debug("Querying GPC1 for sky_ids in this DVO database: " + dvoDb) … … 59 38 sql = "SELECT DISTINCT stage_id \ 60 39 FROM addRun \ 61 WHERE stage = ' staticsky' \40 WHERE stage = '" + stage + "' \ 62 41 AND dvodb = '" + dvoDb + "'" 63 64 print sql65 42 66 43 try: … … 69 46 self.logger.exception("Can't query for sky_ids") 70 47 71 skyIDs = []48 ids = [] 72 49 while (rs.next()): 73 skyIDs.append(rs.getInt(1))50 ids.append(rs.getInt(1)) 74 51 75 52 rs.close() 76 53 77 return skyIDs54 return ids 78 55 79 56 ''' … … 106 83 107 84 return imageIDs 85 86 ''' 87 Gets some camera-stage meta data for this cam_id 88 ''' 89 def getCameraStageMeta(self, camID): 90 91 self.logger.debug("Querying GPC1 for camera meta data") 92 93 meta = [] 94 sql = "SELECT exp_id, exp_name, camRun.dist_group \ 95 FROM camRun \ 96 JOIN chipRun USING(chip_id) \ 97 JOIN rawExp USING(exp_id) WHERE camRun.cam_id = %d" % camID 98 99 try: 100 rs = self.stmt.executeQuery(sql) 101 rs.first() 102 except: 103 self.logger.exception("Can't query for camera meta") 104 finally: 105 meta.append(rs.getInt(1)) 106 meta.append(rs.getString(2)) 107 meta.append(rs.getString(3)) 108 109 return meta 110 111 ''' 112 Gets a camera-stage smf for this cam_id 113 ''' 114 def getCameraStageSmf(self, camID): 115 116 self.logger.debug("Querying GPC1 for camera smf files") 117 118 sql = "SELECT path_base \ 119 FROM camProcessedExp \ 120 JOIN camRun USING(cam_id) \ 121 WHERE camRun.cam_id = %d" % camID 122 123 try: 124 rs = self.stmt.executeQuery(sql) 125 rs.first() 126 except: 127 self.logger.exception("Can't query for camera smfs") 128 129 # get path to base dir of cmf files 130 path = rs.getString(1) 131 path = path[0:path.rfind("/")] 132 133 # list all cmf files if a neb path 134 files = [] 135 if path.startswith("neb"): 136 137 f=os.popen("neb-ls -p "+path+"/%smf") 138 print "neb-ls -p "+path+"/%smf" 139 for i in f.readlines(): 140 files.append(i.rstrip()) 141 142 # or not a neb path 143 else: 144 files = glob.glob(path + "/*.cmf") 145 146 return files[0] # TODO just returning first file - check 108 147 109 148
Note:
See TracChangeset
for help on using the changeset viewer.
