Source code for fedn.network.api.shared

"""Shared objects for the network API."""

import os
from typing import Tuple

from werkzeug.security import safe_join

from fedn.network.controller.control import Control
from fedn.utils.checksum import sha


[docs] def get_checksum(name: str = None) -> Tuple[bool, str, str]: """Generate a checksum for a given file.""" message = None sum = None success = False if name is None: db = Control.instance().db active_package = db.package_store.get_active() if active_package is None: message = "No compute package uploaded" return success, message, sum name = active_package.storage_file_name file_path = safe_join(os.getcwd(), name) try: sum = str(sha(file_path)) success = True message = "Checksum created." except FileNotFoundError: message = "File not found." return success, message, sum