6868from securesystemslib import util as sslib_util
6969
7070from tuf import exceptions
71- from tuf .api .metadata import Targets
71+ from tuf .api .metadata import TargetFile , Targets
7272from tuf .ngclient ._internal import requests_fetcher , trusted_metadata_set
7373from tuf .ngclient .config import UpdaterConfig
7474from tuf .ngclient .fetcher import FetcherInterface
@@ -112,12 +112,7 @@ def __init__(
112112 # Read trusted local root metadata
113113 data = self ._load_local_metadata ("root" )
114114 self ._trusted_set = trusted_metadata_set .TrustedMetadataSet (data )
115-
116- if fetcher is None :
117- self ._fetcher = requests_fetcher .RequestsFetcher ()
118- else :
119- self ._fetcher = fetcher
120-
115+ self ._fetcher = fetcher or requests_fetcher .RequestsFetcher ()
121116 self .config = config or UpdaterConfig ()
122117
123118 def refresh (self ) -> None :
@@ -205,7 +200,7 @@ def updated_targets(
205200 # 'destination_directory' if 'filepath' contains a leading path
206201 # separator (i.e., is treated as an absolute path).
207202 filepath = target ["filepath" ]
208- target_fileinfo : " TargetFile" = target ["fileinfo" ]
203+ target_fileinfo : TargetFile = target ["fileinfo" ]
209204
210205 target_filepath = os .path .join (destination_directory , filepath )
211206
@@ -225,10 +220,10 @@ def updated_targets(
225220
226221 def download_target (
227222 self ,
228- targetinfo : Dict ,
223+ targetinfo : Dict [ str , Any ] ,
229224 destination_directory : str ,
230225 target_base_url : Optional [str ] = None ,
231- ):
226+ ) -> None :
232227 """Downloads the target file specified by 'targetinfo'.
233228
234229 Args:
@@ -244,18 +239,20 @@ def download_target(
244239 TODO: download-related errors
245240 TODO: file write errors
246241 """
247- if target_base_url is None and self ._target_base_url is None :
248- raise ValueError (
249- "target_base_url must be set in either download_target() or "
250- "constructor"
251- )
242+
252243 if target_base_url is None :
244+ if self ._target_base_url is None :
245+ raise ValueError (
246+ "target_base_url must be set in either "
247+ "download_target() or constructor"
248+ )
249+
253250 target_base_url = self ._target_base_url
254251 else :
255252 target_base_url = _ensure_trailing_slash (target_base_url )
256253
257- target_fileinfo : " TargetFile" = targetinfo ["fileinfo" ]
258- target_filepath = targetinfo ["filepath" ]
254+ target_fileinfo : TargetFile = targetinfo ["fileinfo" ]
255+ target_filepath : str = targetinfo ["filepath" ]
259256 consistent_snapshot = self ._trusted_set .root .signed .consistent_snapshot
260257 if consistent_snapshot and self .config .prefix_targets_with_hash :
261258 hashes = list (target_fileinfo .hashes .values ())
@@ -293,7 +290,7 @@ def _load_local_metadata(self, rolename: str) -> bytes:
293290 with open (os .path .join (self ._dir , f"{ rolename } .json" ), "rb" ) as f :
294291 return f .read ()
295292
296- def _persist_metadata (self , rolename : str , data : bytes ):
293+ def _persist_metadata (self , rolename : str , data : bytes ) -> None :
297294 with open (os .path .join (self ._dir , f"{ rolename } .json" ), "wb" ) as f :
298295 f .write (data )
299296
@@ -454,6 +451,6 @@ def _preorder_depth_first_walk(
454451 return None
455452
456453
457- def _ensure_trailing_slash (url : str ):
454+ def _ensure_trailing_slash (url : str ) -> str :
458455 """Return url guaranteed to end in a slash"""
459456 return url if url .endswith ("/" ) else f"{ url } /"
0 commit comments