Skip to content

Commit 7841008

Browse files
author
Jussi Kukkonen
committed
imports: Make 'settings' imports vendoring-compatible
Use "from tuf import <module>" instead of "import tuf.<module>": this makes it possible for vendoring tool to vendor tuf. Fix all references to <module> in the code. Signed-off-by: Jussi Kukkonen <[email protected]>
1 parent 88a6ae0 commit 7841008

File tree

5 files changed

+30
-30
lines changed

5 files changed

+30
-30
lines changed

tuf/client/updater.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@
137137
from tuf import log
138138
from tuf import mirrors
139139
from tuf import roledb
140+
from tuf import settings
140141
import tuf.requests_fetcher
141-
import tuf.settings
142142
import tuf.keydb
143143
import tuf.sig
144144

@@ -151,14 +151,14 @@
151151
# The Timestamp role does not have signed metadata about it; otherwise we
152152
# would need an infinite regress of metadata. Therefore, we use some
153153
# default, but sane, upper file length for its metadata.
154-
DEFAULT_TIMESTAMP_UPPERLENGTH = tuf.settings.DEFAULT_TIMESTAMP_REQUIRED_LENGTH
154+
DEFAULT_TIMESTAMP_UPPERLENGTH = settings.DEFAULT_TIMESTAMP_REQUIRED_LENGTH
155155

156156
# The Root role may be updated without knowing its version number if
157157
# top-level metadata cannot be safely downloaded (e.g., keys may have been
158158
# revoked, thus requiring a new Root file that includes the updated keys)
159159
# and 'unsafely_update_root_if_necessary' is True.
160160
# We use some default, but sane, upper file length for its metadata.
161-
DEFAULT_ROOT_UPPERLENGTH = tuf.settings.DEFAULT_ROOT_REQUIRED_LENGTH
161+
DEFAULT_ROOT_UPPERLENGTH = settings.DEFAULT_ROOT_REQUIRED_LENGTH
162162

163163
# See 'log.py' to learn how logging is handled in TUF.
164164
logger = logging.getLogger(__name__)
@@ -270,7 +270,7 @@ def get_valid_targetinfo(self, target_filename, match_custom_field=True):
270270
formats.MAPPING_SCHEMA.check_match(self.map_file['mapping'])
271271

272272
# Set the top-level directory containing the metadata for each repository.
273-
repositories_directory = tuf.settings.repositories_directory
273+
repositories_directory = settings.repositories_directory
274274

275275
# Verify that the required local directories exist for each repository.
276276
self._verify_metadata_directories(repositories_directory)
@@ -731,13 +731,13 @@ def __init__(self, repository_name, repository_mirrors, fetcher=None):
731731
self.consistent_snapshot = False
732732

733733
# Ensure the repository metadata directory has been set.
734-
if tuf.settings.repositories_directory is None:
734+
if settings.repositories_directory is None:
735735
raise exceptions.RepositoryError('The TUF update client'
736736
' module must specify the directory containing the local repository'
737737
' files. "tuf.settings.repositories_directory" MUST be set.')
738738

739739
# Set the path for the current set of metadata files.
740-
repositories_directory = tuf.settings.repositories_directory
740+
repositories_directory = settings.repositories_directory
741741
repository_directory = os.path.join(repositories_directory, self.repository_name)
742742

743743
# raise MissingLocalRepository if the repo does not exist at all.
@@ -1138,7 +1138,7 @@ def neither_403_nor_404(mirror_error):
11381138
# Following the spec, try downloading the N+1th root for a certain maximum
11391139
# number of times.
11401140
lower_bound = current_root_metadata['version'] + 1
1141-
upper_bound = lower_bound + tuf.settings.MAX_NUMBER_ROOT_ROTATIONS
1141+
upper_bound = lower_bound + settings.MAX_NUMBER_ROOT_ROTATIONS
11421142

11431143
# Try downloading the next root.
11441144
for next_version in range(lower_bound, upper_bound):
@@ -1852,11 +1852,11 @@ def _update_metadata_if_changed(self, metadata_role,
18521852
# expected role. Note: The Timestamp role is not updated via this
18531853
# function.
18541854
if metadata_role == 'snapshot':
1855-
upperbound_filelength = tuf.settings.DEFAULT_SNAPSHOT_REQUIRED_LENGTH
1855+
upperbound_filelength = settings.DEFAULT_SNAPSHOT_REQUIRED_LENGTH
18561856

18571857
# The metadata is considered Targets (or delegated Targets metadata).
18581858
else:
1859-
upperbound_filelength = tuf.settings.DEFAULT_TARGETS_REQUIRED_LENGTH
1859+
upperbound_filelength = settings.DEFAULT_TARGETS_REQUIRED_LENGTH
18601860

18611861
try:
18621862
self._update_metadata(metadata_role, upperbound_filelength,
@@ -2681,7 +2681,7 @@ def _preorder_depth_first_walk(self, target_filepath):
26812681
current_metadata = self.metadata['current']
26822682
role_names = ['targets']
26832683
visited_role_names = set()
2684-
number_of_delegations = tuf.settings.MAX_NUMBER_OF_DELEGATIONS
2684+
number_of_delegations = settings.MAX_NUMBER_OF_DELEGATIONS
26852685

26862686
# Ensure the client has the most up-to-date version of 'targets.json'.
26872687
# Raise 'tuf.exceptions.NoWorkingMirrorError' if the changed metadata
@@ -2755,7 +2755,7 @@ def _preorder_depth_first_walk(self, target_filepath):
27552755
if target is None and number_of_delegations == 0 and len(role_names) > 0:
27562756
logger.debug(repr(len(role_names)) + ' roles left to visit, ' +
27572757
'but allowed to visit at most ' +
2758-
repr(tuf.settings.MAX_NUMBER_OF_DELEGATIONS) + ' delegations.')
2758+
repr(settings.MAX_NUMBER_OF_DELEGATIONS) + ' delegations.')
27592759

27602760
return target
27612761

tuf/download.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import tuf
4343
from tuf import exceptions
4444
from tuf import formats
45+
from tuf import settings
4546

4647
# See 'log.py' to learn how logging is handled in TUF.
4748
logger = logging.getLogger(__name__)
@@ -208,15 +209,14 @@ def _download_file(url, required_length, fetcher, STRICT_REQUIRED_LENGTH=True):
208209
seconds_spent_receiving = stop_time - start_time
209210
average_download_speed = number_of_bytes_received / seconds_spent_receiving
210211

211-
if average_download_speed < tuf.settings.MIN_AVERAGE_DOWNLOAD_SPEED:
212+
if average_download_speed < settings.MIN_AVERAGE_DOWNLOAD_SPEED:
212213
logger.debug('The average download speed dropped below the minimum'
213-
' average download speed set in tuf.settings.py. Stopping the'
214-
' download!')
214+
' average download speed set in settings. Stopping the download!.')
215215
break
216216

217217
else:
218218
logger.debug('The average download speed has not dipped below the'
219-
' minimum average download speed set in tuf.settings.py.')
219+
' minimum average download speed set in settings.')
220220

221221
# Does the total number of downloaded bytes match the required length?
222222
_check_downloaded_length(number_of_bytes_received, required_length,
@@ -273,7 +273,7 @@ def _check_downloaded_length(total_downloaded, required_length,
273273
274274
tuf.exceptions.SlowRetrievalError, if the total downloaded was
275275
done in less than the acceptable download speed (as set in
276-
tuf.settings.py).
276+
tuf.settings).
277277
278278
<Returns>
279279
None.
@@ -296,9 +296,9 @@ def _check_downloaded_length(total_downloaded, required_length,
296296
# If the average download speed is below a certain threshold, we flag
297297
# this as a possible slow-retrieval attack.
298298
logger.debug('Average download speed: ' + repr(average_download_speed))
299-
logger.debug('Minimum average download speed: ' + repr(tuf.settings.MIN_AVERAGE_DOWNLOAD_SPEED))
299+
logger.debug('Minimum average download speed: ' + repr(settings.MIN_AVERAGE_DOWNLOAD_SPEED))
300300

301-
if average_download_speed < tuf.settings.MIN_AVERAGE_DOWNLOAD_SPEED:
301+
if average_download_speed < settings.MIN_AVERAGE_DOWNLOAD_SPEED:
302302
raise exceptions.SlowRetrievalError(average_download_speed)
303303

304304
else:
@@ -312,7 +312,7 @@ def _check_downloaded_length(total_downloaded, required_length,
312312
# will log a warning anyway. This is useful when we wish to download the
313313
# Timestamp or Root metadata, for which we have no signed metadata; so,
314314
# we must guess a reasonable required_length for it.
315-
if average_download_speed < tuf.settings.MIN_AVERAGE_DOWNLOAD_SPEED:
315+
if average_download_speed < settings.MIN_AVERAGE_DOWNLOAD_SPEED:
316316
raise exceptions.SlowRetrievalError(average_download_speed)
317317

318318
else:

tuf/log.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@
7373
import time
7474

7575
import tuf
76-
import tuf.settings
7776
from tuf import exceptions
77+
from tuf import settings
7878

7979
import securesystemslib.formats
8080

@@ -125,8 +125,8 @@
125125
# '_DEFAULT_LOG_LEVEL'. The log level of messages handled by 'file_handler'
126126
# may be modified with 'set_filehandler_log_level()'. 'settings.LOG_FILENAME'
127127
# will be opened in append mode.
128-
if tuf.settings.ENABLE_FILE_LOGGING:
129-
file_handler = logging.FileHandler(tuf.settings.LOG_FILENAME)
128+
if settings.ENABLE_FILE_LOGGING:
129+
file_handler = logging.FileHandler(settings.LOG_FILENAME)
130130
file_handler.setLevel(_DEFAULT_FILE_LOG_LEVEL)
131131
file_handler.setFormatter(formatter)
132132
logger.addHandler(file_handler)
@@ -381,7 +381,7 @@ def remove_console_handler():
381381

382382

383383

384-
def enable_file_logging(log_filename=tuf.settings.LOG_FILENAME):
384+
def enable_file_logging(log_filename=settings.LOG_FILENAME):
385385
"""
386386
<Purpose>
387387
Log messages to a file (i.e., 'log_filename'). The log level for the file

tuf/repository_lib.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@
4444
from tuf import formats
4545
from tuf import log
4646
from tuf import roledb
47+
from tuf import settings
4748
import tuf.keydb
4849
import tuf.sig
49-
import tuf.settings
5050

5151
import securesystemslib
5252
import securesystemslib.hash
@@ -87,7 +87,7 @@
8787

8888
# The algorithm used by the repository to generate the path hash prefixes
8989
# of hashed bin delegations. Please see delegate_hashed_bins()
90-
HASH_FUNCTION = tuf.settings.DEFAULT_HASH_ALGORITHM
90+
HASH_FUNCTION = settings.DEFAULT_HASH_ALGORITHM
9191

9292

9393

@@ -803,7 +803,7 @@ def import_ed25519_privatekey_from_file(filepath, password=None):
803803
804804
securesystemslib.exceptions.UnsupportedLibraryError, if 'filepath' cannot be
805805
decrypted due to an invalid configuration setting (i.e., invalid
806-
'tuf.settings.py' setting).
806+
'tuf.settings' setting).
807807
808808
<Side Effects>
809809
'password' is used to decrypt the 'filepath' key file.
@@ -993,7 +993,7 @@ def get_targets_metadata_fileinfo(filename, storage_backend, custom=None):
993993
# file information, such as the file's author, version/revision
994994
# numbers, etc.
995995
filesize, filehashes = securesystemslib.util.get_file_details(filename,
996-
tuf.settings.FILE_HASH_ALGORITHMS, storage_backend)
996+
settings.FILE_HASH_ALGORITHMS, storage_backend)
997997

998998
return formats.make_targets_fileinfo(filesize, filehashes, custom=custom)
999999

@@ -1543,7 +1543,7 @@ def _get_hashes_and_length_if_needed(use_length, use_hashes, full_file_path,
15431543

15441544
if use_hashes:
15451545
hashes = securesystemslib.util.get_file_hashes(full_file_path,
1546-
tuf.settings.FILE_HASH_ALGORITHMS, storage_backend)
1546+
settings.FILE_HASH_ALGORITHMS, storage_backend)
15471547

15481548
return length, hashes
15491549

tuf/scripts/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@
7474
import tuf
7575
from tuf import exceptions
7676
from tuf import log
77+
from tuf import settings
7778
import tuf.client.updater
78-
import tuf.settings
7979

8080
# See 'log.py' to learn how logging is handled in TUF.
8181
logger = logging.getLogger(__name__)
@@ -113,7 +113,7 @@ def update_client(parsed_arguments):
113113
logger.debug('We have a valid argparse Namespace object.')
114114

115115
# Set the local repositories directory containing all of the metadata files.
116-
tuf.settings.repositories_directory = '.'
116+
settings.repositories_directory = '.'
117117

118118
# Set the repository mirrors. This dictionary is needed by the Updater
119119
# class of updater.py.

0 commit comments

Comments
 (0)