File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -428,6 +428,18 @@ def fetch_metadata(key: str) :
428
428
objects .append (s3_object )
429
429
return cls (objects , prefix )
430
430
431
+ @classmethod
432
+ def undelete_prefix (cls : Type [S3IndexType ], prefix : str ) -> None :
433
+ paginator = CLIENT .get_paginator ("list_object_versions" )
434
+ for page in paginator .paginate (Bucket = BUCKET .name , Prefix = prefix ):
435
+ for obj in page .get ("DeleteMarkers" , []):
436
+ if not obj .get ("IsLatest" ):
437
+ continue
438
+ obj_key , obj_version_id = obj ["Key" ], obj ["VersionId" ]
439
+ obj_ver = S3 .ObjectVersion (BUCKET .name , obj_key , obj_version_id )
440
+ print (f"Undeleting { obj_key } deleted on { obj ['LastModified' ]} " )
441
+ obj_ver .delete ()
442
+
431
443
432
444
def create_parser () -> argparse .ArgumentParser :
433
445
parser = argparse .ArgumentParser ("Manage S3 HTML indices for PyTorch" )
You can’t perform that action at this time.
0 commit comments