示例#1
0
class Uuid(Unicode(pattern=UUID_PATTERN)):
    """Unicode subclass for Universially-Unique Identifiers."""

    __namespace__ = 'http://spyne.io/schema'
    __type_name__ = 'uuid'
    Value = uuid.UUID

    class Attributes(Unicode(pattern=UUID_PATTERN).Attributes):
        serialize_as = None

    @staticmethod
    def validate_string(cls, value):
        return _uuid_validate[cls.Attributes.serialize_as](cls, value)

    @staticmethod
    def validate_native(cls, value):
        return SimpleModel.validate_native(cls, value)
示例#2
0
class Mandatory:
    Unicode = Unicode(type_name="MandatoryString",
                      min_occurs=1,
                      nillable=False,
                      min_len=1)
    String = String(type_name="MandatoryString",
                    min_occurs=1,
                    nillable=False,
                    min_len=1)

    AnyXml = AnyXml(type_name="MandatoryXml", min_occurs=1, nillable=False)
    AnyDict = AnyDict(type_name="MandatoryDict", min_occurs=1, nillable=False)
    AnyUri = AnyUri(type_name="MandatoryUri",
                    min_occurs=1,
                    nillable=False,
                    min_len=1)
    ImageUri = ImageUri(type_name="MandatoryImageUri",
                        min_occurs=1,
                        nillable=False,
                        min_len=1)

    Boolean = Boolean(type_name="MandatoryBoolean",
                      min_occurs=1,
                      nillable=False)

    Date = Date(type_name="MandatoryDate", min_occurs=1, nillable=False)
    Time = Time(type_name="MandatoryTime", min_occurs=1, nillable=False)
    DateTime = DateTime(type_name="MandatoryDateTime",
                        min_occurs=1,
                        nillable=False)
    Duration = Duration(type_name="MandatoryDuration",
                        min_occurs=1,
                        nillable=False)

    Decimal = Decimal(type_name="MandatoryDecimal",
                      min_occurs=1,
                      nillable=False)
    Double = Double(type_name="MandatoryDouble", min_occurs=1, nillable=False)
    Float = Float(type_name="MandatoryFloat", min_occurs=1, nillable=False)

    Integer = Integer(type_name="MandatoryInteger",
                      min_occurs=1,
                      nillable=False)
    Integer64 = Integer64(type_name="MandatoryLong",
                          min_occurs=1,
                          nillable=False)
    Integer32 = Integer32(type_name="MandatoryInt",
                          min_occurs=1,
                          nillable=False)
    Integer16 = Integer16(type_name="MandatoryShort",
                          min_occurs=1,
                          nillable=False)
    Integer8 = Integer8(type_name="MandatoryByte",
                        min_occurs=1,
                        nillable=False)

    Long = Integer64
    Int = Integer32
    Short = Integer16
    Byte = Integer8

    UnsignedInteger = UnsignedInteger(type_name="MandatoryUnsignedInteger",
                                      min_occurs=1,
                                      nillable=False)
    UnsignedInteger64 = UnsignedInteger64(type_name="MandatoryUnsignedLong",
                                          min_occurs=1,
                                          nillable=False)
    UnsignedInteger32 = UnsignedInteger32(type_name="MandatoryUnsignedInt",
                                          min_occurs=1,
                                          nillable=False)
    UnsignedInteger16 = UnsignedInteger16(type_name="MandatoryUnsignedShort",
                                          min_occurs=1,
                                          nillable=False)
    UnsignedInteger8 = UnsignedInteger8(type_name="MandatoryUnsignedByte",
                                        min_occurs=1,
                                        nillable=False)

    UnsignedLong = UnsignedInteger64
    UnsignedInt = UnsignedInteger32
    UnsignedShort = UnsignedInteger16
    UnsignedByte = UnsignedInteger8

    Uuid = Uuid(type_name="MandatoryUuid",
                min_len=1,
                min_occurs=1,
                nillable=False)

    Point = Point(type_name="Point", min_len=1, min_occurs=1, nillable=False)
    Line = Line(type_name="LineString",
                min_len=1,
                min_occurs=1,
                nillable=False)
    LineString = Line
    Polygon = Polygon(type_name="Polygon",
                      min_len=1,
                      min_occurs=1,
                      nillable=False)

    MultiPoint = MultiPoint(type_name="MandatoryMultiPoint",
                            min_len=1,
                            min_occurs=1,
                            nillable=False)
    MultiLine = MultiLine(type_name="MandatoryMultiLineString",
                          min_len=1,
                          min_occurs=1,
                          nillable=False)
    MultiLineString = MultiLine
    MultiPolygon = MultiPolygon(type_name="MandatoryMultiPolygon",
                                min_len=1,
                                min_occurs=1,
                                nillable=False)
示例#3
0
 class Attributes(Unicode(pattern=UUID_PATTERN).Attributes):
     serialize_as = None
示例#4
0
_PATT_MAC = "([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})"


def _validate_string(cls, value):
    return (SimpleModel.validate_string(cls, value) and
            (value is None or
             (cls.Attributes.min_len <= len(value) <= cls.Attributes.max_len
              and re_match_with_span(cls.Attributes, value))))


_mac_validate = {
    None: _validate_string,
    # TODO: add int serialization
}

_MacBase = Unicode(max_len=17, min_len=17, pattern=_PATT_MAC)


class MacAddress(_MacBase):
    """Unicode subclass for a MAC address."""

    __namespace__ = 'http://spyne.io/schema'
    __type_name__ = 'addr_mac'

    class Attributes(_MacBase.Attributes):
        serialize_as = None

    @staticmethod
    def validate_string(cls, value):
        return _mac_validate[cls.Attributes.serialize_as](cls, value)