def addOrUpdateProject(self, wmx_job_id, project_Id, alias, alias_clean, state, year, parent_dir, archive_dir, project_dir, UID, project_AOI): # Where WMXJobID = '<Job_ID>' where_clause = "{} = {}".format( arcpy.AddFieldDelimiters(self.fclass, field_ProjectJob_WMXJobID), wmx_job_id) row = [ UID, # field_ProjectJob_UID wmx_job_id, # field_ProjectJob_WMXJobID, project_Id, # field_ProjectJob_ProjID, alias, # field_ProjectJob_Alias alias_clean, # field_ProjectJob_AliasClean state, # field_ProjectJob_State year, # field_ProjectJob_Year parent_dir, # field_ProjectJob_ParentDir archive_dir, # field_ProjectJob_ArchDir project_dir, # field_ProjectJob_ProjDir project_AOI # field_ProjectJob_SHAPE ] Utility.addOrUpdateRecord(in_table=self.fclass, field_names=self.fields, uidIndex=self.uid_index, where_clause=where_clause, rowValueList=row) return row
def updateProject(self, row): wmx_job_id = self.getWMXJobID(row) where_clause = "{} = {}".format( arcpy.AddFieldDelimiters(self.fclass, field_ProjectJob_WMXJobID), wmx_job_id) Utility.addOrUpdateRecord(in_table=self.fclass, field_names=self.fields, uidIndex=self.uid_index, where_clause=where_clause, rowValueList=row) return row
def addOrUpdateProject(self, project_Id, UID, project_AOI): # Where ProjectID = '<project_ID>' where_clause = "{} = '{}'".format( arcpy.AddFieldDelimiters(self.fclass, field_QC_ProjID), project_Id) row = [UID, project_Id, project_AOI] Utility.addOrUpdateRecord(in_table=self.fclass, field_names=self.fields, uidIndex=self.uid_index, where_clause=where_clause, rowValueList=row) return row
def saveOrUpdate(self, row): project_id = row[self.fields.index(field_LASFileInfo_ProjID)] file_name = row[self.fields.index(field_LASFileInfo_File_Name)] las_class = row[self.fields.index(field_LASFileInfo_File_LAS_Class)] where_clause = "{} = '{}'".format( arcpy.AddFieldDelimiters(self.fclass, field_LASFileInfo_ProjID), project_id) where_clause = "{} and {} = '{}'".format( where_clause, arcpy.AddFieldDelimiters(self.fclass, field_LASFileInfo_File_Name), file_name) if las_class is None: where_clause = "{} and {} is null".format( where_clause, arcpy.AddFieldDelimiters(self.fclass, field_LASFileInfo_File_LAS_Class), las_class) else: where_clause = "{} and {} = {}".format( where_clause, arcpy.AddFieldDelimiters(self.fclass, field_LASFileInfo_File_LAS_Class), las_class) return Utility.addOrUpdateRecord(in_table=self.fclass, field_names=self.fields, uidIndex=self.uid_index, rowValueList=row, where_clause=where_clause)
def saveOrUpdate(self, row): project_id = row[self.fields.index(field_LASFileInfo_ProjID)] file_name = row[self.fields.index(field_LASFileInfo_File_Name)] category = row[self.fields.index(field_LASDStatInfo_Category)] item = row[self.fields.index(field_LASDStatInfo_Item)] where_clause = "{} = '{}'".format( arcpy.AddFieldDelimiters(self.fclass, field_LASFileInfo_ProjID), project_id) where_clause = "{} and {} = '{}'".format( where_clause, arcpy.AddFieldDelimiters(self.fclass, field_LASFileInfo_File_Name), file_name) where_clause = "{} and {} = '{}'".format( where_clause, arcpy.AddFieldDelimiters(self.fclass, field_LASDStatInfo_Category), category) where_clause = "{} and {} = '{}'".format( where_clause, arcpy.AddFieldDelimiters(self.fclass, field_LASDStatInfo_Item), item) return Utility.addOrUpdateRecord(in_table=self.fclass, field_names=self.fields, uidIndex=self.uid_index, rowValueList=row, where_clause=where_clause)
def saveOrUpdateRasterFileStat(self, row, project_id, file_name, elevation_type, group): ''' NOTE: This depends on the fields being in the correct order! @see: CMDRConfig.fields_RasterFileStat for the correct order ''' where_clause = "{} = '{}'".format( arcpy.AddFieldDelimiters(self.fclass, field_RasterFileStat_ProjID), project_id) where_clause = "{} and {} = '{}'".format( where_clause, arcpy.AddFieldDelimiters(self.fclass, field_RasterFileStat_Name), file_name) where_clause = "{} and {} = '{}'".format( where_clause, arcpy.AddFieldDelimiters(self.fclass, field_RasterFileStat_ElevType), elevation_type) where_clause = "{} and {} = '{}'".format( where_clause, arcpy.AddFieldDelimiters(self.fclass, field_RasterFileStat_Group), group) return Utility.addOrUpdateRecord(in_table=self.fclass, field_names=self.fields, uidIndex=self.uid_index, rowValueList=row, where_clause=where_clause)
def updateProjIDAOI(project_id, row, aoi, fclass, fields, uid_index): # Where WMXJobID = '<Job_ID>' where_clause = "{} = '{}'".format( arcpy.AddFieldDelimiters(fclass, field_Contract_ProjID), project_id) index = fields.index(field_ProjectJob_SHAPE) row = list(row) if aoi is not None: row[index] = aoi Utility.addOrUpdateRecord(in_table=fclass, field_names=fields, uidIndex=uid_index, where_clause=where_clause, rowValueList=row) return row
def updateJobAOI(self, project_row, project_AOI): wmx_job_id = self.getWMXJobID(project_row) # Where WMXJobID = '<Job_ID>' where_clause = "{} = {}".format( arcpy.AddFieldDelimiters(self.fclass, field_ProjectJob_WMXJobID), wmx_job_id) project_row = list(project_row) index = self.fields.index(field_ProjectJob_SHAPE) project_row[index] = project_AOI Utility.addOrUpdateRecord(in_table=self.fclass, field_names=self.fields, uidIndex=self.uid_index, where_clause=where_clause, rowValueList=project_row) return project_row
def addOrUpdateProject(self, project_ID, project_UID, project_AOI): # Where ProjectID = '<project_ID>' where_clause = "{} = '{}'".format( arcpy.AddFieldDelimiters(self.fclass, field_Contract_ProjID), project_ID) arcpy.AddMessage( "Checking to see if {} exists in CMDR Contracts".format( project_ID)) row_Contracts, project_UID = Utility.getExistingRecord( in_table=self.fclass, field_names=self.fields, uidIndex=self.uid_index, where_clause=where_clause) if row_Contracts is None: project_UID = Utility.createUid(None) arcpy.AddMessage( "Existing row not found, creating new one with UID {}".format( project_UID)) else: if project_UID is None or len(project_UID) < 5: project_UID = Utility.createUid(None) arcpy.AddMessage( "Found existing row {} with invalid UID. New UID {}". format(row_Contracts, project_UID)) else: arcpy.AddMessage("Found existing row {} with UID {}".format( row_Contracts, project_UID)) row_Contract = [ project_UID, # UID project_ID, # ProjectID project_AOI ] # SHAPE@ Utility.addOrUpdateRecord(in_table=self.fclass, field_names=self.fields, uidIndex=self.uid_index, where_clause=where_clause, rowValueList=row_Contract) return row_Contract
def addOrUpdate(self, wmx_job_ID, parent_dir, master_name, masterCellSize_m, masterServerConnectionFilePath, masterServiceFolder, master_AOI): # Create project directory path masterDir = parent_dir if masterServiceFolder is not None and len(masterServiceFolder) > 0: masterDir = os.path.join(masterDir, masterServiceFolder) if master_name is not None and len(master_name) > 0: masterDir = os.path.join(masterDir, master_name) where_clause = "{} = {}".format( arcpy.AddFieldDelimiters(self.fclass, field_MDMaster_WMXJobID), wmx_job_ID) row = [ master_AOI, wmx_job_ID, master_name, masterDir, parent_dir, masterCellSize_m, masterServerConnectionFilePath, masterServiceFolder ] return Utility.addOrUpdateRecord(in_table=self.fclass, field_names=self.fields, uidIndex=self.uid_index, rowValueList=row, where_clause=where_clause)