Пример #1
0
class Pull2Schema(Schema):
    allow_extra_fields = True
    filter_extra_fields = True
    if_key_missing = None

    NewRecords = ForEach(ciocvalidators.NumValidator())
    NewFields = ForEach(ciocvalidators.IDValidator())
Пример #2
0
class BillingInfoSchema(ciocvalidators.RootSchema):
    StartRange = ciocvalidators.ISODateConverter()
    EndRange = ciocvalidators.ISODateConverter()
    IncludeCIC = validators.Bool()
    IncludeVOL = validators.Bool()
    OnlyAgencyCodes = ForEach(ciocvalidators.AgencyCodeValidator())
    ExcludeAgencyCodes = ForEach(ciocvalidators.AgencyCodeValidator())
Пример #3
0
class ReminderSchema(validators.RootSchema):
    if_key_missing = None

    reminder = ReminderBaseSchema()

    reminder_agency_ID = ForEach(validators.AgencyCodeValidator)
    reminder_user_ID = ForEach(validators.IDValidator())

    NUM = ForEach(validators.NumValidator(), convert_to_list=True)
    VNUM = ForEach(validators.VNumValidator(), convert_to_list=True)
Пример #4
0
class ProfileSchema(Schema):
    allow_extra_fields = True
    filter_extra_fields = True

    if_key_missing = None

    profile = ProfileBaseSchema()
    descriptions = ciocvalidators.CultureDictSchema(ProfileDescriptionSchema())
    Views = All(validators.Set(use_set=True), ForEach(ciocvalidators.IDValidator()))
    Fields = ForEach(FieldOrderSchema())
Пример #5
0
class DirectoryValidator(Schema):
    id = validators.String()
    service_ids = ForEach(validators.String())
    sdk_keys = ForEach(validators.String())
    premium = validators.Bool()
    name = validators.String()
    android_key = validators.String()
    ios_certificate_fingerprint = validators.String()
    active = validators.Bool()
    allow_extra_fields = True
Пример #6
0
class JWEAuthorizationResponsePackageValidator(Schema):
    """Authorization Response JWE payload entity validator"""
    service_pins = ForEach()
    auth_request = validators.String()  # UUID
    type = validators.String()
    reason = validators.String()
    denial_reason = validators.String(if_missing=None, if_empty=None)
    device_id = validators.String()
    auth_policy = AuthPolicyValidator(if_missing=None)
    auth_methods = ForEach(AuthMethodsValidator())
    allow_extra_fields = True
Пример #7
0
class ConfigDriver(Schema):
    """Configuration validator for a driver."""

    if_key_missing = None

    blacklist = String()
    comment = String()
    key_binary = ByteString()
    modaliases = ForEach(String)
    module = String()
    package = String()
    repository = String()
    series = ForEach(String)
Пример #8
0
class DirectoryValidator(Schema):
    """Directory entity validator"""
    id = validators.String()
    service_ids = ForEach(validators.String())
    sdk_keys = ForEach(validators.String())
    premium = validators.Bool()
    name = validators.String()
    android_key = validators.String()
    ios_certificate_fingerprint = validators.String()
    active = validators.Bool()
    denial_context_inquiry_enabled = validators.Bool(if_empty=False,
                                                     if_missing=False)
    webhook_url = validators.String()
    allow_extra_fields = True
Пример #9
0
class NestedDummySchema(Schema):
    allow_extra_fields = False
    pre_validators = [NestedVariables]
    items = ForEach(DummySchema)
    subfields = DummySchema
    name = validators.String(not_empty=True)
    qty = validators.Int(min=4, max=100)
Пример #10
0
class MotionSchema(Schema):
    """Motion validate schema
    
    Motion validate schema to assure title is not null 
    options is a motion options list containing all options description.
    participants is user id list of all users allowed to vote on this motion.
    """

    filter_extra_fields = True
    allow_extra_fields = True

    title = validators.MinLength(2, not_empty=True)
    desc = validators.String()

    options = ForEach(validators.String())
    participants = ForEach(validators.Int())
Пример #11
0
class OfflineToolSchema(Schema):
    allow_extra_fields = True
    filter_extra_fields = True

    if_key_missing = None

    machine = ForEach(MachineSchema())
Пример #12
0
class SearchValidators(Schema):
    allow_extra_fields = True
    filter_extra_fields = True
    if_key_missing = None

    Step = validators.Int(min=1, max=6, if_invalid=None)
    AgeGroup = ciocvalidators.IDValidator(if_invalid=None)
    LNID = ciocvalidators.IDValidator(if_invalid=None)
    CMID = ForEach(ciocvalidators.IDValidator(if_invalid=None))
    CMType = ciocvalidators.String(if_invalid=None)
    GHID = ForEach(ciocvalidators.IDValidator(), if_invalid=None)
    GHType = validators.String(if_invalid=None)
    GHID_GRP = ForEach(ciocvalidators.IDValidator(), if_invalid=None)
    GHID_2 = ForEach(ciocvalidators.IDValidator(), if_invalid=None)
    GHType_2 = validators.String(if_invalid=None)
    GHID_GRP_2 = ForEach(ciocvalidators.IDValidator(), if_invalid=None)
Пример #13
0
class CeilingSchema(BaseSchema):
    parent = CeilingValidator()
    name = validators.String(not_empty=True)
    max_sold = validators.Int(min=0, max=2000000)
    available_from = validators.DateConverter(month_style='dd/mm/yyyy')
    available_until = validators.DateConverter(month_style='dd/mm/yyyy')
    products = ForEach(ProductValidator())
Пример #14
0
class PostSchema(Schema):
    allow_extra_fields = True
    filter_extra_fields = True

    if_key_missing = None

    HideField = ForEach(ciocvalidators.IDValidator())
Пример #15
0
class AuthorizationResponsePackageValidator(Schema):
    """Authorization Response Package entity validator"""
    service_pins = ForEach()
    auth_request = validators.String()  # UUID
    response = validators.Bool()
    device_id = validators.String()
    allow_extra_fields = True
Пример #16
0
class ProductSchema(BaseSchema):
    category = ProductCategoryValidator()
    active = validators.Bool()
    description = validators.String(not_empty=True)
    cost = validators.Int(min=0, max=20000000)
    auth = validators.String(if_empty=None)
    validate = validators.String(if_empty=None)
    ceilings = ForEach(CeilingValidator())
Пример #17
0
class PublicationSchema(validators.RootSchema):

    if_key_missing = None

    publication = PublicationBaseSchema()
    descriptions = validators.CultureDictSchema(
        PublicationDescriptionSchema(),
        pre_validators=[validators.DeleteKeyIfEmpty()])

    group = ForEach(HeadingGroupBaseSchema())
Пример #18
0
class BootSource(Schema):
    """Configuration validator for boot source configuration."""

    if_key_missing = None

    url = UnicodeString(if_missing=DEFAULT_IMAGES_URL)
    keyring = UnicodeString(if_missing=DEFAULT_KEYRINGS_PATH)
    keyring_data = UnicodeString(if_missing="")
    selections = ForEach(BootSourceSelection,
                         if_missing=[BootSourceSelection.to_python({})])
Пример #19
0
class ProductSchema(BaseSchema):
    category = ProductCategoryValidator(not_empty=True)
    fulfilment_type = FulfilmentTypeValidator(not_empty=False)
    display_order = validators.Int(not_empty=True)
    active = validators.Bool()
    description = validators.String(not_empty=True)
    badge_text = validators.String(not_empty=False, if_empty=None)
    cost = validators.Int(min=0, max=20000000)
    auth = validators.String(if_empty=None)
    validate = validators.String(if_empty=None)
    ceilings = ForEach(CeilingValidator())
Пример #20
0
class ThesaurusFullSchema(validators.RootSchema):
    if_key_missing = None

    # subject added at runtime
    # subject = ThesaurusBaseSchema()
    descriptions = validators.CultureDictSchema(
        ThesaurusDescriptionSchema(),
        pre_validators=[validators.DeleteKeyIfEmpty()],
        chained_validators=[
            validators.FlagRequiredIfNoCulture(ThesaurusDescriptionSchema)
        ],
    )
    UseSubj_ID = All(validators.Set(use_set=True), ForEach(validators.IDValidator()))
    BroaderSubj_ID = All(
        validators.Set(use_set=True), ForEach(validators.IDValidator())
    )
    RelatedSubj_ID = All(
        validators.Set(use_set=True), ForEach(validators.IDValidator())
    )

    MakeShared = validators.Bool()
Пример #21
0
class GeneralHeadingSchema(validators.RootSchema):
    if_key_missing = None

    generalheading = GeneralHeadingBaseSchema()
    descriptions = validators.CultureDictSchema(
        GeneralHeadingDescriptionSchema(),
        pre_validators=[validators.DeleteKeyIfEmpty()],
    )

    RelatedHeadings = All(
        validators.Set(use_set=True), ForEach(validators.IDValidator())
    )
Пример #22
0
class ClusterConfiguration(Configuration, metaclass=ClusterConfigurationMeta):
    """Local configuration for the MAAS cluster."""

    maas_url = ConfigurationOption(
        "maas_url",
        "The HTTP URL(s) for the MAAS region.",
        ForEach(
            ExtendedURL(require_tld=False),
            convert_to_list=True,
            if_missing=["http://localhost:5240/MAAS"],
        ),
    )

    # TFTP options.
    tftp_port = ConfigurationOption(
        "tftp_port",
        "The UDP port on which to listen for TFTP requests.",
        Number(min=0, max=(2 ** 16) - 1, if_missing=69),
    )
    tftp_root = ConfigurationOption(
        "tftp_root",
        "The root directory for TFTP resources.",
        DirectoryString(
            # Don't validate values that are already stored.
            accept_python=True,
            if_missing=get_tentative_data_path(
                "/var/lib/maas/boot-resources/current"
            ),
        ),
    )

    # GRUB options.

    @property
    def grub_root(self):
        "The root directory for GRUB resources."
        return os.path.join(self.tftp_root, "grub")

    # NodeGroup UUID Option, used for migrating to rack controller
    cluster_uuid = ConfigurationOption(
        "cluster_uuid",
        "The UUID for this cluster controller",
        UUIDString(if_missing=UUID_NOT_SET),
    )

    # Debug options.
    debug = ConfigurationOption(
        "debug",
        "Enable debug mode for detailed error and log reporting.",
        OneWayStringBool(if_missing=False),
    )
Пример #23
0
class EnhancementSchema(Schema):
    if_key_missing = None

    allow_extra_fields = True
    filter_extra_fields = True

    Title = validators.String(max=255, not_empty=True)
    SYS_PRIORITY = validators.IntID(not_empty=True)
    SYS_ESTIMATE = validators.Int(min=0, max=15, not_empty=True)
    SYS_STATUS = validators.IntID(max=7, not_empty=True)
    SYS_FUNDER = validators.IntID()
    BasicDescription = validators.String(max=8000)
    AdditionalNotes = validators.String(max=2000)
    SYS_SOURCETYPE = validators.IntID()
    SourceDetail = validators.String(max=255)

    Modules = ForEach(validators.String(min=1, max=1))
    Keywords = ForEach(validators.IntID())

    Releases = ForEach(validators.IntID())
    SeeAlso = ForEach(validators.IntID())

    chained_validators = [validators.ForceRequire('Modules', 'Keywords')]
Пример #24
0
class ConditionalGeoFenceValidator(Schema):
    """Validates conditional geofence policies"""
    allow_extra_fields = True
    inside = validators.NotEmpty(accept_iterator=True)
    outside = validators.NotEmpty(accept_iterator=True)
    fences = ForEach(not_empty=True)

    @staticmethod
    def _validate_python(value, state):
        if 'inside' in value and 'outside' in value:
            value['inside'] = PolicyBaseValidator().to_python(
                value['inside'], state)
            value['outside'] = PolicyBaseValidator().to_python(
                value['outside'], state)
        return value
Пример #25
0
class SetAnswersSchema(CSRFSchema):
    """The :class:`~wte.views.quiz.SetAnswersSchema` validates requests to
    store a new answer for a :class:`~wte.text_formatter.docutils_ext.Quiz`.
    """

    quiz = validators.UnicodeString(not_empty=True)
    """The :class:`~wte.models.Quiz` name."""
    question = validators.UnicodeString(not_empty=True)
    """The :class:`~wte.models.Quiz` question."""
    answer = ForEach(validators.UnicodeString(if_empty='', if_missing=''))
    """The answer (can be given multiple times for multiple answers)."""
    correct = validators.StringBool(not_empty=True,
                                    if_missing=False,
                                    if_empty=False)
    """Whether the answer is correct or not."""
Пример #26
0
class ActionSchema(CSRFSchema):
    """The :class:`~wte.views.user.ActionSchema` handles the validation of
    user action requests.
    """
    action = All(validators.UnicodeString(not_empty=True),
                 validators.OneOf(['validate', 'password', 'delete']))
    """The action to apply"""
    confirm = validators.StringBool(if_empty=False, if_missing=False)
    """Whether the user has confirmed the action"""
    user_id = ForEach(validators.Int(), if_missing=None)
    """User ids to apply the action to"""
    q = validators.UnicodeString(if_empty=None, if_missing=None)
    """Optional query parameter for the redirect"""
    status = validators.UnicodeString(if_empty=None, if_missing=None)
    """Optional status parameter for the redirect"""
    start = validators.UnicodeString(if_empty=None, if_missing=None)
    """Optional start parameter for the redirect"""
Пример #27
0
class UpdatePubsSchema(Schema):
    allow_extra_fields = True
    filter_extra_fields = True

    if_key_missing = None

    descriptions = ciocvalidators.CultureDictSchema(
        UpdatePubsDescriptionSchema(),
        pre_validators=[ciocvalidators.DeleteKeyIfEmpty()],
    )
    GHID = All(validators.Set(use_set=True),
               ForEach(ciocvalidators.IDValidator()))
    DeleteFeedback = validators.DictConverter({
        "Y": True,
        "N": False
    },
                                              if_empty=False,
                                              if_missing=False)
Пример #28
0
class CommunitySchema(Schema):
    allow_extra_fields = True
    filter_extra_fields = True

    if_key_missing = None

    pre_validators = [viewbase.cull_extra_cultures("descriptions")]
    community = CommunityBaseSchema()
    descriptions = ciocvalidators.CultureDictSchema(
        CommunityDescriptionSchema(),
        record_cultures=True,
        delete_empty=False,
        chained_validators=[
            ciocvalidators.FlagRequiredIfNoCulture(CommunityDescriptionSchema)
        ],
    )

    alt_names = ForEach(AltNameSchema())
Пример #29
0
class PolicyBaseValidator(Schema):
    """Base policy validator for legacy and new policies"""
    allow_extra_fields = True
    type = validators.String(if_missing="LEGACY")
    fences = ForEach(PolicyFenceValidator())

    @staticmethod
    def _validate_python(value, state):
        if value["type"] == "COND_GEO":
            value.update(ConditionalGeoFenceValidator().to_python(
                value, state))
        elif value["type"] == "METHOD_AMOUNT":
            value.update(MethodAmountPolicyValidator().to_python(value, state))
        elif value["type"] == "FACTORS":
            value.update(FactorsPolicyValidator().to_python(value, state))
        elif value["type"] == "LEGACY":
            if "deny_rooted_jailbroken" in value:
                del value["deny_rooted_jailbroken"]
            if "deny_emulator_simulator" in value:
                del value["deny_emulator_simulator"]
            del value["fences"]
        return value
Пример #30
0
class AuthPolicyValidator(Schema):
    """Auth policy validate for auth method insights"""
    requirement = validators.String(if_missing=None, if_empty=None)
    amount = validators.Number(if_missing=None)
    types = ForEach(validators.String(), if_missing=None)
    geofences = ForEach(GeoFenceValidator(), if_missing=[], if_empty=[])
Пример #31
0
	def _convert_to_list(self, value):
		if isinstance(value, (str, unicode)):
			return value.split(',')

		return ForEach._convert_to_list(self, value)