From 1b586eeeb2f6fbbfee25352cc6df758afd5fdb2a Mon Sep 17 00:00:00 2001
From: Dilawar Singh <dilawar@subcom.tech>
Date: Tue, 11 Oct 2022 12:19:33 +0530
Subject: [PATCH] validate url before setting up the server.

---
 Makefile          | 4 ++--
 bitia/__main__.py | 2 +-
 bitia/config.py   | 3 +++
 bitia/helper.py   | 9 ---------
 4 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/Makefile b/Makefile
index 76ec513..f4dad42 100644
--- a/Makefile
+++ b/Makefile
@@ -25,8 +25,8 @@ fix:
 	$(POETRY) run black tests
 
 gr runner gitlab-runner:
-	gitlab-runner exec docker build
-	gitlab-runner exec docker deploy
+	gitlab-runner exec docker build --env BITIA_SERVER=$$BITIA_SERVER
+	gitlab-runner exec docker deploy --env BITIA_SERVER=$$BITIA_SERVER
 
 release:
 	rm -rf dist/*.whl
diff --git a/bitia/__main__.py b/bitia/__main__.py
index 56268a4..0115002 100644
--- a/bitia/__main__.py
+++ b/bitia/__main__.py
@@ -176,7 +176,7 @@ def main(
 
     if server is not None:
         bconfig.set_server(server)
-    elif os.environ.get("BITIA_SERVER") is not None:
+    elif os.environ.get("BITIA_SERVER"):
         bconfig.set_server(os.environ["BITIA_SERVER"])
     else:
         # TODO: Read from default config file.
diff --git a/bitia/config.py b/bitia/config.py
index 66e4275..44ec8e5 100644
--- a/bitia/config.py
+++ b/bitia/config.py
@@ -3,6 +3,8 @@ import typing as T
 from pathlib import Path
 import tempfile
 
+import validators
+
 BITIA_MAIN_SCRIPT_NAME: T.Final[str] = "__main__.bitia.sh"
 
 
@@ -34,4 +36,5 @@ def get_server(use_env: bool = True) -> str:
 
 def set_server(server: str):
     """set bitia server"""
+    assert validators.url(server), f"{server} is not a valid url"
     set_config("server", server)
diff --git a/bitia/helper.py b/bitia/helper.py
index e4a2cd9..52c3c05 100644
--- a/bitia/helper.py
+++ b/bitia/helper.py
@@ -3,23 +3,14 @@
 __author__ = "Dilawar Singh"
 __email__ = "dilawar@subcom.tech"
 
-import hashlib
 import sys
-import uuid
-import zipfile
-import shutil
 from pathlib import Path
-from datetime import datetime
-import tempfile
 import typing as T
 
-import validators
 import requests
 
-import bitia.config as bconfig
 import bitia.session as bsession
 from bitia.pipeline import Pipeline
-from bitia.checksumdir import dirhash
 from bitia.logger import logger
 
 
-- 
GitLab