Folder exists routine
Change-Id: I6e17d24bb7d087754c26eee3cd944336aecd710e
Related-PROD: PROD-28199
diff --git a/cfg_checker/common/file_utils.py b/cfg_checker/common/file_utils.py
index 684fc30..9c043a8 100644
--- a/cfg_checker/common/file_utils.py
+++ b/cfg_checker/common/file_utils.py
@@ -93,3 +93,12 @@
_bytes = BytesIO(get(url).content)
with gzip.GzipFile(fileobj=_bytes) as gz:
return gz.read()
+
+
+def ensure_folder_exists(_folder):
+ if not os.path.exists(_folder):
+ # it is not exists, create it
+ os.mkdir(_folder)
+ return "... folder '{}' created".format(_folder)
+ else:
+ return "... folder is at '{}'".format(_folder)
diff --git a/cfg_checker/helpers/errors.py b/cfg_checker/helpers/errors.py
index eaaa1eb..83ae803 100644
--- a/cfg_checker/helpers/errors.py
+++ b/cfg_checker/helpers/errors.py
@@ -37,16 +37,7 @@
self._conf_filename
)
- if not os.path.exists(_folder):
- # it is not exists, create it
- os.mkdir(_folder)
- logger_cli.debug(
- "... error logs folder '{}' created".format(_folder)
- )
- else:
- logger_cli.debug(
- "... error logs folder is at '{}'".format(_folder)
- )
+ logger_cli.debug(fu.ensure_folder_exists(_folder))
if not os.path.exists(self._conf_filename):
# put file with init values
self.conf = ConfigFile(self._area_code.lower())
diff --git a/cfg_checker/modules/packages/repos.py b/cfg_checker/modules/packages/repos.py
index 025703e..27c388c 100644
--- a/cfg_checker/modules/packages/repos.py
+++ b/cfg_checker/modules/packages/repos.py
@@ -12,6 +12,7 @@
from cfg_checker.common.const import _repos_info_archive
from cfg_checker.common.const import _repos_versions_archive
from cfg_checker.common.const import ubuntu_releases
+from cfg_checker.common.file_utils import ensure_folder_exists
from cfg_checker.common.file_utils import get_gzipped_file
from cfg_checker.common.settings import pkg_dir
from cfg_checker.helpers.console_utils import Progress
@@ -339,8 +340,9 @@
class RepoManager(object):
# archives
- _versions_arch = os.path.join(pkg_dir, "versions", _repos_versions_archive)
- _desc_arch = os.path.join(pkg_dir, "versions", _pkg_desc_archive)
+ _arch_folder = os.path.join(pkg_dir, "versions")
+ _versions_arch = os.path.join(_arch_folder, _repos_versions_archive)
+ _desc_arch = os.path.join(_arch_folder, _pkg_desc_archive)
_apps_filename = "apps.json"
# repository index
@@ -354,6 +356,8 @@
_versions_other = {}
def __init__(self):
+ # Ensure that versions folder exists
+ logger_cli.debug(ensure_folder_exists(self._arch_folder))
# Init version files
self.versionstgz = TGZFile(
self._versions_arch,