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

15 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-03-21 11:49 +0000

1# SPDX-FileCopyrightText: 2025 Arcangelo Massari <arcangelo.massari@unibo.it> 

2# 

3# SPDX-License-Identifier: ISC 

4 

5import yaml 

6import argparse 

7from internetarchive import upload 

8 

9 

10def upload_files(config_path): 

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

12 config = yaml.safe_load(file) 

13 

14 identifier = config["identifier"] 

15 file_paths = config["file_paths"] 

16 metadata = config["metadata"] 

17 access_key = config["access_key"] 

18 secret_key = config["secret_key"] 

19 

20 result = upload( 

21 identifier=identifier, 

22 files=file_paths, 

23 metadata=metadata, 

24 access_key=access_key, 

25 secret_key=secret_key, 

26 verbose=True, 

27 verify=True, 

28 retries=3, 

29 retries_sleep=10, 

30 validate_identifier=True, 

31 ) 

32 

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

34 print("Upload completed successfully!") 

35 else: 

36 print("Upload failed.") 

37 

38 

39def main(): # pragma: no cover 

40 parser = argparse.ArgumentParser( 

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

42 ) 

43 parser.add_argument( 

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

45 ) 

46 args = parser.parse_args() 

47 

48 upload_files(args.config_path) 

49 

50 

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

52 main()