From 53c5f267db995cb05f0914a8fbec646b2a21b49a Mon Sep 17 00:00:00 2001 From: Labrys of Knossos Date: Sat, 3 Dec 2022 08:25:19 -0500 Subject: [PATCH] Add `create_url` utility --- core/utils/common.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/core/utils/common.py b/core/utils/common.py index 6583830d..746c3f71 100644 --- a/core/utils/common.py +++ b/core/utils/common.py @@ -1,4 +1,6 @@ import os.path +import typing +import urllib.parse import core from core import logger @@ -109,3 +111,16 @@ def get_dirs(section, subsection, link='hard'): logger.debug('No directories identified in {0}:{1} for post-processing'.format(section, subsection)) return list(set(to_return)) + + +def create_url( + scheme: str, + host: str, + port: typing.Optional[int], + path: str, + query: str, +) -> str: + """Create a url from its component parts.""" + netloc = host if port is None else f'{host}:{port}' + fragments = '' + return urllib.parse.urlunsplit([scheme, netloc, path, query, fragments])