@@ -793,7 +793,11 @@ def __init__(self, service: 'Service', entity_set: Union[EntitySet, 'EntitySetPr
793
793
pass
794
794
795
795
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 ()
797
801
798
802
def __getattr__ (self , attr : str ) -> Any :
799
803
try :
@@ -844,8 +848,7 @@ def nav(self, nav_property: str) -> Union['NavEntityProxy', 'EntitySetProxy']:
844
848
845
849
def get_path (self ) -> str :
846
850
"""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
849
852
850
853
def get_proprty (self , name : str , connection : Optional [requests .Session ] = None ) -> ODataHttpRequest :
851
854
"""Returns value of the property"""
@@ -886,7 +889,7 @@ def value_get_handler(key: Any, response: requests.Response) -> requests.Respons
886
889
connection = connection )
887
890
888
891
@property
889
- def entity_set (self ) -> EntitySet :
892
+ def entity_set (self ) -> Optional [ Union [ ' EntitySet' , 'EntitySetProxy' ]] :
890
893
"""Entity set related to this entity"""
891
894
892
895
return self ._entity_set
@@ -906,7 +909,7 @@ def url(self) -> str:
906
909
907
910
return urljoin (service_url , entity_path )
908
911
909
- def equals (self , other ) -> bool :
912
+ def equals (self , other : 'EntityProxy' ) -> bool :
910
913
"""Returns true if the self and the other contains the same data"""
911
914
# pylint: disable=W0212
912
915
return self ._cache == other ._cache
@@ -1057,7 +1060,8 @@ def _get_nav_entity(self, master_key: EntityKey, nav_property: str,
1057
1060
navigation_entity_set : EntitySet ) -> NavEntityGetRequest :
1058
1061
"""Get entity based on provided key of the master and Navigation property name"""
1059
1062
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 :
1061
1065
"""Gets entity from HTTP response"""
1062
1066
1063
1067
if response .status_code != requests .codes .ok :
@@ -1082,10 +1086,10 @@ def get_entity_handler(parent, nav_property, navigation_entity_set, response) ->
1082
1086
self ,
1083
1087
nav_property )
1084
1088
1085
- def get_entity (self , key = None , ** args ):
1089
+ def get_entity (self , key = None , ** args ) -> EntityGetRequest :
1086
1090
"""Get entity based on provided key properties"""
1087
1091
1088
- def get_entity_handler (response ) :
1092
+ def get_entity_handler (response : requests . Response ) -> EntityProxy :
1089
1093
"""Gets entity from HTTP response"""
1090
1094
1091
1095
if response .status_code != requests .codes .ok :
@@ -1108,7 +1112,7 @@ def get_entity_handler(response):
1108
1112
def get_entities (self ):
1109
1113
"""Get all entities"""
1110
1114
1111
- def get_entities_handler (response ) :
1115
+ def get_entities_handler (response : requests . Response ) -> Union [ List [ EntityProxy ], int ] :
1112
1116
"""Gets entity set from HTTP Response"""
1113
1117
1114
1118
if response .status_code != requests .codes .ok :
@@ -1133,10 +1137,10 @@ def get_entities_handler(response):
1133
1137
return GetEntitySetRequest (self ._service .url , self ._service .connection , get_entities_handler ,
1134
1138
self ._parent_last_segment + entity_set_name , self ._entity_set .entity_type )
1135
1139
1136
- def create_entity (self , return_code = requests .codes .created ):
1140
+ def create_entity (self , return_code : int = requests .codes .created ) -> EntityCreateRequest :
1137
1141
"""Creates a new entity in the given entity-set."""
1138
1142
1139
- def create_entity_handler (response ) :
1143
+ def create_entity_handler (response : requests . Response ) -> EntityProxy :
1140
1144
"""Gets newly created entity encoded in HTTP Response"""
1141
1145
1142
1146
if response .status_code != return_code :
@@ -1150,10 +1154,10 @@ def create_entity_handler(response):
1150
1154
return EntityCreateRequest (self ._service .url , self ._service .connection , create_entity_handler , self ._entity_set ,
1151
1155
self .last_segment )
1152
1156
1153
- def update_entity (self , key = None , ** kwargs ):
1157
+ def update_entity (self , key = None , ** kwargs ) -> EntityModifyRequest :
1154
1158
"""Updates an existing entity in the given entity-set."""
1155
1159
1156
- def update_entity_handler (response ) :
1160
+ def update_entity_handler (response : requests . Response ) -> None :
1157
1161
"""Gets modified entity encoded in HTTP Response"""
1158
1162
1159
1163
if response .status_code != 204 :
@@ -1343,7 +1347,7 @@ def http_get(self, path: str, connection: Optional[requests.Session] = None) ->
1343
1347
return conn .get (urljoin (self ._url , path ))
1344
1348
1345
1349
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 :
1347
1351
"""HTTP GET request proxy for the passed path in the service"""
1348
1352
1349
1353
conn = connection
@@ -1364,7 +1368,7 @@ def batch_handler(batch: MultipartRequest, parts: List[List[str]]) -> List[Any]:
1364
1368
1365
1369
logging .getLogger (LOGGER_NAME ).debug ('Batch handler called for batch %s' , batch .id )
1366
1370
1367
- result = []
1371
+ result : List [ Any ] = []
1368
1372
for part , req in zip (parts , batch .requests ):
1369
1373
logging .getLogger (LOGGER_NAME ).debug ('Batch handler is processing part %s for request %s' , part , req )
1370
1374
@@ -1384,7 +1388,7 @@ def batch_handler(batch: MultipartRequest, parts: List[List[str]]) -> List[Any]:
1384
1388
def create_changeset (self , changeset_id = None ):
1385
1389
"""Create instance of OData changeset"""
1386
1390
1387
- def changeset_handler (changeset : 'Changeset' , parts : List [str ]):
1391
+ def changeset_handler (changeset : 'Changeset' , parts : List [str ]) -> List [ ODataHttpResponse ] :
1388
1392
"""Gets changeset response from HTTP response"""
1389
1393
1390
1394
logging .getLogger (LOGGER_NAME ).debug ('Changeset handler called for changeset %s' , changeset .id )
0 commit comments