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
« 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
5import yaml
6import argparse
7from internetarchive import upload
10def upload_files(config_path):
11 with open(config_path, "r") as file:
12 config = yaml.safe_load(file)
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"]
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 )
33 if result[0].status_code == 200:
34 print("Upload completed successfully!")
35 else:
36 print("Upload failed.")
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()
48 upload_files(args.config_path)
51if __name__ == "__main__": # pragma: no cover
52 main()