from dataclasses import dataclass from datetime import datetime from pathlib import Path from urllib.parse import urlunparse @dataclass class BaseUrl: """utility class to create a url string with urllib""" netloc: str scheme: str = "https" path: str = "" params: str = "" query: str = "" fragment: str = "" def get(self, path: str = ""): return urlunparse((self.scheme, self.netloc, path, self.params, self.query, self.fragment)) def get_datetime_string() -> str: current_datetime = datetime.now() return current_datetime.strftime("%Y-%m-%d-%H-%M-%S") def rmtree(root_dir: Path): """removes a folder with content recursively""" if not root_dir.is_dir(): return for child in root_dir.iterdir(): if child.is_dir(): rmtree(child) else: child.unlink() root_dir.rmdir() def make_url(domain: str) -> str: """adds 'http://' at the beginning of a string""" return "https://" + domain