Migrating to Python v3

 - support for Python v3.8.x
 - support for Python v3.5.x
 - new tag, 2019.2.8
 - updates class generation and iterators
 - unittests updated with coverage >75%
 - new coverage routines
 - unittests profiling
 - full fake data for unittests
 - unittest testrun is ~1.5 seconds long

Bugfixes
 - 34834, proper use of 'sudo' option
 - multiple proper iterator use
 - 37919, show warning when installed and candidate versions
   are newer comparing to release version

Change-Id: Idd6b889f7ce94ae0c832e2f0a0346e4fdc3264a3
Related-PROD: PROD-34834 PROD-34664 PROD-34919
diff --git a/cfg_checker/helpers/errors.py b/cfg_checker/helpers/errors.py
index 95e1495..27ed242 100644
--- a/cfg_checker/helpers/errors.py
+++ b/cfg_checker/helpers/errors.py
@@ -25,11 +25,15 @@
         0: "Unknown error"
     }
 
-    def __init__(self, area_code, delimiter='-'):
+    def __init__(self, area_code, delimiter='-', folder=None):
         self._area_code = area_code
         self._delimiter = delimiter
         self._index += 1
 
+        # save folder
+        if folder:
+            self._error_logs_folder_name = folder
+
         # init the error log storage folder
         _folder = os.path.join(pkg_dir, self._error_logs_folder_name)
         self._conf_filename = os.path.join(
@@ -98,7 +102,7 @@
         _code = self._format_error_code(index)
         # prepare data as string list
         _d = self._errors[index]['data']
-        _data = ["    {}: {}".format(_k, _v) for _k, _v in _d.iteritems()]
+        _data = ["    {}: {}".format(_k, _v) for _k, _v in _d.items()]
         # format message
         _msg = "### {}:\n    Description: {}\n{}".format(
             _code,
@@ -170,9 +174,11 @@
 
         for _type in self._types.keys():
             _len = len(
-                filter(
-                    lambda i: self._errors[i]['type'] == _type,
-                    self._errors
+                list(
+                    filter(
+                        lambda i: self._errors[i]['type'] == _type,
+                        self._errors
+                    )
                 )
             )
             if _len: