Python 3.9 is now generally available.

google.appengine.api.validation.Options

Limit field based on pre-determined values.

Inherits From: Validator, expected_type

Options are used to make sure an enumerated set of values are the only one permitted for assignment. It is possible to define aliases which map multiple string values to a single original. An example of usage:

  class ZooAnimal(validated.Class):
    ATTRIBUTES = {
      'name': str,
      'kind': Options('platypus',                   # No aliases
                      ('rhinoceros', ['rhino']),    # One alias
                      ('canine', ('dog', 'puppy')), # Two aliases
                      )

options List of allowed values.

Child Classes

class expected_type

Methods

CheckFieldInitialized

View source

Check for missing fields or conflicts between fields.

Default behavior performs a simple None-check, but this can be overridden. If the intent is to allow optional fields, then use the Optional validator instead.

Args
value Value to validate.
key Name of the field being validated.
obj The object to validate against.

Raises
ValidationError When there are missing or conflicting fields.

GetWarnings

View source

Return any warnings on this attribute.

Validates the value with an eye towards things that aren't fatal problems.

Args
value Value to validate.
key Name of the field being validated.
obj The object to validate against.

Returns
A list of tuples (context, warning) where

  • Context is the field (or dotted field path, if a sub-field)
  • Warning is the string warning text

ToValue

View source

Convert value to a simplified collection or basic type.

Subclasses of Validator should override this method when the dumped representation of value is not a simple <type>(value) (e.g., a regex).

Args
value An object of the same type that was returned from Validate().

Returns
An instance of a builtin type (e.g., int, str, dict, etc). By default it returns value unmodified.

Validate

View source

Validate options.

Returns
Original value for provided alias.

Raises
ValidationError When the value is not one of predefined values.

__call__

View source

Main interface to validator is call mechanism.