@@ -793,7 +793,11 @@ def __init__(self, service: 'Service', entity_set: Union[EntitySet, 'EntitySetPr
793793 pass
794794
795795 def __repr__ (self ) -> str :
796- return self ._entity_key .to_key_string ()
796+ entity_key = self ._entity_key
797+ if entity_key is None :
798+ raise PyODataException ('Entity key is None' )
799+
800+ return entity_key .to_key_string ()
797801
798802 def __getattr__ (self , attr : str ) -> Any :
799803 try :
@@ -844,8 +848,7 @@ def nav(self, nav_property: str) -> Union['NavEntityProxy', 'EntitySetProxy']:
844848
845849 def get_path (self ) -> str :
846850 """Returns this entity's relative path - e.g. EntitySet(KEY)"""
847-
848- return self ._entity_set ._name + self ._entity_key .to_key_string () # pylint: disable=protected-access
851+ return str (self ._entity_set ._name + self ._entity_key .to_key_string ()) # pylint: disable=protected-access
849852
850853 def get_proprty (self , name : str , connection : Optional [requests .Session ] = None ) -> ODataHttpRequest :
851854 """Returns value of the property"""
@@ -886,7 +889,7 @@ def value_get_handler(key: Any, response: requests.Response) -> requests.Respons
886889 connection = connection )
887890
888891 @property
889- def entity_set (self ) -> EntitySet :
892+ def entity_set (self ) -> Optional [ Union [ ' EntitySet' , 'EntitySetProxy' ]] :
890893 """Entity set related to this entity"""
891894
892895 return self ._entity_set
@@ -906,7 +909,7 @@ def url(self) -> str:
906909
907910 return urljoin (service_url , entity_path )
908911
909- def equals (self , other ) -> bool :
912+ def equals (self , other : 'EntityProxy' ) -> bool :
910913 """Returns true if the self and the other contains the same data"""
911914 # pylint: disable=W0212
912915 return self ._cache == other ._cache
@@ -1057,7 +1060,8 @@ def _get_nav_entity(self, master_key: EntityKey, nav_property: str,
10571060 navigation_entity_set : EntitySet ) -> NavEntityGetRequest :
10581061 """Get entity based on provided key of the master and Navigation property name"""
10591062
1060- def get_entity_handler (parent , nav_property , navigation_entity_set , response ) -> NavEntityProxy :
1063+ def get_entity_handler (parent : EntityProxy , nav_property : str , navigation_entity_set : EntitySet ,
1064+ response : requests .Response ) -> NavEntityProxy :
10611065 """Gets entity from HTTP response"""
10621066
10631067 if response .status_code != requests .codes .ok :
@@ -1082,10 +1086,10 @@ def get_entity_handler(parent, nav_property, navigation_entity_set, response) ->
10821086 self ,
10831087 nav_property )
10841088
1085- def get_entity (self , key = None , ** args ):
1089+ def get_entity (self , key = None , ** args ) -> EntityGetRequest :
10861090 """Get entity based on provided key properties"""
10871091
1088- def get_entity_handler (response ) :
1092+ def get_entity_handler (response : requests . Response ) -> EntityProxy :
10891093 """Gets entity from HTTP response"""
10901094
10911095 if response .status_code != requests .codes .ok :
@@ -1108,7 +1112,7 @@ def get_entity_handler(response):
11081112 def get_entities (self ):
11091113 """Get all entities"""
11101114
1111- def get_entities_handler (response ) :
1115+ def get_entities_handler (response : requests . Response ) -> Union [ List [ EntityProxy ], int ] :
11121116 """Gets entity set from HTTP Response"""
11131117
11141118 if response .status_code != requests .codes .ok :
@@ -1133,10 +1137,10 @@ def get_entities_handler(response):
11331137 return GetEntitySetRequest (self ._service .url , self ._service .connection , get_entities_handler ,
11341138 self ._parent_last_segment + entity_set_name , self ._entity_set .entity_type )
11351139
1136- def create_entity (self , return_code = requests .codes .created ):
1140+ def create_entity (self , return_code : int = requests .codes .created ) -> EntityCreateRequest :
11371141 """Creates a new entity in the given entity-set."""
11381142
1139- def create_entity_handler (response ) :
1143+ def create_entity_handler (response : requests . Response ) -> EntityProxy :
11401144 """Gets newly created entity encoded in HTTP Response"""
11411145
11421146 if response .status_code != return_code :
@@ -1150,10 +1154,10 @@ def create_entity_handler(response):
11501154 return EntityCreateRequest (self ._service .url , self ._service .connection , create_entity_handler , self ._entity_set ,
11511155 self .last_segment )
11521156
1153- def update_entity (self , key = None , ** kwargs ):
1157+ def update_entity (self , key = None , ** kwargs ) -> EntityModifyRequest :
11541158 """Updates an existing entity in the given entity-set."""
11551159
1156- def update_entity_handler (response ) :
1160+ def update_entity_handler (response : requests . Response ) -> None :
11571161 """Gets modified entity encoded in HTTP Response"""
11581162
11591163 if response .status_code != 204 :
@@ -1343,7 +1347,7 @@ def http_get(self, path: str, connection: Optional[requests.Session] = None) ->
13431347 return conn .get (urljoin (self ._url , path ))
13441348
13451349 def http_get_odata (self , path : str , handler : Callable [[requests .Response ], Any ],
1346- connection : Optional [requests .Session ] = None ):
1350+ connection : Optional [requests .Session ] = None ) -> ODataHttpRequest :
13471351 """HTTP GET request proxy for the passed path in the service"""
13481352
13491353 conn = connection
@@ -1364,7 +1368,7 @@ def batch_handler(batch: MultipartRequest, parts: List[List[str]]) -> List[Any]:
13641368
13651369 logging .getLogger (LOGGER_NAME ).debug ('Batch handler called for batch %s' , batch .id )
13661370
1367- result = []
1371+ result : List [ Any ] = []
13681372 for part , req in zip (parts , batch .requests ):
13691373 logging .getLogger (LOGGER_NAME ).debug ('Batch handler is processing part %s for request %s' , part , req )
13701374
@@ -1384,7 +1388,7 @@ def batch_handler(batch: MultipartRequest, parts: List[List[str]]) -> List[Any]:
13841388 def create_changeset (self , changeset_id = None ):
13851389 """Create instance of OData changeset"""
13861390
1387- def changeset_handler (changeset : 'Changeset' , parts : List [str ]):
1391+ def changeset_handler (changeset : 'Changeset' , parts : List [str ]) -> List [ ODataHttpResponse ] :
13881392 """Gets changeset response from HTTP response"""
13891393
13901394 logging .getLogger (LOGGER_NAME ).debug ('Changeset handler called for changeset %s' , changeset .id )
0 commit comments