def fromFieldData(self, sgData): ''' Sets the fields value from data returned by a Shotgun query. Returns True on success. Args: * (dict) sgData: Dict of Shotgun formatted Entity field values. ''' with self: ShotgunORM.LoggerField.debug('%(sgField)s.fromFieldData()', {'sgField': self}) ShotgunORM.LoggerField.debug(' * sgData: %(sgData)s', {'sgData': sgData}) parent = self.parentEntity() if not self.isEditable(): raise RuntimeError('%s is not editable!' % ShotgunORM.mkEntityFieldString(self)) if not ShotgunORM.config.DISABLE_FIELD_VALIDATE_ON_SET_VALUE: self.validate(forReal=True) result = self._fromFieldData(sgData) if not result: return False self.setValid(True) self.setHasCommit(True) self.changed() return True
def setValue(self, sgData): ''' Set the value of the field. Returns True on success. Args: * (object) sgData: New field value. ''' with self: ShotgunORM.LoggerField.debug('%(sgField)s.setValue(...)', {'sgField': self}) ShotgunORM.LoggerField.debug(' * sgData: %(sgData)s', {'sgData': sgData}) if not self.isEditable(): raise RuntimeError('%s is not editable!' % ShotgunORM.mkEntityFieldString(self)) if not ShotgunORM.config.DISABLE_FIELD_VALIDATE_ON_SET_VALUE: self.validate(forReal=True) if sgData == None: sgData = self.defaultValue() updateResult = self._setValue(sgData) if not updateResult: if not self.isValid(): self.setValid(True) return False self.setValid(True) self.setHasCommit(True) self.changed() return True
def __repr__(self): return '<%s>' % ShotgunORM.mkEntityFieldString(self)