1919CONF = config .CONF
2020LOG = logging .getLogger (__name__ )
2121
22- Filters = ty . List [ ty . Tuple [str , str ]]
22+ Filters = list [ tuple [str , str ]]
2323
2424
2525class HTTPTokenAuth (requests .auth .AuthBase ):
@@ -38,10 +38,10 @@ def __call__(
3838 @staticmethod
3939 def _token_auth_str (token : str ) -> str :
4040 """Return a Token auth string."""
41- return 'Token {}' . format ( token .strip ())
41+ return f 'Token { token .strip ()} '
4242
4343
44- def _get_auth (optional : bool = False ) -> ty . Optional [ requests .auth .AuthBase ] :
44+ def _get_auth (optional : bool = False ) -> requests .auth .AuthBase | None :
4545 if CONF .token :
4646 return HTTPTokenAuth (CONF .token )
4747 elif CONF .username and CONF .password :
@@ -56,9 +56,9 @@ def _get_auth(optional: bool = False) -> ty.Optional[requests.auth.AuthBase]:
5656 return None
5757
5858
59- def _get_headers () -> ty . Dict [str , str ]:
59+ def _get_headers () -> dict [str , str ]:
6060 return {
61- 'User-Agent' : 'git-pw ({})' . format ( git_pw .__version__ ) ,
61+ 'User-Agent' : f 'git-pw ({ git_pw .__version__ } )' ,
6262 }
6363
6464
@@ -123,7 +123,7 @@ def _handle_error(
123123
124124 else :
125125 LOG .error (
126- 'Failed to %s resource. Is your configuration correct?' % operation
126+ f 'Failed to { operation } resource. Is your configuration correct?'
127127 )
128128 LOG .error ("Use the '--debug' flag for more information" )
129129
@@ -135,7 +135,7 @@ def _handle_error(
135135
136136def _get (
137137 url : str ,
138- params : ty . Optional [ Filters ] = None ,
138+ params : Filters | None = None ,
139139 stream : bool = False ,
140140) -> requests .Response :
141141 """Make GET request and handle errors."""
@@ -163,7 +163,7 @@ def _get(
163163
164164def _post (
165165 url : str ,
166- data : ty . List [ ty . Tuple [str , ty .Any ]],
166+ data : list [ tuple [str , ty .Any ]],
167167) -> requests .Response :
168168 """Make POST request and handle errors."""
169169 LOG .debug ('POST %s, data=%r' , url , data )
@@ -183,7 +183,7 @@ def _post(
183183
184184def _patch (
185185 url : str ,
186- data : ty . List [ ty . Tuple [str , ty .Any ]],
186+ data : list [ tuple [str , ty .Any ]],
187187) -> requests .Response :
188188 """Make PATCH request and handle errors."""
189189 LOG .debug ('PATCH %s, data=%r' , url , data )
@@ -219,7 +219,7 @@ def _delete(url: str) -> requests.Response:
219219 return rsp
220220
221221
222- def version () -> ty . Tuple [int , int ]:
222+ def version () -> tuple [int , int ]:
223223 """Get the version of the server from the URL, if present."""
224224 server = _get_server ()
225225
@@ -231,16 +231,16 @@ def version() -> ty.Tuple[int, int]:
231231 return (1 , 0 )
232232
233233
234- def get (url : str , params : ty . Optional [ Filters ] ) -> ty . Dict :
234+ def get (url : str , params : Filters | None ) -> dict :
235235 """Get a JSON document from the API and return it as a dict."""
236236 return _get (url , params , stream = False ).json ()
237237
238238
239239def download (
240240 url : str ,
241- params : ty . Optional [ Filters ] = None ,
242- output : ty . Optional [ ty . Optional [ str ]] = None ,
243- ) -> ty . Optional [ str ] :
241+ params : Filters | None = None ,
242+ output : str | None = None ,
243+ ) -> str | None :
244244 """Retrieve a specific API resource and save it to a file/stdout.
245245
246246 The ``Content-Disposition`` header is assumed to be present and
@@ -295,7 +295,7 @@ def download(
295295 return output_path
296296
297297
298- def index (resource_type : str , params : ty . Optional [ Filters ] = None ) -> dict :
298+ def index (resource_type : str , params : Filters | None = None ) -> dict :
299299 """List API resources.
300300
301301 GET /{resource}/
@@ -323,9 +323,9 @@ def index(resource_type: str, params: ty.Optional[Filters] = None) -> dict:
323323
324324def detail (
325325 resource_type : str ,
326- resource_id : ty . Union [ str , int ] ,
327- params : ty . Optional [ Filters ] = None ,
328- ) -> ty . Dict :
326+ resource_id : str | int ,
327+ params : Filters | None = None ,
328+ ) -> dict :
329329 """Retrieve a specific API resource.
330330
331331 GET /{resource}/{resourceID}/
@@ -346,7 +346,7 @@ def detail(
346346
347347def create (
348348 resource_type : str ,
349- data : ty . List [ ty . Tuple [str , ty .Any ]],
349+ data : list [ tuple [str , ty .Any ]],
350350) -> dict :
351351 """Create a new API resource.
352352
@@ -365,7 +365,7 @@ def create(
365365 return _post (url , data ).json ()
366366
367367
368- def delete (resource_type : str , resource_id : ty . Union [ str , int ] ) -> None :
368+ def delete (resource_type : str , resource_id : str | int ) -> None :
369369 """Delete a specific API resource.
370370
371371 DELETE /{resource}/{resourceID}/
@@ -385,8 +385,8 @@ def delete(resource_type: str, resource_id: ty.Union[str, int]) -> None:
385385
386386def update (
387387 resource_type : str ,
388- resource_id : ty . Union [ str , int ] ,
389- data : ty . List [ ty . Tuple [str , ty .Any ]],
388+ resource_id : str | int ,
389+ data : list [ tuple [str , ty .Any ]],
390390) -> dict :
391391 """Update a specific API resource.
392392
@@ -407,7 +407,7 @@ def update(
407407
408408
409409def validate_minimum_version (
410- min_version : ty . Tuple [int , int ],
410+ min_version : tuple [int , int ],
411411 msg : str ,
412412) -> ty .Callable [[ty .Any ], ty .Any ]:
413413 def inner (f ):
@@ -458,7 +458,7 @@ def retrieve_filter_ids(
458458 resource_type : str ,
459459 filter_name : str ,
460460 filter_value : str ,
461- ) -> ty . List [ ty . Tuple [str , str ]]:
461+ ) -> list [ tuple [str , str ]]:
462462 """Retrieve IDs for items passed through by filter.
463463
464464 Some filters require client-side filtering, e.g. filtering patches by
0 commit comments