@@ -149,7 +149,7 @@ def targets(self) -> Targets:
149
149
150
150
def all_targets (self ) -> Iterator [Tuple [str , Targets ]]:
151
151
"""Yield role name and signed portion of targets one by one."""
152
- yield "targets" , self .md_targets .signed
152
+ yield Targets . type , self .md_targets .signed
153
153
for role , md in self .md_delegates .items ():
154
154
yield role , md .signed
155
155
@@ -191,7 +191,7 @@ def _initialize(self) -> None:
191
191
def publish_root (self ) -> None :
192
192
"""Sign and store a new serialized version of root."""
193
193
self .md_root .signatures .clear ()
194
- for signer in self .signers ["root" ].values ():
194
+ for signer in self .signers [Root . type ].values ():
195
195
self .md_root .sign (signer , append = True )
196
196
197
197
self .signed_roots .append (self .md_root .to_bytes (JSONSerializer ()))
@@ -207,8 +207,8 @@ def fetch(self, url: str) -> Iterator[bytes]:
207
207
ver_and_name = path [len ("/metadata/" ) :][: - len (".json" )]
208
208
version_str , _ , role = ver_and_name .partition ("." )
209
209
# root is always version-prefixed while timestamp is always NOT
210
- if role == "root" or (
211
- self .root .consistent_snapshot and ver_and_name != "timestamp"
210
+ if role == Root . type or (
211
+ self .root .consistent_snapshot and ver_and_name != Timestamp . type
212
212
):
213
213
version : Optional [int ] = int (version_str )
214
214
else :
@@ -262,7 +262,7 @@ def _fetch_metadata(
262
262
"""
263
263
self .fetch_tracker .metadata .append ((role , version ))
264
264
265
- if role == "root" :
265
+ if role == Root . type :
266
266
# return a version previously serialized in publish_root()
267
267
if version is None or version > len (self .signed_roots ):
268
268
raise FetcherHTTPError (f"Unknown root version { version } " , 404 )
@@ -271,11 +271,11 @@ def _fetch_metadata(
271
271
272
272
# sign and serialize the requested metadata
273
273
md : Optional [Metadata ]
274
- if role == "timestamp" :
274
+ if role == Timestamp . type :
275
275
md = self .md_timestamp
276
- elif role == "snapshot" :
276
+ elif role == Snapshot . type :
277
277
md = self .md_snapshot
278
- elif role == "targets" :
278
+ elif role == Targets . type :
279
279
md = self .md_targets
280
280
else :
281
281
md = self .md_delegates .get (role )
@@ -311,7 +311,7 @@ def update_timestamp(self) -> None:
311
311
self .timestamp .snapshot_meta .version = self .snapshot .version
312
312
313
313
if self .compute_metafile_hashes_length :
314
- hashes , length = self ._compute_hashes_and_length ("snapshot" )
314
+ hashes , length = self ._compute_hashes_and_length (Snapshot . type )
315
315
self .timestamp .snapshot_meta .hashes = hashes
316
316
self .timestamp .snapshot_meta .length = length
317
317
@@ -334,7 +334,7 @@ def update_snapshot(self) -> None:
334
334
335
335
def add_target (self , role : str , data : bytes , path : str ) -> None :
336
336
"""Create a target from data and add it to the target_files."""
337
- if role == "targets" :
337
+ if role == Targets . type :
338
338
targets = self .targets
339
339
else :
340
340
targets = self .md_delegates [role ].signed
@@ -353,7 +353,7 @@ def add_delegation(
353
353
hash_prefixes : Optional [List [str ]],
354
354
) -> None :
355
355
"""Add delegated target role to the repository."""
356
- if delegator_name == "targets" :
356
+ if delegator_name == Targets . type :
357
357
delegator = self .targets
358
358
else :
359
359
delegator = self .md_delegates [delegator_name ].signed
@@ -389,9 +389,9 @@ def write(self) -> None:
389
389
390
390
for ver in range (1 , len (self .signed_roots ) + 1 ):
391
391
with open (os .path .join (dest_dir , f"{ ver } .root.json" ), "wb" ) as f :
392
- f .write (self ._fetch_metadata ("root" , ver ))
392
+ f .write (self ._fetch_metadata (Root . type , ver ))
393
393
394
- for role in ["timestamp" , "snapshot" , "targets" ]:
394
+ for role in [Timestamp . type , Snapshot . type , Targets . type ]:
395
395
with open (os .path .join (dest_dir , f"{ role } .json" ), "wb" ) as f :
396
396
f .write (self ._fetch_metadata (role ))
397
397
0 commit comments