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.