Beispiel #1
0
class CustomIndexationModelF(tests.IntAutoModel):
    foo = sheraf.SimpleAttribute()
    bar = sheraf.SimpleAttribute()

    fooindex = sheraf.Index(foo, key="foo", unique=True)
    barindex = sheraf.Index(bar, key="bar")

    @fooindex.values
    def fooindex_values(self, value):
        return value.lower() if value else None
Beispiel #2
0
class CustomIndexationModelB(tests.IntAutoModel):
    foo = sheraf.SimpleAttribute()
    bar = sheraf.SimpleAttribute()

    fooindex = sheraf.Index(
        "foo",
        key="foo",
        unique=True,
        values=lambda string: {string.lower() if string else None},
    )
    barindex = sheraf.Index("bar", key="bar")
Beispiel #3
0
class CustomSearchModelB(tests.IntAutoModel):
    foo = sheraf.SimpleAttribute()
    bar = sheraf.SimpleAttribute()

    fooindex = sheraf.Index(
        "foo",
        key="foo",
        unique=True,
        values=lambda string: {string.lower()},
        search=lambda string: [string.lower()[::-1], string.lower()],
    )

    barindex = sheraf.Index("bar", key="bar")
Beispiel #4
0
class CustomSearchModelE(tests.IntAutoModel):
    foo = sheraf.SimpleAttribute()
    bar = sheraf.SimpleAttribute()

    fooindex = sheraf.Index(
        foo,
        key="foo",
        unique=True,
        values=lambda string: {string.lower()},
    )

    barindex = sheraf.Index(bar, key="bar")

    @fooindex.search
    def search_foo(self, value):
        return [value.lower()[::-1], value.lower()]
Beispiel #5
0
    class Model(tests.IntAutoModel):
        foo = sheraf.SimpleAttribute()
        bar = sheraf.SimpleAttribute()
        theindex = sheraf.Index(foo, bar)

        @theindex.values
        def values(self, value):
            return {value.lower(), value.upper()}
Beispiel #6
0
class CommonValuesComputedTogetherModelB(tests.IntAutoModel):
    foo = sheraf.SimpleAttribute()
    bar = sheraf.SimpleAttribute()
    theindex = sheraf.Index(foo, bar)

    @theindex.values(foo, bar)
    def theindex_values(self, foo_, bar_):
        return {f"{foo_} {bar_}"}
Beispiel #7
0
class CommonValuesComputedSeparatelyModelA(tests.IntAutoModel):
    foo = sheraf.SimpleAttribute()
    bar = sheraf.SimpleAttribute()
    theindex = sheraf.Index(foo, bar)

    @theindex.values(foo)
    @theindex.values(bar)
    def values(self, x):
        return {x.upper()}
Beispiel #8
0
class CommonModelDefaultValuesMethodsA(tests.IntAutoModel):
    def lower(self, value):
        return {value.lower()}

    foo = sheraf.StringAttribute()
    bar = sheraf.SimpleAttribute()
    theindex = sheraf.Index(foo, bar, values=lower)

    @theindex.values(bar)
    def upper(self, bar):
        return {bar.upper()}
Beispiel #9
0
class CowboyD(tests.IntAutoModel):
    farms = sheraf.LargeListAttribute(sheraf.ModelAttribute("FarmD")).index()

    farm_size = sheraf.Index(farms)

    @farm_size.search
    def search_farm_size(self, size):
        return size

    @farm_size.values
    def index_farm_size(self, farms):
        return {farm.size for farm in farms}
Beispiel #10
0
class CommonModelDifferentValuesMethodsB(tests.IntAutoModel):
    foo = sheraf.StringAttribute()
    bar = sheraf.SimpleAttribute()
    theindex = sheraf.Index(foo, bar)

    @theindex.values(foo)
    def lower(self, foo):
        return {foo.lower()}

    @theindex.values(bar)
    def upper(self, bar):
        return {bar.upper()}
Beispiel #11
0
class CowboyC(tests.IntAutoModel):
    farm = sheraf.ModelAttribute("FarmC").index()

    farm_size = sheraf.Index(farm)

    @farm_size.search
    def search_farm_size(self, size):
        return size

    @farm_size.values
    def index_farm_size(self, farm):
        return farm.size
Beispiel #12
0
 class M(tests.UUIDAutoModel):
     foo = sheraf.IntegerAttribute()
     evens = sheraf.Index(foo, values=lambda x: {x} if x % 2 == 0 else {})
Beispiel #13
0
 class B(A):
     bindex = sheraf.Index("foo")
Beispiel #14
0
 class Model(tests.IntAutoModel):
     foo = sheraf.SimpleAttribute()
     bar = sheraf.SimpleAttribute()
     theindex = sheraf.Index(foo, bar, unique=True)
Beispiel #15
0
 class ModelA(tests.UUIDAutoModel):
     i = sheraf.Index()
Beispiel #16
0
 class ModelB(tests.IntAutoModel):
     foo = sheraf.SimpleAttribute()
     fooindex = sheraf.Index("foo")
Beispiel #17
0
 class ModelC(tests.UUIDAutoModel):
     i = sheraf.Index("invalid")
Beispiel #18
0
 class ModelE(tests.UUIDAutoModel):
     foo = sheraf.SimpleAttribute()
     ok = sheraf.Index(foo)
     i = sheraf.Index(ok)
Beispiel #19
0
class UniqueModelC(tests.IntAutoModel):
    my_attribute = sheraf.SimpleAttribute()
    my_attribute_index = sheraf.Index(my_attribute, unique=True, key="my_attribute")
    other = sheraf.SimpleAttribute()
Beispiel #20
0
class MultipleModelC(tests.IntAutoModel):
    my_attribute = sheraf.SimpleAttribute()
    my_attribute_index = sheraf.Index(my_attribute, key="my_attribute")
Beispiel #21
0
class MultipleKeysIndexModelC(tests.IntAutoModel):
    my_attribute = sheraf.SimpleAttribute()
    key_1 = sheraf.Index(my_attribute)
    key_2 = sheraf.Index(my_attribute)