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,