Coverage for src / piccione / upload / on_internet_archive.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2025-12-11 13:41 +0000

1import yaml 

2import argparse 

3from internetarchive import upload 

4 

5 

6def upload_files(config_path): 

7 with open(config_path, "r") as file: 

8 config = yaml.safe_load(file) 

9 

10 identifier = config["identifier"] 

11 file_paths = config["file_paths"] 

12 metadata = config["metadata"] 

13 access_key = config["access_key"] 

14 secret_key = config["secret_key"] 

15 

16 result = upload( 

17 identifier=identifier, 

18 files=file_paths, 

19 metadata=metadata, 

20 access_key=access_key, 

21 secret_key=secret_key, 

22 verbose=True, 

23 verify=True, 

24 retries=3, 

25 retries_sleep=10, 

26 validate_identifier=True, 

27 ) 

28 

29 if result[0].status_code == 200: 

30 print("Upload completed successfully!") 

31 else: 

32 print("Upload failed.") 

33 

34 

35def main(): # pragma: no cover 

36 parser = argparse.ArgumentParser( 

37 description="Upload files to the Internet Archive." 

38 ) 

39 parser.add_argument( 

40 "config_path", type=str, help="Path to the YAML configuration file." 

41 ) 

42 args = parser.parse_args() 

43 

44 upload_files(args.config_path) 

45 

46 

47if __name__ == "__main__": # pragma: no cover 

48 main()