@@ -761,7 +761,7 @@ def _entity_to_ds_entity(entity, set_key=True):
761761 Raises:
762762 ndb.exceptions.BadValueError: If entity has uninitialized properties.
763763 """
764- data : dict [str , Any ] = {"_exclude_from_indexes" : []}
764+ data : dict [str , typing . Any ] = {"_exclude_from_indexes" : []}
765765 uninitialized = []
766766
767767 for prop in _properties_of (entity ):
@@ -3577,6 +3577,31 @@ def _to_datastore(self, entity, data, prefix="", repeated=False):
35773577 )
35783578
35793579
3580+ def _handle_key_property_positional (wrapped ):
3581+ @functools .wraps (wrapped )
3582+ def wrapper (self , * args , ** kwargs ):
3583+ for arg in args :
3584+ if isinstance (arg , str ):
3585+ if "name" in kwargs :
3586+ raise TypeError ("You can only specify name once" )
3587+
3588+ kwargs ["name" ] = arg
3589+
3590+ elif isinstance (arg , type ):
3591+ if "kind" in kwargs :
3592+ raise TypeError ("You can only specify kind once" )
3593+
3594+ kwargs ["kind" ] = arg
3595+
3596+ elif arg is not None :
3597+ raise TypeError ("Unexpected positional argument: {!r}" .format (arg ))
3598+
3599+ return wrapped (self , ** kwargs )
3600+
3601+ wrapper ._wrapped = wrapped # type: ignore[attr-defined]
3602+ return wrapper
3603+
3604+
35803605class KeyProperty (Property ):
35813606 """A property that contains :class:`~google.cloud.ndb.key.Key` values.
35823607
@@ -3633,32 +3658,8 @@ class SimpleModel(ndb.Model):
36333658
36343659 _kind = None
36353660
3636- def _handle_positional (wrapped ):
3637- @functools .wraps (wrapped )
3638- def wrapper (self , * args , ** kwargs ):
3639- for arg in args :
3640- if isinstance (arg , str ):
3641- if "name" in kwargs :
3642- raise TypeError ("You can only specify name once" )
3643-
3644- kwargs ["name" ] = arg
3645-
3646- elif isinstance (arg , type ):
3647- if "kind" in kwargs :
3648- raise TypeError ("You can only specify kind once" )
3649-
3650- kwargs ["kind" ] = arg
3651-
3652- elif arg is not None :
3653- raise TypeError ("Unexpected positional argument: {!r}" .format (arg ))
3654-
3655- return wrapped (self , ** kwargs )
3656-
3657- wrapper ._wrapped = wrapped # type: ignore[attr-defined]
3658- return wrapper
3659-
36603661 @utils .positional (3 )
3661- @_handle_positional
3662+ @_handle_key_property_positional
36623663 def __init__ (
36633664 self ,
36643665 name = None ,
0 commit comments