summaryrefslogtreecommitdiffstats
path: root/ipaplatform
diff options
context:
space:
mode:
authorJan Cholasta <jcholast@redhat.com>2017-02-14 09:58:44 +0100
committerMartin Basti <mbasti@redhat.com>2017-03-10 13:04:59 +0100
commit5d489ac5604ca959cfe439c0594b8739073f3cea (patch)
treec91df525969f3148ce300acb2912756fee385960 /ipaplatform
parent6027a8111fa9ed7a058fb222f4f96b12039deb8b (diff)
pylint_plugins: add forbidden import checker
Add new pylint AST checker plugin which implements a check for imports forbidden in IPA. Which imports are forbidden is configurable in pylintrc. Provide default forbidden import configuration and disable the check for existing forbidden imports in our code base. Reviewed-By: Martin Basti <mbasti@redhat.com>
Diffstat (limited to 'ipaplatform')
-rw-r--r--ipaplatform/base/services.py4
-rw-r--r--ipaplatform/debian/services.py2
-rw-r--r--ipaplatform/redhat/services.py2
-rw-r--r--ipaplatform/redhat/tasks.py4
4 files changed, 11 insertions, 1 deletions
diff --git a/ipaplatform/base/services.py b/ipaplatform/base/services.py
index 8149ff1ef..068b9723c 100644
--- a/ipaplatform/base/services.py
+++ b/ipaplatform/base/services.py
@@ -93,11 +93,13 @@ class PlatformService(object):
"""
def __init__(self, service_name, api=None):
+ # pylint: disable=ipa-forbidden-import
+ import ipalib # FixMe: break import cycle
+ # pylint: enable=ipa-forbidden-import
self.service_name = service_name
if api is not None:
self.api = api
else:
- import ipalib # FixMe: break import cycle
self.api = ipalib.api
warnings.warn(
"{s.__class__.__name__}('{s.service_name}', api=None) "
diff --git a/ipaplatform/debian/services.py b/ipaplatform/debian/services.py
index 82a74e2d6..85fba56e2 100644
--- a/ipaplatform/debian/services.py
+++ b/ipaplatform/debian/services.py
@@ -166,7 +166,9 @@ def debian_service_class_factory(name, api=None):
class DebianServices(base_services.KnownServices):
def __init__(self):
+ # pylint: disable=ipa-forbidden-import
import ipalib # FixMe: break import cycle
+ # pylint: enable=ipa-forbidden-import
services = dict()
for s in base_services.wellknownservices:
services[s] = self.service_class_factory(s, ipalib.api)
diff --git a/ipaplatform/redhat/services.py b/ipaplatform/redhat/services.py
index 5d8e1ecaa..8fae1f3cc 100644
--- a/ipaplatform/redhat/services.py
+++ b/ipaplatform/redhat/services.py
@@ -253,7 +253,9 @@ def redhat_service_class_factory(name, api=None):
class RedHatServices(base_services.KnownServices):
def __init__(self):
+ # pylint: disable=ipa-forbidden-import
import ipalib # FixMe: break import cycle
+ # pylint: enable=ipa-forbidden-import
services = dict()
for s in base_services.wellknownservices:
services[s] = self.service_class_factory(s, ipalib.api)
diff --git a/ipaplatform/redhat/tasks.py b/ipaplatform/redhat/tasks.py
index 67cb02196..c1b574e06 100644
--- a/ipaplatform/redhat/tasks.py
+++ b/ipaplatform/redhat/tasks.py
@@ -50,7 +50,9 @@ from ipaplatform.paths import paths
from ipaplatform.redhat.authconfig import RedHatAuthConfig
from ipaplatform.base.tasks import BaseTaskNamespace
+# pylint: disable=ipa-forbidden-import
from ipalib.constants import IPAAPI_USER
+# pylint: enable=ipa-forbidden-import
_ffi = FFI()
_ffi.cdef("""
@@ -235,8 +237,10 @@ class RedHatTaskNamespace(BaseTaskNamespace):
return True
def insert_ca_certs_into_systemwide_ca_store(self, ca_certs):
+ # pylint: disable=ipa-forbidden-import
from ipalib import x509 # FixMe: break import cycle
from ipalib.errors import CertificateError
+ # pylint: enable=ipa-forbidden-import
new_cacert_path = paths.SYSTEMWIDE_IPA_CA_CRT