[Patchew-devel] [PATCH 1/4] modules: do not use "import *"

Paolo Bonzini pbonzini at redhat.com
Sat May 25 08:39:24 UTC 2019


import * prevents static analysis of undefined symbols, drop it.
---
 mod.py          | 16 ++++++++--------
 mods/email.py   | 30 +++++++++++++++---------------
 mods/git.py     | 10 +++++-----
 mods/testing.py | 22 +++++++++++-----------
 4 files changed, 39 insertions(+), 39 deletions(-)

diff --git a/mod.py b/mod.py
index a7ba7e2..d47745c 100644
--- a/mod.py
+++ b/mod.py
@@ -15,7 +15,7 @@ from django.conf import settings
 from django.template import Template, Context
 import traceback
 import configparser
-from schema import *
+import schema
 
 class PatchewModule(object):
     """ Module base class """
@@ -103,22 +103,22 @@ class PatchewModule(object):
                                      value=config)
 
     def _build_one(self, request, project, prefix, config, scm):
-        if type(scm) == MapSchema:
+        if type(scm) == schema.MapSchema:
             return self._build_map_scm(request, project, prefix, config, scm)
-        elif type(scm) == StringSchema:
+        elif type(scm) == schema.StringSchema:
             return self._build_string_scm(request, project, prefix, config, scm)
-        elif type(scm) == IntegerSchema:
+        elif type(scm) == schema.IntegerSchema:
             return self._build_integer_scm(request, project, prefix, config, scm)
-        elif type(scm) == BooleanSchema:
+        elif type(scm) == schema.BooleanSchema:
             return self._build_boolean_scm(request, project, prefix, config, scm)
-        elif type(scm) == EnumSchema:
+        elif type(scm) == schema.EnumSchema:
             return self._build_enum_scm(request, project, prefix, config, scm)
-        elif type(scm) == ArraySchema:
+        elif type(scm) == schema.ArraySchema:
             return self._build_array_scm(request, project, prefix, config, scm)
         assert False
 
     def build_config_html(self, request, project):
-        assert isinstance(self.project_config_schema, ArraySchema)
+        assert isinstance(self.project_config_schema, schema.ArraySchema)
         scm = self.project_config_schema
         config = self.get_project_config(project)
         return self._build_one(request, project, scm.name, config, scm)
diff --git a/mods/email.py b/mods/email.py
index 175af9d..e95fbe9 100644
--- a/mods/email.py
+++ b/mods/email.py
@@ -21,7 +21,7 @@ import email.utils
 import uuid
 from api.models import Message, Project
 from event import register_handler, get_events_info
-from schema import *
+import schema
 
 _default_config = """
 [smtp]
@@ -52,46 +52,46 @@ Email information is configured in "INI" style:
     default_config = _default_config
 
     email_schema = \
-        ArraySchema("{name}", "Email Notification",
+        schema.ArraySchema("{name}", "Email Notification",
                     desc="Email notification",
                     members=[
-                        EnumSchema("event", "Event",
+                        schema.EnumSchema("event", "Event",
                                    enums=lambda: get_events_info(),
                                    required=True,
                                    desc="Which event to trigger the email notification"),
-                        BooleanSchema("enabled", "Enabled",
+                        schema.BooleanSchema("enabled", "Enabled",
                                       desc="Whether this event is enabled",
                                       default=True),
-                        BooleanSchema("reply_to_all", "Reply to all",
+                        schema.BooleanSchema("reply_to_all", "Reply to all",
                                       desc='If set, Cc all the receipients of the email message associated to the event. Also, if set the original sender of the email message will be a recipient even if the "to" field is nonempty',
                                       default=False),
-                        BooleanSchema("in_reply_to", "Set In-Reply-To",
+                        schema.BooleanSchema("in_reply_to", "Set In-Reply-To",
                                       desc='Whether to set In-Reply-To to the message id, if the event has an associated email message',
                                       default=True),
-                        BooleanSchema("set_reply_to", "Set Reply-To",
+                        schema.BooleanSchema("set_reply_to", "Set Reply-To",
                                       desc='Whether to set Reply-To to the project mailing list, if the event has an associated email message',
                                       default=True),
-                        BooleanSchema("reply_subject", "Set replying subject",
+                        schema.BooleanSchema("reply_subject", "Set replying subject",
                                       desc='Whether to set Subject to "Re: xxx", if the event has an associated email message',
                                       default=True),
-                        BooleanSchema("to_user", "Send to user",
+                        schema.BooleanSchema("to_user", "Send to user",
                                       desc='Whether to set To to a user email, if the event has an associated user',
                                       default=False),
-                        StringSchema("to", "To", desc="Send email to"),
-                        StringSchema("cc", "Cc", desc="Cc list"),
-                        StringSchema("subject_template", "Subject template",
+                        schema.StringSchema("to", "To", desc="Send email to"),
+                        schema.StringSchema("cc", "Cc", desc="Cc list"),
+                        schema.StringSchema("subject_template", "Subject template",
                                      desc="""The django template for subject""",
                                      required=True),
-                        StringSchema("body_template", "Body template",
+                        schema.StringSchema("body_template", "Body template",
                                      desc="The django template for email body.",
                                      multiline=True,
                                      required=True),
                     ])
 
     project_config_schema = \
-        ArraySchema("email", desc="Configuration for email module",
+        schema.ArraySchema("email", desc="Configuration for email module",
                     members=[
-                        MapSchema("notifications", "Email notifications",
+                        schema.MapSchema("notifications", "Email notifications",
                                    desc="Email notifications",
                                    item=email_schema),
                    ])
diff --git a/mods/git.py b/mods/git.py
index 78939b8..753da7e 100644
--- a/mods/git.py
+++ b/mods/git.py
@@ -25,7 +25,7 @@ from api.models import (Message, Project, Result)
 from api.rest import PluginMethodField, SeriesSerializer, reverse_detail
 from api.views import APILoginRequiredView, prepare_series
 from patchew.logviewer import LogView
-from schema import *
+import schema
 from rest_framework import generics, mixins, serializers
 from rest_framework.fields import CharField, SerializerMethodField
 
@@ -64,14 +64,14 @@ class GitModule(PatchewModule):
     result_data_serializer_class = ResultDataSerializer
 
     project_config_schema = \
-        ArraySchema("git", desc="Configuration for git module",
+        schema.ArraySchema("git", desc="Configuration for git module",
                     members=[
-                        StringSchema("push_to", "Push remote",
+                        schema.StringSchema("push_to", "Push remote",
                                      desc="Remote to push to",
                                      required=True),
-                        StringSchema("public_repo", "Public repo",
+                        schema.StringSchema("public_repo", "Public repo",
                                      desc="Publicly visible repo URL"),
-                        StringSchema("url_template", "URL template",
+                        schema.StringSchema("url_template", "URL template",
                                      desc="Publicly visible URL template for applied branch, where %t will be replaced by the applied tag name",
                                      required=True),
                    ])
diff --git a/mods/testing.py b/mods/testing.py
index 90bb2be..cece418 100644
--- a/mods/testing.py
+++ b/mods/testing.py
@@ -24,7 +24,7 @@ from api.rest import PluginMethodField, TestPermission, reverse_detail
 from api.search import SearchEngine
 from event import emit_event, declare_event, register_handler
 from patchew.logviewer import LogView
-from schema import *
+import schema
 from rest_framework import serializers, generics
 from rest_framework.fields import CharField, BooleanField
 from rest_framework.response import Response
@@ -64,17 +64,17 @@ class TestingModule(PatchewModule):
     result_data_serializer_class = ResultDataSerializer
 
     test_schema = \
-        ArraySchema("{name}", "Test", desc="Test spec",
+        schema.ArraySchema("{name}", "Test", desc="Test spec",
                     members=[
-                        BooleanSchema("enabled", "Enabled",
+                        schema.BooleanSchema("enabled", "Enabled",
                                       desc="Whether this test is enabled",
                                       default=True),
-                        StringSchema("requirements", "Requirements",
+                        schema.StringSchema("requirements", "Requirements",
                                      desc="List of requirements of the test"),
-                        IntegerSchema("timeout", "Timeout",
+                        schema.IntegerSchema("timeout", "Timeout",
                                       default=3600,
                                       desc="Timeout for the test"),
-                        StringSchema("script", "Test script",
+                        schema.StringSchema("script", "Test script",
                                      desc="The testing script",
                                      default=TESTING_SCRIPT_DEFAULT,
                                      multiline=True,
@@ -82,9 +82,9 @@ class TestingModule(PatchewModule):
                     ])
 
     requirement_schema = \
-        ArraySchema("{name}", "Requirement", desc="Test requirement spec",
+        schema.ArraySchema("{name}", "Requirement", desc="Test requirement spec",
                     members=[
-                        StringSchema("script", "Probe script",
+                        schema.StringSchema("script", "Probe script",
                                      desc="The probing script for this requirement",
                                      default="#!/bin/bash\ntrue",
                                      multiline=True,
@@ -92,12 +92,12 @@ class TestingModule(PatchewModule):
                     ])
 
     project_config_schema = \
-        ArraySchema("testing", desc="Configuration for testing module",
+        schema.ArraySchema("testing", desc="Configuration for testing module",
                     members=[
-                        MapSchema("tests", "Tests",
+                        schema.MapSchema("tests", "Tests",
                                    desc="Testing specs",
                                    item=test_schema),
-                        MapSchema("requirements", "Requirements",
+                        schema.MapSchema("requirements", "Requirements",
                                    desc="Requirement specs",
                                    item=requirement_schema),
                    ])
-- 
2.21.0





More information about the Patchew-devel mailing list