@@ -13,10 +13,10 @@ class _Member:
1313 def __init__ (self , name : str ):
1414 self .value = name
1515
16- def __eq__ (self , other : MemberValueType ) -> 'Predicate' :
16+ def __eq__ (self , other : MemberValueType ) -> 'Predicate' : # type: ignore[override]
1717 return Comparison ('==' , self , other )
1818
19- def __ne__ (self , other ) -> 'Predicate' :
19+ def __ne__ (self , other ) -> 'Predicate' : # type: ignore[override]
2020 return Comparison ('!=' , self , other )
2121
2222 def __gt__ (self , other ) -> 'Predicate' :
@@ -35,6 +35,7 @@ def matches(self, value: str) -> 'Predicate':
3535 return Match (self , value )
3636
3737
38+
3839class Field (_Member ):
3940 def __init__ (self , name : str ):
4041 super ().__init__ (name )
@@ -171,25 +172,24 @@ def __init__(self, message: str):
171172
172173
173174
174- class _Catalogue :
175+ class _CatalogueToken :
175176 def __init__ (self ):
176177 pass
177178
178- def __contains__ (self , item : "_Event" ) -> Predicate :
179- return InCatalogue (item )
180-
181179 def __getattr__ (self , item ) -> _Member :
182180 if item in ('name' , 'author' , 'uuid' , 'tags' , 'predicate' , 'attributes' ):
183181 return Field (item )
184182 return Attribute (item )
185183
186184
187- class _Events :
185+ class _EventsToken :
188186 def __init__ (self ):
189187 pass
190188
191189 def __contains__ (self , item : str ) -> Predicate :
192- return self [item ].exists ()
190+ if item in ('start' , 'stop' , 'author' , 'tags' , 'products' , 'rating' , 'uuid' ):
191+ raise ValueError (f"'{ item } ' is always present in events, therefore cannot be used in 'in' checks." )
192+ return Attribute (item ).exists ()
193193
194194 def __getattr__ (self , item ) -> _Member :
195195 if item in ('start' , 'stop' , 'author' , 'tags' , 'products' , 'rating' , 'uuid' ):
@@ -198,6 +198,6 @@ def __getattr__(self, item) -> _Member:
198198
199199
200200# tokens to create predicates from Python code
201- catalogue = _Catalogue ()
202- events = _Events ()
201+ catalogue = _CatalogueToken ()
202+ events = _EventsToken ()
203203event = events
0 commit comments