def test_datetime_with_micro(self, datetime_with_micro): original_datetime = datetime_with_micro original_datetime_isoformat = original_datetime.isoformat() python_type = datetime assert DatetimeHandler.process_value(original_datetime_isoformat, python_type) == original_datetime
def test_datetime_simple(self, datetime_simple): original_datetime = datetime_simple original_datetime_isoformat = original_datetime.isoformat() python_type = datetime assert DatetimeHandler.process_value(original_datetime_isoformat, python_type) == original_datetime
def process_result_value(self, value, dialect): """Decrypt value on the way out.""" if value is not None: self._update_key() try: decrypted_value = self.engine.decrypt(value) except ValueError: self.engine._update_key('sickrage') decrypted_value = self.engine.decrypt(value) try: return self.underlying_type.process_result_value( decrypted_value, dialect ) except AttributeError: # Doesn't have 'process_result_value' # Handle 'boolean' and 'dates' type_ = self.underlying_type.python_type date_types = [datetime.datetime, datetime.time, datetime.date] if issubclass(type_, bool): return decrypted_value == 'true' elif type_ in date_types: return DatetimeHandler.process_value( decrypted_value, type_ ) elif issubclass(type_, JSONType): return json.loads(decrypted_value) # Handle all others return self.underlying_type.python_type(decrypted_value)