From 02a053bf0f3cdeb76753dfb37bb060eef18452d3 Mon Sep 17 00:00:00 2001
From: Steve Milner <smilner@redhat.com>
Date: Mon, 20 Feb 2017 14:14:49 -0500
Subject: Removed unrequired no-members from yedit and generated code

---
 roles/lib_utils/library/yedit.py   | 25 ++++++++++++++++++++-----
 roles/lib_utils/src/class/yedit.py | 26 ++++++++++++++++++++------
 2 files changed, 40 insertions(+), 11 deletions(-)

(limited to 'roles/lib_utils')

diff --git a/roles/lib_utils/library/yedit.py b/roles/lib_utils/library/yedit.py
index a358e980e..ee20cc49b 100644
--- a/roles/lib_utils/library/yedit.py
+++ b/roles/lib_utils/library/yedit.py
@@ -186,6 +186,7 @@ EXAMPLES = '''
 # -*- -*- -*- End included fragment: doc/yedit -*- -*- -*-
 
 # -*- -*- -*- Begin included fragment: class/yedit.py -*- -*- -*-
+# pylint: disable=undefined-variable,missing-docstring
 # noqa: E301,E302
 
 
@@ -381,10 +382,12 @@ class Yedit(object):
             shutil.copy(self.filename, self.filename + '.orig')
 
         if hasattr(yaml, 'RoundTripDumper'):
+            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
             # pylint: disable=no-member
             if hasattr(self.yaml_dict, 'fa'):
                 self.yaml_dict.fa.set_block_style()
 
+            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
             # pylint: disable=no-member
             Yedit._write(self.filename, yaml.dump(self.yaml_dict, Dumper=yaml.RoundTripDumper))
         else:
@@ -428,12 +431,14 @@ class Yedit(object):
         # check if it is yaml
         try:
             if content_type == 'yaml' and contents:
+                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
                 # pylint: disable=no-member
                 if hasattr(yaml, 'RoundTripLoader'):
                     self.yaml_dict = yaml.load(contents, yaml.RoundTripLoader)
                 else:
                     self.yaml_dict = yaml.safe_load(contents)
 
+                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
                 # pylint: disable=no-member
                 if hasattr(self.yaml_dict, 'fa'):
                     self.yaml_dict.fa.set_block_style()
@@ -466,14 +471,16 @@ class Yedit(object):
             return (False, self.yaml_dict)
 
         if isinstance(entry, dict):
-            # pylint: disable=no-member,maybe-no-member
+            # AUDIT:maybe-no-member makes sense due to fuzzy types
+            # pylint: disable=maybe-no-member
             if key_or_item in entry:
                 entry.pop(key_or_item)
                 return (True, self.yaml_dict)
             return (False, self.yaml_dict)
 
         elif isinstance(entry, list):
-            # pylint: disable=no-member,maybe-no-member
+            # AUDIT:maybe-no-member makes sense due to fuzzy types
+            # pylint: disable=maybe-no-member
             ind = None
             try:
                 ind = entry.index(key_or_item)
@@ -541,7 +548,9 @@ class Yedit(object):
         if not isinstance(entry, list):
             return (False, self.yaml_dict)
 
-        # pylint: disable=no-member,maybe-no-member
+        # AUDIT:maybe-no-member makes sense due to loading data from
+        # a serialized format.
+        # pylint: disable=maybe-no-member
         entry.append(value)
         return (True, self.yaml_dict)
 
@@ -554,7 +563,8 @@ class Yedit(object):
             entry = None
 
         if isinstance(entry, dict):
-            # pylint: disable=no-member,maybe-no-member
+            # AUDIT:maybe-no-member makes sense due to fuzzy types
+            # pylint: disable=maybe-no-member
             if not isinstance(value, dict):
                 raise YeditException('Cannot replace key, value entry in ' +
                                      'dict with non-dict type. value=[%s] [%s]' % (value, type(value)))  # noqa: E501
@@ -563,7 +573,8 @@ class Yedit(object):
             return (True, self.yaml_dict)
 
         elif isinstance(entry, list):
-            # pylint: disable=no-member,maybe-no-member
+            # AUDIT:maybe-no-member makes sense due to fuzzy types
+            # pylint: disable=maybe-no-member
             ind = None
             if curr_value:
                 try:
@@ -603,11 +614,13 @@ class Yedit(object):
 
         # deepcopy didn't work
         if hasattr(yaml, 'round_trip_dump'):
+            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
             # pylint: disable=no-member
             tmp_copy = yaml.load(yaml.round_trip_dump(self.yaml_dict,
                                                       default_flow_style=False),
                                  yaml.RoundTripLoader)
 
+            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
             # pylint: disable=no-member
             if hasattr(self.yaml_dict, 'fa'):
                 tmp_copy.fa.set_block_style()
@@ -628,10 +641,12 @@ class Yedit(object):
         if not self.file_exists():
             # deepcopy didn't work
             if hasattr(yaml, 'round_trip_dump'):
+                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
                 # pylint: disable=no-member
                 tmp_copy = yaml.load(yaml.round_trip_dump(self.yaml_dict, default_flow_style=False),  # noqa: E501
                                      yaml.RoundTripLoader)
 
+                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
                 # pylint: disable=no-member
                 if hasattr(self.yaml_dict, 'fa'):
                     tmp_copy.fa.set_block_style()
diff --git a/roles/lib_utils/src/class/yedit.py b/roles/lib_utils/src/class/yedit.py
index 5275e84eb..63da84678 100644
--- a/roles/lib_utils/src/class/yedit.py
+++ b/roles/lib_utils/src/class/yedit.py
@@ -1,5 +1,5 @@
 # flake8: noqa
-# pylint: skip-file
+# pylint: disable=undefined-variable,missing-docstring
 # noqa: E301,E302
 
 
@@ -195,10 +195,12 @@ class Yedit(object):
             shutil.copy(self.filename, self.filename + '.orig')
 
         if hasattr(yaml, 'RoundTripDumper'):
+            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
             # pylint: disable=no-member
             if hasattr(self.yaml_dict, 'fa'):
                 self.yaml_dict.fa.set_block_style()
 
+            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
             # pylint: disable=no-member
             Yedit._write(self.filename, yaml.dump(self.yaml_dict, Dumper=yaml.RoundTripDumper))
         else:
@@ -242,12 +244,14 @@ class Yedit(object):
         # check if it is yaml
         try:
             if content_type == 'yaml' and contents:
+                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
                 # pylint: disable=no-member
                 if hasattr(yaml, 'RoundTripLoader'):
                     self.yaml_dict = yaml.load(contents, yaml.RoundTripLoader)
                 else:
                     self.yaml_dict = yaml.safe_load(contents)
 
+                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
                 # pylint: disable=no-member
                 if hasattr(self.yaml_dict, 'fa'):
                     self.yaml_dict.fa.set_block_style()
@@ -280,14 +284,16 @@ class Yedit(object):
             return (False, self.yaml_dict)
 
         if isinstance(entry, dict):
-            # pylint: disable=no-member,maybe-no-member
+            # AUDIT:maybe-no-member makes sense due to fuzzy types
+            # pylint: disable=maybe-no-member
             if key_or_item in entry:
                 entry.pop(key_or_item)
                 return (True, self.yaml_dict)
             return (False, self.yaml_dict)
 
         elif isinstance(entry, list):
-            # pylint: disable=no-member,maybe-no-member
+            # AUDIT:maybe-no-member makes sense due to fuzzy types
+            # pylint: disable=maybe-no-member
             ind = None
             try:
                 ind = entry.index(key_or_item)
@@ -355,7 +361,9 @@ class Yedit(object):
         if not isinstance(entry, list):
             return (False, self.yaml_dict)
 
-        # pylint: disable=no-member,maybe-no-member
+        # AUDIT:maybe-no-member makes sense due to loading data from
+        # a serialized format.
+        # pylint: disable=maybe-no-member
         entry.append(value)
         return (True, self.yaml_dict)
 
@@ -368,7 +376,8 @@ class Yedit(object):
             entry = None
 
         if isinstance(entry, dict):
-            # pylint: disable=no-member,maybe-no-member
+            # AUDIT:maybe-no-member makes sense due to fuzzy types
+            # pylint: disable=maybe-no-member
             if not isinstance(value, dict):
                 raise YeditException('Cannot replace key, value entry in ' +
                                      'dict with non-dict type. value=[%s] [%s]' % (value, type(value)))  # noqa: E501
@@ -377,7 +386,8 @@ class Yedit(object):
             return (True, self.yaml_dict)
 
         elif isinstance(entry, list):
-            # pylint: disable=no-member,maybe-no-member
+            # AUDIT:maybe-no-member makes sense due to fuzzy types
+            # pylint: disable=maybe-no-member
             ind = None
             if curr_value:
                 try:
@@ -417,11 +427,13 @@ class Yedit(object):
 
         # deepcopy didn't work
         if hasattr(yaml, 'round_trip_dump'):
+            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
             # pylint: disable=no-member
             tmp_copy = yaml.load(yaml.round_trip_dump(self.yaml_dict,
                                                       default_flow_style=False),
                                  yaml.RoundTripLoader)
 
+            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
             # pylint: disable=no-member
             if hasattr(self.yaml_dict, 'fa'):
                 tmp_copy.fa.set_block_style()
@@ -442,10 +454,12 @@ class Yedit(object):
         if not self.file_exists():
             # deepcopy didn't work
             if hasattr(yaml, 'round_trip_dump'):
+                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
                 # pylint: disable=no-member
                 tmp_copy = yaml.load(yaml.round_trip_dump(self.yaml_dict, default_flow_style=False),  # noqa: E501
                                      yaml.RoundTripLoader)
 
+                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
                 # pylint: disable=no-member
                 if hasattr(self.yaml_dict, 'fa'):
                     tmp_copy.fa.set_block_style()
-- 
cgit v1.2.3


From 9a01b3a021fc457d917386c93e17ad34cefbdc92 Mon Sep 17 00:00:00 2001
From: Jason DeTiberus <jdetiber@redhat.com>
Date: Mon, 20 Feb 2017 16:10:43 -0500
Subject: fix up ruamel.yaml/pyyaml no-member lint errors

---
 roles/lib_utils/library/repoquery.py |  1 -
 roles/lib_utils/library/yedit.py     | 79 ++++++++++++++++++-----------------
 roles/lib_utils/src/class/yedit.py   | 80 +++++++++++++++++++-----------------
 roles/lib_utils/src/lib/import.py    |  1 -
 4 files changed, 85 insertions(+), 76 deletions(-)

(limited to 'roles/lib_utils')

diff --git a/roles/lib_utils/library/repoquery.py b/roles/lib_utils/library/repoquery.py
index f31c8911b..ee98470b0 100644
--- a/roles/lib_utils/library/repoquery.py
+++ b/roles/lib_utils/library/repoquery.py
@@ -35,7 +35,6 @@ import os  # noqa: F401
 import re  # noqa: F401
 import shutil  # noqa: F401
 
-# pylint: disable=import-error
 try:
     import ruamel.yaml as yaml  # noqa: F401
 except ImportError:
diff --git a/roles/lib_utils/library/yedit.py b/roles/lib_utils/library/yedit.py
index ee20cc49b..b1d9d6869 100644
--- a/roles/lib_utils/library/yedit.py
+++ b/roles/lib_utils/library/yedit.py
@@ -35,7 +35,6 @@ import os  # noqa: F401
 import re  # noqa: F401
 import shutil  # noqa: F401
 
-# pylint: disable=import-error
 try:
     import ruamel.yaml as yaml  # noqa: F401
 except ImportError:
@@ -381,16 +380,16 @@ class Yedit(object):
         if self.backup and self.file_exists():
             shutil.copy(self.filename, self.filename + '.orig')
 
-        if hasattr(yaml, 'RoundTripDumper'):
-            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-            # pylint: disable=no-member
-            if hasattr(self.yaml_dict, 'fa'):
-                self.yaml_dict.fa.set_block_style()
+        # Try to set format attributes if supported
+        try:
+            self.yaml_dict.fa.set_block_style()
+        except AttributeError:
+            pass
 
-            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-            # pylint: disable=no-member
+        # Try to use RoundTripDumper if supported.
+        try:
             Yedit._write(self.filename, yaml.dump(self.yaml_dict, Dumper=yaml.RoundTripDumper))
-        else:
+        except AttributeError:
             Yedit._write(self.filename, yaml.safe_dump(self.yaml_dict, default_flow_style=False))
 
         return (True, self.yaml_dict)
@@ -431,17 +430,23 @@ class Yedit(object):
         # check if it is yaml
         try:
             if content_type == 'yaml' and contents:
-                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-                # pylint: disable=no-member
-                if hasattr(yaml, 'RoundTripLoader'):
-                    self.yaml_dict = yaml.load(contents, yaml.RoundTripLoader)
-                else:
+                # Try to set format attributes if supported
+                try:
+                    self.yaml_dict.fa.set_block_style()
+                except AttributeError:
+                    pass
+
+                # Try to use RoundTripLoader if supported.
+                try:
+                    self.yaml_dict = yaml.safe_load(contents, yaml.RoundTripLoader)
+                except AttributeError:
                     self.yaml_dict = yaml.safe_load(contents)
 
-                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-                # pylint: disable=no-member
-                if hasattr(self.yaml_dict, 'fa'):
+                # Try to set format attributes if supported
+                try:
                     self.yaml_dict.fa.set_block_style()
+                except AttributeError:
+                    pass
 
             elif content_type == 'json' and contents:
                 self.yaml_dict = json.loads(contents)
@@ -613,21 +618,20 @@ class Yedit(object):
             return (False, self.yaml_dict)
 
         # deepcopy didn't work
-        if hasattr(yaml, 'round_trip_dump'):
-            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-            # pylint: disable=no-member
+        # Try to use ruamel.yaml and fallback to pyyaml
+        try:
             tmp_copy = yaml.load(yaml.round_trip_dump(self.yaml_dict,
                                                       default_flow_style=False),
                                  yaml.RoundTripLoader)
-
-            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-            # pylint: disable=no-member
-            if hasattr(self.yaml_dict, 'fa'):
-                tmp_copy.fa.set_block_style()
-
-        else:
+        except AttributeError:
             tmp_copy = copy.deepcopy(self.yaml_dict)
 
+        # set the format attributes if available
+        try:
+            tmp_copy.fa.set_block_style()
+        except AttributeError:
+            pass
+
         result = Yedit.add_entry(tmp_copy, path, value, self.separator)
         if not result:
             return (False, self.yaml_dict)
@@ -640,19 +644,20 @@ class Yedit(object):
         ''' create a yaml file '''
         if not self.file_exists():
             # deepcopy didn't work
-            if hasattr(yaml, 'round_trip_dump'):
-                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-                # pylint: disable=no-member
-                tmp_copy = yaml.load(yaml.round_trip_dump(self.yaml_dict, default_flow_style=False),  # noqa: E501
+            # Try to use ruamel.yaml and fallback to pyyaml
+            try:
+                tmp_copy = yaml.load(yaml.round_trip_dump(self.yaml_dict,
+                                                          default_flow_style=False),
                                      yaml.RoundTripLoader)
-
-                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-                # pylint: disable=no-member
-                if hasattr(self.yaml_dict, 'fa'):
-                    tmp_copy.fa.set_block_style()
-            else:
+            except AttributeError:
                 tmp_copy = copy.deepcopy(self.yaml_dict)
 
+            # set the format attributes if available
+            try:
+                tmp_copy.fa.set_block_style()
+            except AttributeError:
+                pass
+
             result = Yedit.add_entry(tmp_copy, path, value, self.separator)
             if result:
                 self.yaml_dict = tmp_copy
diff --git a/roles/lib_utils/src/class/yedit.py b/roles/lib_utils/src/class/yedit.py
index 63da84678..74ee52fe3 100644
--- a/roles/lib_utils/src/class/yedit.py
+++ b/roles/lib_utils/src/class/yedit.py
@@ -194,16 +194,16 @@ class Yedit(object):
         if self.backup and self.file_exists():
             shutil.copy(self.filename, self.filename + '.orig')
 
-        if hasattr(yaml, 'RoundTripDumper'):
-            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-            # pylint: disable=no-member
-            if hasattr(self.yaml_dict, 'fa'):
-                self.yaml_dict.fa.set_block_style()
-
-            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-            # pylint: disable=no-member
+        # Try to set format attributes if supported
+        try:
+            self.yaml_dict.fa.set_block_style()
+        except AttributeError:
+            pass
+
+        # Try to use RoundTripDumper if supported.
+        try:
             Yedit._write(self.filename, yaml.dump(self.yaml_dict, Dumper=yaml.RoundTripDumper))
-        else:
+        except AttributeError:
             Yedit._write(self.filename, yaml.safe_dump(self.yaml_dict, default_flow_style=False))
 
         return (True, self.yaml_dict)
@@ -244,17 +244,23 @@ class Yedit(object):
         # check if it is yaml
         try:
             if content_type == 'yaml' and contents:
-                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-                # pylint: disable=no-member
-                if hasattr(yaml, 'RoundTripLoader'):
-                    self.yaml_dict = yaml.load(contents, yaml.RoundTripLoader)
-                else:
+                # Try to set format attributes if supported
+                try:
+                    self.yaml_dict.fa.set_block_style()
+                except AttributeError:
+                    pass
+
+                # Try to use RoundTripLoader if supported.
+                try:
+                    self.yaml_dict = yaml.safe_load(contents, yaml.RoundTripLoader)
+                except AttributeError:
                     self.yaml_dict = yaml.safe_load(contents)
 
-                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-                # pylint: disable=no-member
-                if hasattr(self.yaml_dict, 'fa'):
+                # Try to set format attributes if supported
+                try:
                     self.yaml_dict.fa.set_block_style()
+                except AttributeError:
+                    pass
 
             elif content_type == 'json' and contents:
                 self.yaml_dict = json.loads(contents)
@@ -426,21 +432,20 @@ class Yedit(object):
             return (False, self.yaml_dict)
 
         # deepcopy didn't work
-        if hasattr(yaml, 'round_trip_dump'):
-            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-            # pylint: disable=no-member
+        # Try to use ruamel.yaml and fallback to pyyaml
+        try:
             tmp_copy = yaml.load(yaml.round_trip_dump(self.yaml_dict,
                                                       default_flow_style=False),
                                  yaml.RoundTripLoader)
-
-            # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-            # pylint: disable=no-member
-            if hasattr(self.yaml_dict, 'fa'):
-                tmp_copy.fa.set_block_style()
-
-        else:
+        except AttributeError:
             tmp_copy = copy.deepcopy(self.yaml_dict)
 
+        # set the format attributes if available
+        try:
+            tmp_copy.fa.set_block_style()
+        except AttributeError:
+            pass
+
         result = Yedit.add_entry(tmp_copy, path, value, self.separator)
         if not result:
             return (False, self.yaml_dict)
@@ -453,19 +458,20 @@ class Yedit(object):
         ''' create a yaml file '''
         if not self.file_exists():
             # deepcopy didn't work
-            if hasattr(yaml, 'round_trip_dump'):
-                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-                # pylint: disable=no-member
-                tmp_copy = yaml.load(yaml.round_trip_dump(self.yaml_dict, default_flow_style=False),  # noqa: E501
+            # Try to use ruamel.yaml and fallback to pyyaml
+            try:
+                tmp_copy = yaml.load(yaml.round_trip_dump(self.yaml_dict,
+                                                          default_flow_style=False),
                                      yaml.RoundTripLoader)
-
-                # AUDIT:no-member makes sense here due to ruamel.YAML/PyYAML usage
-                # pylint: disable=no-member
-                if hasattr(self.yaml_dict, 'fa'):
-                    tmp_copy.fa.set_block_style()
-            else:
+            except AttributeError:
                 tmp_copy = copy.deepcopy(self.yaml_dict)
 
+            # set the format attributes if available
+            try:
+                tmp_copy.fa.set_block_style()
+            except AttributeError:
+                pass
+
             result = Yedit.add_entry(tmp_copy, path, value, self.separator)
             if result:
                 self.yaml_dict = tmp_copy
diff --git a/roles/lib_utils/src/lib/import.py b/roles/lib_utils/src/lib/import.py
index ed57a68c9..b0ab7c92c 100644
--- a/roles/lib_utils/src/lib/import.py
+++ b/roles/lib_utils/src/lib/import.py
@@ -10,7 +10,6 @@ import os  # noqa: F401
 import re  # noqa: F401
 import shutil  # noqa: F401
 
-# pylint: disable=import-error
 try:
     import ruamel.yaml as yaml  # noqa: F401
 except ImportError:
-- 
cgit v1.2.3