Exemple #1
0
    def __init__(self, path, kdm=None, pkey=None):
        """ DCP constructor.

            Args:
                path (str): Absolute path to directory.
                kdm (str): Absolute path to KDM file.
                pkey (str): Absolute path to private key, this should be the
                KDM recipient private key.

            Raises:
                ClairMetaException: ``path`` directory not found.

        """

        if not os.path.isdir(path):
            raise ClairMetaException("{} is not a valid folder".format(path))

        self.path = os.path.normpath(path)
        self.kdm = os.path.normpath(kdm) if kdm else None
        self.pkey = os.path.normpath(pkey) if pkey else None
        self.schema = 'Unknown'
        self.package_type = 'Unknown'
        self.foreign_files = []
        self.size = folder_size(path)
        self.log = get_log()

        self._probeb = False
        self._parsed = False
Exemple #2
0
def cli_copy(args):
    dcp = DCP(args.source)
    dcp_size = dcp.size

    try:

        log = get_log()
        log.info("Copy {} to {}".format(args.source, args.dest))

        start = time.time()
        progress = ConsoleProgress()
        progress._total_size = dcp_size

        with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
            future = executor.submit(
                shutil.copytree,
                args.source,
                args.dest,
                dirs_exist_ok=args.overwrite
            )

            while future.running():
                copy_size = folder_size(args.dest)
                elapsed = time.time() - start
                progress(args.source, copy_size, dcp_size, elapsed)
                time.sleep(1.0)

            future.result()

        progress(args.source, dcp_size, dcp_size, elapsed)
        log.info("Total time : {:.2f} sec".format(time.time() - start))

        dcp_dst = DCP(args.dest)
        status, report = dcp.check(hash_callback=ConsoleProgress())

        return status

    except Exception as e:
        print(str(e))
        return False
Exemple #3
0
    def __init__(self, path):
        """ DCP constructor.

            Args:
                path (str): Absolute path to directory.

            Raises:
                ValueError: ``path`` directory not found.

        """

        if not os.path.isdir(path):
            raise ValueError("{} is not a valid folder".format(path))

        self.path = os.path.normpath(path)
        self.schema = 'Unknown'
        self.package_type = 'Unknown'
        self.foreign_files = []
        self.size = folder_size(path)
        self.log = get_log()

        self._probeb = False
        self._parsed = False