Esempio n. 1
0
class UltimateOracleFilter(filters.FilterSet):
    creator = filters.AllValuesMultipleFilter()
    creation_date_time = filters.DateTimeFromToRangeFilter()
    is_outcome_set = filters.BooleanFilter()
    forwarded_oracle_creator = filters.AllValuesMultipleFilter(
        name='forwarded_oracle__creator')
    forwarded_oracle_creation_date_time = filters.DateTimeFromToRangeFilter(
        name='forwarded_oracle__creation_date_time')
    forwarded_oracle_is_outcome_set = filters.BooleanFilter(
        name='forwarded_oracle__is_outcome_set')
    forwarded_oracle_factory = filters.AllValuesMultipleFilter(
        name='forwarded_oracle__factory')

    ordering = filters.OrderingFilter(
        fields=(('creation_date_time', 'creation_date_order'),
                ('forwarded_oracle__creation_date_time',
                 'forwarded_oracle_creation_date_order')))

    class Meta:
        model = UltimateOracle
        fields = ('creator', 'creation_date_time', 'is_outcome_set',
                  'forwarded_oracle_creator',
                  'forwarded_oracle_creation_date_time',
                  'forwarded_oracle_is_outcome_set',
                  'forwarded_oracle_factory', 'ordering')
Esempio n. 2
0
class MarketFilter(filters.FilterSet):
    creator = AddressInFilter(lookup_expr='in')
    creation_date_time = filters.DateTimeFromToRangeFilter()
    market_maker = filters.AllValuesMultipleFilter()
    event_oracle_factory = filters.AllValuesMultipleFilter(
        name='event__oracle__factory')
    event_oracle_creator = filters.AllValuesMultipleFilter(
        name='event__oracle__creator')
    event_oracle_creation_date_time = filters.DateTimeFromToRangeFilter(
        name='event__oracle__creation_date_time')
    # TODO refactor, maybe duplicate resolution_date from event_description to market
    resolution_date_time = filters.DateTimeFromToRangeFilter(
        name=
        'event__oracle__centralizedoracle__event_description__resolution_date')
    event_oracle_is_outcome_set = filters.BooleanFilter(
        name='event__oracle__is_outcome_set')

    ordering = filters.OrderingFilter(fields=(
        ('creation_date_time', 'creation_date_order'),
        ('event__oracle__creation_date_time',
         'event_oracle_creation_date_order'),
        ('resolution_date_time', 'resolution_date_order'),
    ))

    class Meta:
        model = Market
        fields = ('creator', 'creation_date_time', 'market_maker',
                  'event_oracle_factory', 'event_oracle_creator',
                  'event_oracle_creation_date_time',
                  'event_oracle_is_outcome_set', 'resolution_date_time')
Esempio n. 3
0
class MarketFilter(filters.FilterSet):
    creator = filters.CharFilter(
        method='filter_creator')  # Accept multiple creators split by comma
    creation_date_time = filters.DateTimeFromToRangeFilter()
    market_maker = filters.AllValuesMultipleFilter()
    event_oracle_factory = filters.AllValuesMultipleFilter(
        field_name='event__oracle__factory')
    event_oracle_creator = filters.AllValuesMultipleFilter(
        field_name='event__oracle__creator')
    event_oracle_creation_date_time = filters.DateTimeFromToRangeFilter(
        field_name='event__oracle__creation_date_time')
    # TODO refactor, maybe duplicate resolution_date from event_description to market
    resolution_date_time = filters.DateTimeFromToRangeFilter(
        field_name=
        'event__oracle__centralizedoracle__event_description__resolution_date')
    event_oracle_is_outcome_set = filters.BooleanFilter(
        field_name='event__oracle__is_outcome_set')
    collateral_token = filters.CharFilter(field_name='event__collateral_token',
                                          method='filter_collateral_token')

    ordering = filters.OrderingFilter(fields=(
        ('creation_date_time', 'creation_date_order'),
        ('event__oracle__creation_date_time',
         'event_oracle_creation_date_order'),
        ('resolution_date_time', 'resolution_date_order'),
    ))

    class Meta:
        model = Market
        fields = (
            'creator',
            'creation_date_time',
            'market_maker',
            'event_oracle_factory',
            'event_oracle_creator',
            'event_oracle_creation_date_time',
            'event_oracle_is_outcome_set',
            'resolution_date_time',
            'collateral_token',
        )

    def filter_creator(self, queryset, name, value):
        creators = [
            normalize_address_or_raise(creator) for creator in value.split(',')
        ]
        return queryset.filter(creator__in=creators)

    def filter_collateral_token(self, queryset, name, value):
        value = normalize_address_or_raise(value)
        return queryset.filter(event__collateral_token__iexact=value)
Esempio n. 4
0
class UserFilter(filters.FilterSet):
    """
    Provides useful filtering options for the
    :class:`~accounts.models.user.User` model.
    """

    username = filters.LookupChoiceFilter(
        lookup_choices=DEFUALT_LOOKUP_CHOICES)
    first_name = filters.LookupChoiceFilter(
        lookup_choices=DEFUALT_LOOKUP_CHOICES)
    last_name = filters.LookupChoiceFilter(
        lookup_choices=DEFUALT_LOOKUP_CHOICES)
    email = filters.LookupChoiceFilter(lookup_choices=DEFUALT_LOOKUP_CHOICES)
    institute = filters.AllValuesMultipleFilter(
        field_name="profile__institute")
    study_ne = filters.NumberFilter(field_name="study", exclude=True)

    class Meta:
        model = User
        fields = (
            "id",
            "username",
            "first_name",
            "last_name",
            "email",
            "institute",
            "study",
            "study_ne",
        )
Esempio n. 5
0
class CentralizedOracleFilter(filters.FilterSet):
    creator = filters.AllValuesMultipleFilter()
    creation_date_time = filters.DateTimeFromToRangeFilter()
    is_outcome_set = filters.BooleanFilter()
    owner = filters.AllValuesMultipleFilter()
    title = filters.CharFilter(field_name='event_description__title',
                               lookup_expr='contains')
    description = filters.CharFilter(
        field_name='event_description__description', lookup_expr='contains')
    resolution_date = filters.DateTimeFromToRangeFilter(
        field_name='event_description__resolution_date')

    ordering = filters.OrderingFilter(
        fields=(('creation_date_time', 'creation_date_order'),
                ('event_description__resolution_date_time',
                 'resolution_date_order')))

    class Meta:
        model = CentralizedOracle
        fields = ('creator', 'creation_date_time', 'is_outcome_set', 'owner',
                  'title', 'description', 'ordering')
Esempio n. 6
0
class EventFilter(filters.FilterSet):
    creator = filters.AllValuesMultipleFilter()
    creation_date_time = filters.DateTimeFromToRangeFilter()
    is_winning_outcome_set = filters.BooleanFilter()
    oracle_factory = filters.AllValuesMultipleFilter(name='oracle__factory')
    oracle_creator = filters.AllValuesMultipleFilter(name='oracle__creator')
    oracle_creation_date_time = filters.DateTimeFromToRangeFilter(
        name='oracle__creation_date_time')
    oracle_is_outcome_set = filters.BooleanFilter(
        name='oracle__is_outcome_set')

    ordering = filters.OrderingFilter(fields=(('creation_date_time',
                                               'creation_date_order'),
                                              ('oracle__creation_date_time',
                                               'oracle_creation_date_order')))

    class Meta:
        model = Event
        fields = ('creator', 'creation_date_time', 'is_winning_outcome_set',
                  'oracle_factory', 'oracle_creator',
                  'oracle_creation_date_time', 'oracle_is_outcome_set')
Esempio n. 7
0
class MarketFilter(filters.FilterSet):
    creator = filters.AllValuesMultipleFilter()
    creation_date_time = filters.DateTimeFromToRangeFilter()
    market_maker = filters.AllValuesMultipleFilter()
    event_oracle_factory = filters.AllValuesMultipleFilter(
        name='event__oracle__factory')
    event_oracle_creator = filters.AllValuesMultipleFilter(
        name='event__oracle__creator')
    event_oracle_creation_date_time = filters.DateTimeFromToRangeFilter(
        name='event__oracle__creation_date_time')
    event_oracle_is_outcome_set = filters.BooleanFilter(
        name='event__oracle__is_outcome_set')

    ordering = filters.OrderingFilter(
        fields=(('creation_date_time', 'creation_date_order'),
                ('event__oracle__creation_date_time',
                 'event_oracle_creation_date_order')))

    class Meta:
        model = Market
        fields = ('creator', 'creation_date_time', 'market_maker',
                  'event_oracle_factory', 'event_oracle_creator',
                  'event_oracle_creation_date_time',
                  'event_oracle_is_outcome_set')
Esempio n. 8
0
class ScanFilter(filters.FilterSet):
    """
    Provides useful filtering options for the :class:`~django_dicom.models.series.Series`
    class.
    
    """

    description = filters.LookupChoiceFilter(
        "description",
        lookup_choices=[
            ("contains", "Contains (case-sensitive)"),
            ("icontains", "Contains (case-insensitive)"),
            ("exact", "Exact"),
        ],
    )
    number = filters.NumberFilter("number")
    sequence_type = filters.AllValuesMultipleFilter("sequence_type")
    # spatial_resolution = filters.AllValuesFilter("spatial_resolution")
    scan_time = filters.DateTimeFromToRangeFilter("time")
    created = filters.DateTimeFromToRangeFilter("created")
    institution_name = filters.AllValuesFilter("institution_name")
    dicom_id_in = NumberInFilter(field_name="dicom__id", lookup_expr="in")

    class Meta:
        model = Scan
        fields = (
            "id",
            "description",
            "number",
            "created",
            "scan_time",
            "echo_time",
            "inversion_time",
            "repetition_time",
            "sequence_type",
            # "spatial_resolution",
            "institution_name",
            "is_updated_from_dicom",
            "dicom__id",
            "subject",
        )