IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 38958 for trunk


Ignore:
Timestamp:
Oct 24, 2015, 2:20:15 PM (11 years ago)
Author:
eugene
Message:

adjust md5sum code to put options into single location; test for AP_NPIX before trying to use in diffbatch; apply static plate scale in stackbatch; add FW source X,Y, ccdID

Location:
trunk/ippToPsps
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippToPsps/config/tables.FW.vot

    r38934 r38958  
    187187        <DESCRIPTION>Error in PSF flux.</DESCRIPTION>
    188188      </FIELD>
     189      <FIELD name="xPosChip" arraysize="1" datatype="float" unit="raw pixels" default="-999">
     190        <DESCRIPTION>PSF x position in original chip pixels.</DESCRIPTION>
     191      </FIELD>
     192      <FIELD name="yPosChip" arraysize="1" datatype="float" unit="raw pixels" default="-999">
     193        <DESCRIPTION>PSF y position in original chip pixels.</DESCRIPTION>
     194      </FIELD>
     195      <FIELD name="FccdID" arraysize="1" datatype="short" unit="dimensionsless" default="-999">
     196        <DESCRIPTION>OTA identifier of original chip (see ImageMeta).</DESCRIPTION>
     197      </FIELD>
    189198      <FIELD name="FpsfMajorFWHM" arraysize="1" datatype="float" unit="arcsec" default="-999">
    190199        <DESCRIPTION>PSF major axis FWHM.</DESCRIPTION>
  • trunk/ippToPsps/jython/batch.py

    r38924 r38958  
    466466        for table in tables:
    467467
     468            # example of listing all columns in a table:
     469            ## print "-----table: " + table.name
     470            ## columns = table.columns()
     471            ## for column in columns:
     472            ##     print column
     473            ##
     474            ## print "-----"
     475
    468476            # print "import smf table ", table
    469477            match = re.match(filter, table.name)
     
    475483
    476484            # print "read smf table ", table
    477             self.logger.infoPair("read smf table", table)
     485            self.logger.infoPair("read smf table", table.name)
    478486
    479487            # drop any previous tables before import
  • trunk/ippToPsps/jython/detectionbatch.py

    r38956 r38958  
    4646
    4747       super(DetectionBatch, self).__init__(
    48                logger,
    49                config,
    50                skychunk,
    51                gpc1Db,
    52                ippToPspsDb,
    53                scratchDb,
    54                camID,
    55                batchID,
    56                "P2",
    57                gpc1Db.getCameraStageSmf(camID,skychunk.P2_smf_version))
     48           logger,
     49           config,
     50           skychunk,
     51           gpc1Db,
     52           ippToPspsDb,
     53           scratchDb,
     54           camID,
     55           batchID,
     56           "P2",
     57           gpc1Db.getCameraStageSmf(camID,skychunk.P2_smf_version))
    5858
    5959       # get camera meta data
     
    109109           self.logger.errorPair("Could not get", "FILTERID")
    110110           raise
    111        
     111          
    112112       # MJD-OBS is the exposure start, EXTIME / 172800 = (EXPTIME sec / 84600 sec/day) / 2
    113113       self.obsTime = float(self.header['MJD-OBS']) + (float(self.header['EXPTIME']) / 172800.0)
    114    
     114       
    115115       ## MEH md5sum options test
    116        self.md5sum = None
    117116       self.md5sum = self.fits.getMd5sum()
    118        #self.md5sum = self.fits.getMd5sumShell()
    119        #self.md5sum = self.fits.getMd5sumFile()
    120  
     117       
    121118       # set up some defauts
    122119       self.totalNumPhotoRef = 0
    123 
    124120
    125121       self.filter = self.header['FILTERID'][0:1]
     
    198194        self.scratchDb.updateFilterID("FrameMeta", self.filter)
    199195        self.scratchDb.updateAllRows("FrameMeta", "processingVersion", str(self.skychunk.processingVersion))
     196        return True
    200197
    201198    '''
     
    344341        self.scratchDb.execute(sql)
    345342
     343        print "---- inserted ImageMeta into mysql"
     344
    346345        self.scratchDb.updateRecalStats(tableName, header['IMAGEID'], str(pltscale));
    347346        self.scratchDb.updateFilterID(tableName, self.filter)
    348347        self.scratchDb.updateAllRows(tableName, "processingVersion", str(self.skychunk.processingVersion))
    349348
     349        print "---- updated things"
     350
    350351        if 'NASTRO' in header: self.totalNumPhotoRef = self.totalNumPhotoRef + int(header['NASTRO'])
    351352        self.scratchDb.replaceNullsInThisColumn(tableName, "polyOrder", "0")
    352353
     354        print "---- completed ImageMeta"
     355        return True
     356
    353357    '''
    354358    Populates the ImageDetEffMeta table for this OTA
    355359    '''
    356360    def populateImageDetEffMetaTablePart1(self, ota, header):
     361        print "---- *** populate ImageDetEffMetaTablePart1"
    357362        ippTableName = ota + "_deteff"
    358363        tableName = "ImageDetEffMeta_" + ota
     
    384389
    385390        # for loop
     391        return True
    386392
    387393    '''
     
    389395    '''
    390396    def populateImageDetEffMetaTablePart2(self, ota):
     397        print "---- *** populate ImageDetEffMetaTablePart2"
     398
    391399        ippTableName = ota + "_deteff"
    392400        tableName = "ImageDetEffMeta_" + ota
    393401
    394               # ok, this is a bit tricky - Ideally I just want this all in one table, however, the way the table is layed out is 90 degrees from how I want it.
     402        # ok, this is a bit tricky - Ideally I just want this all in one table, however, the way the table is layed out is 90 degrees from how I want it.
    395403        # the steps out of this mess are as follows:
    396404        # give an index to XYxy_deteff (already done, called table_index)
     
    424432                          self.logger.errorPair('failed sql: ', sql)
    425433                          raise
     434        return True
    426435               
    427436
     
    552561        # we don't delete these anymore
    553562        results['NULLINSTFLUX'] = 0;
     563        return True
    554564
    555565    '''
     
    580590
    581591        self.scratchDb.updateAllRows(tableName, "processingVersion", str(self.skychunk.processingVersion))
     592        return True
     593
    582594    '''
    583595    Populates the SkinnyObject table for this OTA
     
    607619
    608620        self.scratchDb.updateAllRows(tableName, "processingVersion", str(self.skychunk.processingVersion))
     621        return True
    609622
    610623    '''
     
    641654           
    642655        # populate ImageMeta
     656        # XXX EAM 20151024 :
    643657        if not self.populateImageMetaTable(chipname, header):
    644658            self.logger.infoPair("skipping chip: ", chipname)
     
    647661        self.updateImageID("ImageMeta_" + chipname, x, y)
    648662
     663        # XXX EAM 20151024 : problem is here?
    649664        self.populateImageDetEffMetaTablePart1(chipname, header)
    650665        self.updateImageID("ImageDetEffMeta_" + chipname, x, y)
     
    693708        return True
    694709
    695 
    696710    '''
    697711    Applies indexes to the IPP tables
     
    722736
    723737        self.logger.infoPair("created indexes on", "IPP tables")     
     738        return True
     739
    724740
    725741    '''
     
    771787
    772788        self.scratchDb.execute(sql)
     789        return True
    773790
    774791    '''
     
    786803            self.logger.errorPair('failed sql',sql)
    787804            raise
     805        return True
    788806       
    789807    '''
     
    10041022
    10051023        print "duplicates found: ", str(Nduplicates)
     1024        return True
    10061025
    10071026    '''
     
    10121031        sql = "UPDATE " + tableName + " SET imageID = %d%d%d" % (self.expID, x, y)
    10131032        self.scratchDb.execute(sql)
     1033        return True
    10141034
    10151035    '''
     
    10221042            if table.name == "FrameMeta": self.scratchDb.reportNulls(table.name, showPartials)
    10231043            else: self.scratchDb.reportNulls(table.name + "_XY33", showPartials)
    1024 
     1044        return True
    10251045
    10261046    '''
  • trunk/ippToPsps/jython/diffbatch.py

    r38956 r38958  
    9898           self.number[num]= diffSkyFileID
    9999
    100 
    101 
    102100           self.logger.infoPair("getting diff" ," metadata")
    103101           self.logger.infoPair("for diff skyfile id ", str(diffSkyFileID))
     
    106104           self.logger.infoPair("ok, I guess that worked","now doing this")
    107105
     106           # this code is very fragile: it depends on the right order in the output
     107           # of the sql call in another file (see forcedwarpbatch.py for a better method)
    108108           if not meta:
    109109               self.logger.errorPair("Could not get", "diff metadata")
     
    132132           self.logger.infoPair("TessName ",tessName)
    133133           self.tessID[num] = self.scratchDb.getTessID(tessName)
    134        
     134
    135135           self.logger.infoPair("TessName ",tessName)
    136136       # XXX EAM 20140812 : I am hardwiring the parsing logic for RINGS vs LOCAL
     
    325325            sqlLine.group("DapFlux",          "AP_FLUX / " + expTimeString)
    326326            sqlLine.group("DapFluxErr",       "AP_FLUX_SIG / " + expTimeString)
    327 #           sqlLine.group("DapFillF",         "AP_NPIX / (3.14159265359 * AP_MAG_RADIUS * AP_MAG_RADIUS)")
    328 #       sqlLine.group("DapRadius",        "AP_MAG_RADIUS")
     327
     328        if self.haveApNpix[num]:
     329            sqlLine.group("DapFillF", "AP_NPIX / (3.14159265359 * AP_MAG_RADIUS * AP_MAG_RADIUS)")
    329330        sqlLine.group("DkronFlux",        "KRON_FLUX / " + expTimeString)
    330331        sqlLine.group("DkronFluxErr",     "KRON_FLUX_ERR / " + expTimeString)
     
    568569        self.logger.infoPair("Importing DF tables with table match expression: ", tableRE)
    569570
     571        self.tablesLoaded = []
     572        self.haveApNpix = {}
     573
    570574        count = 0
    571575        for num in self.number:
     
    581585                return False
    582586       
     587            # this is an optional field, check for it in the table below
     588            self.haveApNpix[num] = 0
     589
    583590            # count = 0
    584591            for table in tables:
     
    587594                if not match: continue
    588595
    589                 self.logger.infoPair("Reading IPP table", table.name+"_"+str(num))
     596                # check for AP_NPIX columns: missing for SAS39
     597                if table.name == "SkyChip_psf":
     598                    columns = table.columns()
     599                    if 'AP_NPIX' in columns:
     600                        self.haveApNpix[num] = 1
     601
     602                myTable = table.name + "_" + str(num)
     603
     604                self.logger.infoPair("Reading IPP table", myTable)
    590605                table = stilts.tpipe(table, cmd='addcol table_index $0')
    591606                table = stilts.tpipe(table, cmd='explodeall')
    592607                 
    593             # drop any previous tables before import
    594                 self.scratchDb.dropTable(table.name+"_"+str(num))
     608                # drop any previous tables before import
     609                self.scratchDb.dropTable(myTable)
    595610                 
    596                  
    597             # IPP FITS files are littered with infinities, so remove these
     611                # IPP FITS files are littered with infinities, so remove these
    598612                self.logger.info("Removing Infinity values from all columns")
    599613                table = stilts.tpipe(table, cmd='keepcols "' + columns + '"')
     
    602616                 
    603617                try:
    604                     table.write(self.scratchDb.url + '#' +  table.name+"_"+str(num))
     618                    table.write(self.scratchDb.url + '#' +  myTable)
    605619                    count = count + 1
    606620                except:
    607                     self.logger.exception("Problem writing table '" +  table.name+"_"+str(num) + "' to the database")
     621                    self.logger.exception("Problem writing table '" +  myTable + "' to the database")
    608622                     
    609623                self.logger.infoPair("Done. Imported", "%d tables" % count)
    610624                self.indexIppTables(num)
    611625                     
     626                self.tablesLoaded.append(myTable)
     627
    612628        return True
    613629
  • trunk/ippToPsps/jython/fits.py

    r38956 r38958  
    88
    99'''
    10 FITS file class, for reading silly headers and things
     10FITS file class, for reading headers and things
    1111'''
    1212class Fits(object):
     
    3535       #shutil.copy2(self.originalPath, self.localCopyPath)
    3636
    37        # open the local copy and parse the ridiculou plain-text header
     37       # open the local copy and parse the header
    3838       #self.file = open(self.localCopyPath)
    3939       self.file = open(self.originalPath)
     
    4545       self.rewindToStart()
    4646
    47 
    4847    '''
    4948    Get md5sum for file
    5049    '''
    5150    def getMd5sum(self):
    52         ## memory inefficient all at once read but should be ok...
    53         md5 = hashlib.md5(open(self.originalPath,'rb').read())
    54         return md5.hexdigest()
     51        mode = "hashlib"
    5552
    56     def getMd5sumShell(self):
    57         md5cmd = "md5sum %s" % (self.originalPath)
    58         md5 = Popen(md5cmd, shell=True, stdout=PIPE).stdout.read()
    59         return md5[0:32]
     53        if mode == "hashlib":
     54            ## memory-inefficient all-at-once read
     55            ## XXX EAM: do we need to free the loaded file to prevent double-usage of memory
     56            md5 = hashlib.md5(open(self.originalPath,'rb').read())
     57            return md5.hexdigest()
    6058
    61     def getMd5sumFile(self):
    62         ## unclear if rb by default for file so maybe not best
    63         md5 = hashlib.md5(self.file.read())
    64         ## if used, then need to move file pointer back to the start of the file for others to use
    65         self.rewindToStart()
    66         return md5.hexdigest()
     59        if mode == "shell":
     60            ## use external shell md5sum command: error handline needs to check the exit status
     61            md5cmd = "md5sum %s" % (self.originalPath)
     62            p = Popen(md5cmd, shell=True, stdout=PIPE)
     63            p.wait()
     64            if p.returncode < 0:
     65                self.logger.errorPair("md5sum crashed: ", md5cmd)
     66                os._exit(1)
     67               
     68            if p.returncode > 0:
     69                self.logger.errorPair("md5sum error : ", md5cmd)
     70                os._exit(1)
     71
     72            md5 = p.stdout.read()
     73            return md5[0:32]
     74
     75        if mode == "file":
     76            ## it is unclear if the open mode is 'rb' by default for file; this may fail otherwise
     77            md5 = hashlib.md5(self.file.read())
     78            ## if used, then need to move file pointer back to the start of the file for others to use
     79            self.rewindToStart()
     80            return md5.hexdigest()
    6781
    6882    '''
  • trunk/ippToPsps/jython/forcedwarpbatch.py

    r38956 r38958  
    7878       self.expTime = {}
    7979       self.analysisVer = {}
    80        set.md5sum = {}
     80       self.md5sum = {}
    8181       self.tessName = {}
    8282       self.obsTime = {}
     
    385385        sqlLine.group("FpsfFlux",          "PSF_INST_FLUX / " + expTimeString)
    386386        sqlLine.group("FpsfFluxErr",       "PSF_INST_FLUX_SIG / " + expTimeString)
     387        sqlLine.group("xPosChip",          "SRC_CHIP_X")
     388        sqlLine.group("yPosChip",          "SRC_CHIP_Y")
     389        sqlLine.group("FccdID"  ,          "SRC_CHIP_NUM")
    387390        sqlLine.group("FpsfMajorFWHM",     "PSF_FWHM_MAJ * abs(PLTSCALE)")
    388391        sqlLine.group("FpsfMinorFWHM",     "PSF_FWHM_MIN * abs(PLTSCALE)")
  • trunk/ippToPsps/jython/stackbatch.py

    r38956 r38958  
    657657        magtime = "%.5f" % (2.5*math.log10(float(header['EXPTIME'])))
    658658
     659        # XXX hard-wired platescale : 0.25 (could get this from header, but stacks have constant plate scale
     660        pltscale = 0.25
     661
    659662        sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + cmfTable + " AS b SET")
    660663
     
    665668        sqlLine.group("a." + filter + model + "MagErr",    "b.EXT_INST_MAG_SIG")
    666669                     
    667         sqlLine.group("a." + filter + model + "Radius",    "b.EXT_WIDTH_MAJ")
     670        sqlLine.group("a." + filter + model + "Radius",    "b.EXT_WIDTH_MAJ     * " + str(pltscale))
     671        sqlLine.group("a." + filter + model + "RadiusErr", "b.EXT_WIDTH_MAJ_ERR * " + str(pltscale))
     672
    668673        sqlLine.group("a." + filter + model + "Ab",        "b.EXT_WIDTH_MIN/b.EXT_WIDTH_MAJ")
     674        sqlLine.group("a." + filter + model + "AbErr",     "sqrt(b.EXT_WIDTH_MIN_ERR * b.EXT_WIDTH_MIN_ERR + pow(b.EXT_WIDTH_MAJ_ERR * b.EXT_WIDTH_MIN / b.EXT_WIDTH_MAJ, 2.0)) / b.EXT_WIDTH_MAJ")
     675
    669676        sqlLine.group("a." + filter + model + "Phi",       "DEGREES(b.EXT_THETA)")
    670 
    671         sqlLine.group("a." + filter + model + "RadiusErr", "b.EXT_WIDTH_MAJ_ERR")
    672         sqlLine.group("a." + filter + model + "AbErr",     "b.EXT_WIDTH_MIN_ERR")
    673677        sqlLine.group("a." + filter + model + "PhiErr",    "DEGREES(b.EXT_THETA_ERR)")
    674678
     
    676680
    677681        # I have raExp = X_EXT
    678 
    679         # This is tricky: RA_EXT is not defined for PS1_SV3 or PS1_V5, but X_EXT is
    680         # XXX EAM 20140812: for PV3, update cmf output to define RA_EXT, DEC_EXT
    681         ## sqlLine.group("a." + filter + model + "Ra",        "b.X_EXT")
    682         ## sqlLine.group("a." + filter + model + "Dec",       "b.Y_EXT")
    683         ## sqlLine.group("a." + filter + model + "RaErr",     "b.X_EXT_SIG") # need to modify by platescale
    684         ## sqlLine.group("a." + filter + model + "DecErr",    "b.Y_EXT_SIG")
    685682
    686683        # EAM 20150924: PV3 output cmfs were updated to include RA_EXT, DEC_EXT
     
    712709
    713710        sqlLine.group("a." + filter + model + "Mag",       "a." + filter + model + "Mag       + b.zp")
    714         sqlLine.group("a." + filter + model + "Radius",    "a." + filter + model + "Radius    * b.PLTSCALE")
    715         sqlLine.group("a." + filter + model + "RadiusErr", "a." + filter + model + "RadiusErr * b.PLTSCALE")
    716711
    717712        sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a." + filter + "ippDetectID = b.ippDetectID AND b.imageID = " + str(imageID))
     
    837832        magtime = "%.5f" % (2.5*math.log10(float(header['EXPTIME'])))
    838833
     834        # XXX hard-wired platescale : 0.25 (could get this from header, but stacks have constant plate scale
     835        pltscale = 0.25
     836
    839837        self.logger.infoPair("Adding", "petrosians for extended sources")
    840838        sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + cmfTable + " AS b SET")
     
    842840        sqlLine.group("a."+filter+"haveData",         "'1'")
    843841
    844         sqlLine.group("a." + filter + "petRadius",    "b.PETRO_RADIUS")
    845         sqlLine.group("a." + filter + "petRadiusErr", "b.PETRO_RADIUS_ERR")
    846842        sqlLine.group("a." + filter + "petMag",       "b.PETRO_MAG - " + hdrZP) 
    847843        sqlLine.group("a." + filter + "petMagErr",    "1.0 / b.PETRO_MAG_ERR")  # still inverted? (yes)
    848         sqlLine.group("a." + filter + "petR50",       "b.PETRO_RADIUS_50")
    849         sqlLine.group("a." + filter + "petR50Err",    "b.PETRO_RADIUS_50_ERR")
    850         sqlLine.group("a." + filter + "petR90",       "b.PETRO_RADIUS_90")
    851         sqlLine.group("a." + filter + "petR90Err",    "b.PETRO_RADIUS_90_ERR")
     844
     845        sqlLine.group("a." + filter + "petRadius",    "b.PETRO_RADIUS        * " + str(pltscale))
     846        sqlLine.group("a." + filter + "petRadiusErr", "b.PETRO_RADIUS_ERR    * " + str(pltscale))
     847        sqlLine.group("a." + filter + "petR50",       "b.PETRO_RADIUS_50     * " + str(pltscale))
     848        sqlLine.group("a." + filter + "petR50Err",    "b.PETRO_RADIUS_50_ERR * " + str(pltscale))
     849        sqlLine.group("a." + filter + "petR90",       "b.PETRO_RADIUS_90     * " + str(pltscale))
     850        sqlLine.group("a." + filter + "petR90Err",    "b.PETRO_RADIUS_90_ERR * " + str(pltscale))
    852851        sqlLine.group("a." + filter + "petCf",        "b.PETRO_FILL")
    853852
    854853        sql = sqlLine.makeEquals("WHERE a." + filter + "ippDetectID = b.IPP_IDET ")
    855 
    856         try: self.scratchDb.execute(sql)
    857         except:
    858             self.logger.error("problem with SQL: " + sql)
    859             raise
     854        self.scratchDb.execute(sql)
    860855
    861856        # modify petMag to apply the zero point
    862857        sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + self.scratchDb.dvoDetectionTable + " as b SET")
    863 
    864858        sqlLine.group("a." + filter + "petMag",       "a." + filter + "petMag    + b.zp")
    865 
    866         sqlLine.group("a." + filter + "petRadius",    "a." + filter + "petRadius * b.PLTSCALE")
    867         sqlLine.group("a." + filter + "petRadiusErr", "a." + filter + "petRadius * b.PLTSCALE")
    868         sqlLine.group("a." + filter + "petR50",       "a." + filter + "petR50    * b.PLTSCALE")
    869         sqlLine.group("a." + filter + "petR50Err",    "a." + filter + "petR50Err * b.PLTSCALE")
    870         sqlLine.group("a." + filter + "petR90",       "a." + filter + "petR90    * b.PLTSCALE")
    871         sqlLine.group("a." + filter + "petR90Err",    "a." + filter + "petR90Err * b.PLTSCALE")
    872 
    873859        sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a." + filter + "ippDetectID = b.ippDetectID AND b.imageID = " + str(imageID))
    874860
    875         try: self.scratchDb.execute(sql)
    876         except:
    877             self.logger.errorPair('failed sql',sql)
    878             raise
     861        self.scratchDb.execute(sql)
    879862
    880863        # modify petRadiusErr if it is not set correctlyu
     
    884867        sql = sqlLine.makeEquals("WHERE a." + filter + "petRadiusErr IS NULL")
    885868
    886         try: self.scratchDb.execute(sql)
    887         except:
    888             self.logger.errorPair('failed sql',sql)
    889             raise
    890 
     869        self.scratchDb.execute(sql)
    891870
    892871    '''
     
    11711150    def generateRandomIDs(self):
    11721151        sql = "UPDATE StackObjectThin set randomStackObjID = RAND("+str(self.batchID)+")"
    1173         try: self.scratchDb.execute(sql)
    1174         except:
    1175             self.logger.errorPair('failed sql',sql)
    1176             raise
    1177 
     1152        self.scratchDb.execute(sql)
    11781153
    11791154    def generateStackDetectRowIDsAndPspsUniqueIDs(self):
    1180 #        sql = "UPDATE StackObjectThin join (select @r:=@r+1 rownum, objID from \
    1181 #        (select @r:=0) r, StackObjectThin t) as foo using (objID) set \
    1182 #        stackDetectRowID = ((" + str(self.batchID) + " << 32 ) + rownum), \
    1183 #        uniquePspsSTid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)";
    11841155        sql = "UPDATE StackObjectThin set uniquePspsSTid = (("+str(self.batchID)+"*1000000000 ) + row)"
    1185 
    1186         try: self.scratchDb.execute(sql)
    1187         except:
    1188             self.logger.errorPair('failed sql',sql)
    1189             raise
    1190        
     1156        self.scratchDb.execute(sql)
    11911157
    11921158    '''
     
    12021168        for filter in self.filters:
    12031169            self.scratchDb.addColumn("StackObjectThin", filter + "haveData", "tinyint")
    1204 
    1205  #       sqlLine = sqlUtility("INSERT INTO StackObjectThin (")
    1206  #       
    1207  #       sqlLine.group("objID",            "objID")
    1208  #       sqlLine.group("ippObjID",         "ippObjID")
    1209 #        sqlLine.group("ippDetectID", "ippDetectID") # added ippDetectID
    1210  #       sqlLine.group("surveyID",         "'" + str(self.surveyID) + "'")
    1211  #       sqlLine.group("tessID",           "'" + str(self.tessID) + "'")
    1212  #       sqlLine.group("projectionID",     "'" + str(self.projectionID) + "'")
    1213  #       sqlLine.group("skyCellID",        "'" + str(self.skycellID) + "'")
    1214  #       sqlLine.group("processingVersion",      "'" + str(self.skychunk.processingVersion) + "'")
    1215    #     sqlLine.group("randomStackObjID", "FLOOR(RAND()*9223372036854775807)")
    12161170
    12171171        whereClause = " WHERE ("
     
    12311185        sql = "insert into StackObjectThin (objID, ippDetectID, ippObjID) select distinct objID, ippDetectID, ippObjID from dvoDetectionFull " + whereClause;
    12321186
    1233   #      sql = sqlLine.makeRaw(") SELECT DISTINCT ", "FROM " + self.scratchDb.dvoDetectionTable + whereClause)
    1234 
    1235         try: self.scratchDb.execute(sql)
    1236         except:
    1237             self.logger.errorPair('failed sql',sql)
    1238             raise
    1239 
    1240 # ok, now add surveyID, tessID, projectionID, skycellID, dtaRelease
     1187        self.scratchDb.execute(sql)
     1188
     1189        # ok, now add surveyID, tessID, projectionID, skycellID, dtaRelease
    12411190
    12421191        sql = "update StackObjectThin set surveyID = "+str(self.surveyID) +"\
     
    12461195              , processingVersion = '" + str(self.skychunk.processingVersion)  +"'"
    12471196             
    1248         try: self.scratchDb.execute(sql)
    1249         except:
    1250             self.logger.errorPair('failed sql',sql)
    1251             raise
    1252 
    1253  # ok, now fill g/r/i/z/yippDetectID using objID and detectID and image ID
     1197        self.scratchDb.execute(sql)
     1198
     1199        # ok, now fill g/r/i/z/yippDetectID using objID and detectID and image ID
    12541200
    12551201        for filter in self.filters:
    12561202            sql = "update StackObjectThin join "+self.scratchDb.dvoDetectionTable +" using (objID, ippDetectID) set "+filter+"ippDetectID = ippDetectID \
    12571203                  where " + self.scratchDb.dvoDetectionTable + ".imageID = " + str(imageID)
    1258             try: self.scratchDb.execute(sql)
    1259             except:
    1260                 self.logger.errorPair('failed sql',sql)
    1261                 raise
     1204            self.scratchDb.execute(sql)
     1205
    12621206        self.scratchDb.dropColumn("StackObjectThin", "ippDetectID")
    12631207
     
    12771221            fields += filter + "ippDetectID, "
    12781222            fields += filter + "stackDetectID, "
    1279 #            fields += filter + "StackDetectRowID, "
    12801223            fields += filter + "stackImageID " # careful here: do not add comma to last entry
    12811224            if (i < len(self.filters) - 1):
    12821225                fields += ", "
    12831226
    1284         #if (table == "StackObjectAttributes"):
    1285         #    fields += ", stackDetectRowID "
    12861227        sql  = "INSERT INTO " + table + " (" + fields + ") "
    12871228        sql += "SELECT " + fields + " FROM " + mainTable
    12881229
    1289         try: self.scratchDb.execute(sql)
    1290         except:
    1291             self.logger.errorPair('failed sql',sql)
    1292             raise
    1293 
    1294 
     1230        self.scratchDb.execute(sql)
    12951231       
    12961232    '''
     
    14281364                self.tablesLoaded.append(myTable)
    14291365
    1430         # XXX validate required tables (do we need _psf?, _xsrc? etc)
    1431 
    14321366        self.logger.infoPair("Done. Imported", "%d tables" % count)
    14331367        self.indexIppTables()
    1434 #        return False
    14351368        return True
Note: See TracChangeset for help on using the changeset viewer.