11from functools import partial , reduce
2- from typing import Callable , List , Tuple , Any , Optional , TYPE_CHECKING
2+ from typing import Callable , List , Tuple , Any , TYPE_CHECKING
33from urllib .parse import quote
44from requests import Response
55
@@ -50,7 +50,7 @@ class EntityManager(object):
5050 timestamp_parameters = ["timestamp" ]
5151
5252 def __init__ (
53- self , target_endpoint : str , client : "CloudFoundryClient" , entity_uri : str , entity_builder : Optional [ EntityBuilder ] = None
53+ self , target_endpoint : str , client : "CloudFoundryClient" , entity_uri : str , entity_builder : EntityBuilder | None = None
5454 ):
5555 self .target_endpoint = target_endpoint
5656 self .entity_uri = entity_uri
@@ -59,7 +59,7 @@ def __init__(
5959 entity_builder if entity_builder is not None else lambda pairs : Entity (target_endpoint , client , pairs )
6060 )
6161
62- def _list (self , requested_path : str , entity_builder : Optional [ EntityBuilder ] = None , ** kwargs ) -> Pagination [Entity ]:
62+ def _list (self , requested_path : str , entity_builder : EntityBuilder | None = None , ** kwargs ) -> Pagination [Entity ]:
6363 url_requested = self ._get_url_filtered ("%s%s" % (self .target_endpoint , requested_path ), ** kwargs )
6464 current_builder = self ._get_entity_builder (entity_builder )
6565 response_json = self ._read_response (self .client .get (url_requested ), JsonObject )
@@ -68,7 +68,7 @@ def _list(self, requested_path: str, entity_builder: Optional[EntityBuilder] = N
6868 lambda page : page ["resources" ],
6969 lambda json_object : current_builder (list (json_object .items ())))
7070
71- def _next_page (self , current_page : JsonObject ) -> Optional [ JsonObject ] :
71+ def _next_page (self , current_page : JsonObject ) -> JsonObject | None :
7272 next_url = current_page .get ("next_url" )
7373 if next_url is None :
7474 return None
@@ -87,16 +87,16 @@ def _remove(self, resource_id: str, **kwargs):
8787 url = "%s%s/%s" % (self .target_endpoint , self .entity_uri , resource_id )
8888 self ._delete (url , ** kwargs )
8989
90- def _get (self , requested_path : str , entity_builder : Optional [ EntityBuilder ] = None ) -> Entity :
90+ def _get (self , requested_path : str , entity_builder : EntityBuilder | None = None ) -> Entity :
9191 url = "%s%s" % (self .target_endpoint , requested_path )
9292 response = self .client .get (url )
9393 return self ._read_response (response , entity_builder )
9494
95- def _post (self , url : str , data : Optional [ dict ] = None , ** kwargs ):
95+ def _post (self , url : str , data : dict | None = None , ** kwargs ):
9696 response = self .client .post (url , json = data , ** kwargs )
9797 return self ._read_response (response )
9898
99- def _put (self , url : str , data : Optional [ dict ] = None , ** kwargs ):
99+ def _put (self , url : str , data : dict | None = None , ** kwargs ):
100100 response = self .client .put (url , json = data , ** kwargs )
101101 return self ._read_response (response )
102102
@@ -112,7 +112,7 @@ def __getitem__(self, entity_guid) -> Entity:
112112 def list (self , ** kwargs ) -> Pagination [Entity ]:
113113 return self ._list (self .entity_uri , ** kwargs )
114114
115- def get_first (self , ** kwargs ) -> Optional [ Entity ] :
115+ def get_first (self , ** kwargs ) -> Entity | None :
116116 kwargs .setdefault ("results-per-page" , 1 )
117117 for entity in self ._list (self .entity_uri , ** kwargs ):
118118 return entity
@@ -125,7 +125,7 @@ def get(self, entity_id: str, *extra_paths) -> Entity:
125125 requested_path = "%s/%s/%s" % (self .entity_uri , entity_id , "/" .join (extra_paths ))
126126 return self ._get (requested_path )
127127
128- def _read_response (self , response : Response , other_entity_builder : Optional [ EntityBuilder ] = None ):
128+ def _read_response (self , response : Response , other_entity_builder : EntityBuilder | None = None ):
129129 entity_builder = self ._get_entity_builder (other_entity_builder )
130130 result = response .json (object_pairs_hook = JsonObject )
131131 return entity_builder (list (result .items ()))
@@ -134,7 +134,7 @@ def _read_response(self, response: Response, other_entity_builder: Optional[Enti
134134 def _request (** mandatory_parameters ) -> Request :
135135 return Request (** mandatory_parameters )
136136
137- def _get_entity_builder (self , entity_builder : Optional [ EntityBuilder ] ) -> EntityBuilder :
137+ def _get_entity_builder (self , entity_builder : EntityBuilder | None ) -> EntityBuilder :
138138 if entity_builder is None :
139139 return self .entity_builder
140140 else :
0 commit comments