From 8bd34dece8f3e908ad8d64c7a0cc0272af9f96ab Mon Sep 17 00:00:00 2001 From: Teodora Sechkova Date: Thu, 8 Jul 2021 15:24:19 +0300 Subject: [PATCH] Type annotate _preorder_depth_first_walk Improve type annotations. Signed-off-by: Teodora Sechkova --- tuf/ngclient/updater.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tuf/ngclient/updater.py b/tuf/ngclient/updater.py index e1492d9226..7852fd25e1 100644 --- a/tuf/ngclient/updater.py +++ b/tuf/ngclient/updater.py @@ -6,12 +6,13 @@ import logging import os -from typing import Any, Dict, List, Optional +from typing import Any, Dict, List, Optional, Union from urllib import parse from securesystemslib import util as sslib_util from tuf import exceptions +from tuf.api.metadata import Targets from tuf.ngclient._internal import ( download, requests_fetcher, @@ -93,7 +94,9 @@ def refresh(self) -> None: self._load_snapshot() self._load_targets("targets", "root") - def get_one_valid_targetinfo(self, target_path: str) -> Dict: + def get_one_valid_targetinfo( + self, target_path: str + ) -> Union[Dict[str, Any], None]: """ Returns the target information for a target identified by target_path. @@ -312,7 +315,9 @@ def _load_targets(self, role: str, parent_role: str) -> None: self._trusted_set.update_delegated_targets(data, role, parent_role) self._persist_metadata(role, data) - def _preorder_depth_first_walk(self, target_filepath: str) -> Dict: + def _preorder_depth_first_walk( + self, target_filepath: str + ) -> Union[Dict[str, Any], None]: """ Interrogates the tree of target delegations in order of appearance (which implicitly order trustworthiness), and returns the matching @@ -338,7 +343,7 @@ def _preorder_depth_first_walk(self, target_filepath: str) -> Dict: # its targets, delegations, and child roles can be inspected. self._load_targets(role_name, parent_role) - role_metadata = self._trusted_set[role_name].signed + role_metadata: Targets = self._trusted_set[role_name].signed target = role_metadata.targets.get(target_filepath) if target is not None: