import os import shlex import sys from datetime import datetime from subprocess import check_output, CalledProcessError, STDOUT def log(message, endpoint): time = datetime.utcnow() print(f"{time} at {endpoint}: {message}") def execute_cmd(cmd_line): cmd_args = shlex.split(cmd_line) try: output = check_output(cmd_args, stderr=STDOUT).decode() success = True except CalledProcessError as e: output = e.output.decode() success = False return output, success def random_payload(file, size): file.write(os.urandom(1024 * int(size))) file.flush() class ProgressBar: @staticmethod def start(): sys.stdout.write('\r\n\r\n') @staticmethod def print(current, goal): finish_percent = current / goal sys.stdout.write('\r') sys.stdout.write(f" > Progress: [{'=' * int(30 * finish_percent)}{' ' * (29 - int(30 * finish_percent))}>]" f" {current}/{goal}") sys.stdout.flush() @staticmethod def end(): sys.stdout.write('\r\n\r\n')