예제 #1
0
class ConfigurationSerializer(serializers.Serializer):
    priority = fields.ChoiceField(PRIORITY)
    scheduler = fields.ChoiceField(SCHEDULER_TYPE)
    max_tasks = fields.IntegerField(min_value=1)
    weight = fields.ChoiceField(DECISION_WEIGHT)

    parallelism = fields.ListField(child=fields.RegexField(r'^\d+(\.\d+)?$'),
                                   min_length=4,
                                   max_length=4)

    memory = fields.FloatField()
    cpu_num = fields.IntegerField(allow_null=True, min_value=1)
    disk_size = fields.FloatField()
    cpu_model = fields.CharField(default='', allow_null=True, allow_blank=True)
    cpu_time_exec_cmds = fields.FloatField()
    memory_exec_cmds = fields.FloatField()

    console_level = fields.ChoiceField(LOGGING_LEVELS)
    file_level = fields.ChoiceField(LOGGING_LEVELS)
    console_formatter = fields.CharField()
    file_formatter = fields.CharField()

    keep_intermediate_files = fields.BooleanField()
    upload_verifier_files = fields.BooleanField()
    upload_other_files = fields.BooleanField()
    ignore_subjobs = fields.BooleanField()
    total_coverage = fields.BooleanField()
    coverage_details = fields.ChoiceField(COVERAGE_DETAILS)

    def create(self, validated_data):
        raise NotImplementedError

    def update(self, instance, validated_data):
        raise NotImplementedError
예제 #2
0
class PresentacionSerializer(serializers.EmbeddedDocumentSerializer):
    nombre = fields.CharField(required=True)
    precio_compra = fields.FloatField(required=True)
    precio_venta = fields.FloatField(required=True)
    lotes = fields.ListField(LotesSerializer(required=True))
    medidas = MedidasSerializar(required=False)
    detalle_unitario = fields.ListField(
        DetalleUnitarioSerializer(required=False))

    class Meta:
        model = Presentacion
        fields = "__all__"
class BovespaCompanySearchSerializerV1(CustomHaystackSerializer, BaseCachedSerializerMixin):
    """
    A Fast Searcher (Solr) version of the original Business Object API View
    """

    score = fields.FloatField(required=False)

    class Meta(CustomHaystackSerializer.Meta):
        model = BovespaCompany
        # The `index_classes` attribute is a list of which search indexes
        # we want to include in the search.
        index_classes = [BovespaCompanyIndex]

        # The `fields` contains all the fields we want to include.
        # NOTE: Make sure you don't confuse these with model attributes. These
        # fields belong to the search index!
        fields = [
            "entity_type",
            "ccvm",
            "created_at",
            "cnpj",
            "updated_at",
            "company_name",
            "situation",
            "company_type",
            "granted_date",
            "canceled_date",
            "score",
        ]

        search_fields = ["text"]
class BovespaAccountSearchSerializerV1(CustomHaystackSerializer, BaseCachedSerializerMixin):
    """
    A Fast Searcher (Solr) version of the original Business Object API View
    """

    score = fields.FloatField(required=False)

    class Meta(CustomHaystackSerializer.Meta):
        model = BovespaAccount
        # The `index_classes` attribute is a list of which search indexes
        # we want to include in the search.
        index_classes = [BovespaAccountIndex]

        # The `fields` contains all the fields we want to include.
        # NOTE: Make sure you don't confuse these with model attributes. These
        # fields belong to the search index!
        fields = [
            "ccvm",
            "period",
            "version",
            "number",
            "name",
            "financial_info_type",
            "balance_type",
            "comments",
            "amount",
            "created_at",
            "updated_at",
            "score",
        ]

        search_fields = ["text"]
class BovespaCompanyFileSearchSerializerV1(CustomHaystackSerializer,
                                           BaseCachedSerializerMixin):
    """
    A Fast Searcher (Solr) version of the original Business Object API View
    """

    score = fields.FloatField(required=False)

    class Meta(CustomHaystackSerializer.Meta):
        model = BovespaCompanyFile
        # The `index_classes` attribute is a list of which search indexes
        # we want to include in the search.
        index_classes = [BovespaCompanyFileIndex]

        # The `fields` contains all the fields we want to include.
        # NOTE: Make sure you don't confuse these with model attributes. These
        # fields belong to the search index!
        fields = [
            "ccvm", "doc_type", "fiscal_date", "version", "status",
            "created_at", "updated_at", "protocol", "delivery_date",
            "delivery_type", "company_name", "company_cnpj", "fiscal_date_y",
            "fiscal_date_yd", "fiscal_date_q", "fiscal_date_m",
            "fiscal_date_md", "fiscal_date_w", "fiscal_date_wd",
            "fiscal_date_yq", "fiscal_date_ym", "source_url", "file_url",
            "file_name", "file_extension"
            "score"
        ]
예제 #6
0
    def test_basic_mapping(self, assert_dict_equals):
        """
        Confirm that the serializer can still handle models w/
        standard Django fields
        """
        class TestSerializer(DjongoModelSerializer):
            class Meta:
                model = GenericModel
                fields = '__all__'

        expected_dict = {
            'id':
            drf_fields.IntegerField(label='ID', read_only=True),
            'big_int':
            drf_fields.IntegerField(max_value=9223372036854775807,
                                    min_value=-9223372036854775808),
            'bool':
            drf_fields.BooleanField(),
            'char':
            drf_fields.CharField(max_length=20),
            'comma_int':
            ("CharField(validators=[<django.core.validators.RegexValidator "
             "object>, <django.core.validators.MaxLengthValidator object>])"),
            'date':
            drf_fields.DateField(),
            'date_time':
            drf_fields.DateTimeField(),
            'decimal':
            drf_fields.DecimalField(decimal_places=5, max_digits=10),
            'email':
            drf_fields.EmailField(max_length=254),
            'float':
            drf_fields.FloatField(),
            'integer':
            drf_fields.IntegerField(max_value=2147483647,
                                    min_value=-2147483648),
            'null_bool':
            drf_fields.NullBooleanField(required=False),
            'pos_int':
            drf_fields.IntegerField(max_value=2147483647, min_value=0),
            'pos_small_int':
            drf_fields.IntegerField(max_value=32767, min_value=0),
            'slug':
            drf_fields.SlugField(allow_unicode=False, max_length=50),
            'small_int':
            drf_fields.IntegerField(max_value=32767, min_value=-32768),
            'text':
            "CharField(style={'base_template': 'textarea.html'})",
            'time':
            drf_fields.TimeField(),
            'url':
            drf_fields.URLField(max_length=200),
            'ip':
            drf_fields.IPAddressField(),
            'uuid':
            "ModelField(model_field=<django.db.models.fields.UUIDField: uuid>)",
        }

        assert_dict_equals(TestSerializer().get_fields(), expected_dict)
예제 #7
0
class MeasurementsSerializer(serializers.Serializer):
    timestamp = serializers.DateTimeField(required=True)
    #timestamp = fields.DateTimeField(input_formats=[%Y-%m-%dT%H:%M:%S.%fZ], required=True)
    metrics = fields.ListField(
        child=fields.DictField(child=fields.FloatField()),
        help_text=
        'Any matric field like temperature, dew point, precipitation or can be added new one in the future',
    )
예제 #8
0
class DetalleUnitarioSerializer(serializers.EmbeddedDocumentSerializer):
    cantidad_unitaria = fields.IntegerField(required=False)
    nombre_sub_presentacion = fields.CharField(required=False)
    unidad_medida = fields.CharField(required=False)
    precio_unidad = fields.FloatField(required=False)

    class Meta:
        model = DetalleUnitario
        fields = "__all__"
예제 #9
0
class UserDetailSerializer(BaseModelSerializer):

    rate = fields.FloatField()

    class Meta:
        model = account_models.User
        fields = [
            'username', 'phone', 'first_name', 'last_name', 'photo', 'rate'
        ]
class CompanySearchSerializerV1(CustomHaystackSerializer,
                                BaseCachedSerializerMixin):
    """
    A Fast Searcher (Solr) version of the original Business Object API View
    """
    address = AddressSerializerV1()

    founders = fields.ListField(required=False, child=fields.UUIDField())
    specialties = fields.ListField(required=False, child=fields.CharField())
    latest_twitter_followers = fields.ListField(
        required=False, child=fields.IntegerField())

    websites = fields.DictField(required=False, child=fields.CharField())

    crawler_config = dse_fields.CassandraJSONFieldAsText(required=False)
    extra_data = dse_fields.CassandraJSONFieldAsText(required=False)

    score = fields.FloatField(required=False)

    class Meta(CustomHaystackSerializer.Meta):
        model = Company
        # The `index_classes` attribute is a list of which search indexes
        # we want to include in the search.
        index_classes = [CompanyIndex]

        # The `fields` contains all the fields we want to include.
        # NOTE: Make sure you don't confuse these with model attributes. These
        # fields belong to the search index!
        fields = [
            "_id", "created_at", "updated_at",
            "name", "short_description", "foundation_date",
            "last_round", "round_notes",
            "country_code", "stock_symbol", "domain",
            "address", "latitude", "longitude",
            "contact_email", "founders", "specialties",
            "latest_twitter_followers", "websites", "crawler_config",
            "extra_data",
            "text", "score"
        ]
예제 #11
0
 def __init__(self, **kwargs):
     kwargs['child'] = fields.FloatField()
     super(GeoPointField, self).__init__(**kwargs)
예제 #12
0
 def __init__(self, **kwargs):
     kwargs['child'] = fields.FloatField()
     DictField.__init__(self, **kwargs)
예제 #13
0
class CompanyGEOSearchSerializerV1(CustomHaystackSerializer,
                                   BaseCachedSerializerMixin):
    """
    A Fast Searcher (Solr) version of the original Business Object API View
    to do GEO Spatial searches
    """

    address = AddressSerializerV1()

    founders = fields.ListField(required=False, child=fields.UUIDField())
    specialties = fields.ListField(required=False, child=fields.CharField())
    latest_twitter_followers = fields.ListField(required=False,
                                                child=fields.IntegerField())

    websites = fields.DictField(required=False, child=fields.CharField())

    crawler_config = dse_fields.CassandraJSONFieldAsText(required=False)
    extra_data = dse_fields.CassandraJSONFieldAsText(required=False)

    score = fields.FloatField(required=False)

    distance = dse_fields.DistanceField(required=False, units="m")

    class Meta(CustomHaystackSerializer.Meta):
        model = Company
        # The `index_classes` attribute is a list of which search indexes
        # we want to include in the search.
        index_classes = [CompanyIndex]

        fields = [
            "_id",
            "created_at",
            "updated_at",
            "name",
            "short_description",
            "foundation_date",
            "last_round",
            "round_notes",
            "country_code",
            "stock_symbol",
            "domain",
            "address_street_type",
            "address_street_name",
            "address_street_number",
            "address_state",
            "address_region",
            "address_city",
            "address_country_code",
            "address_zipcode",
            "latitude",
            "longitude",
            "contact_email",
            "founders",
            "specialties",
            "latest_twitter_followers",
            "websites",
            "crawler_config",
            "extra_data",
            "text",
            "score",
            "distance",
            "point",
            "linestring",
        ]