Module and states code refactor

Change-Id: Ia1c468d0b55603b6274ca0d275b2720602e5319e
diff --git a/_states/jenkins_smtp.py b/_states/jenkins_smtp.py
index f27972e..b3029b7 100644
--- a/_states/jenkins_smtp.py
+++ b/_states/jenkins_smtp.py
@@ -1,48 +1,49 @@
 import logging
+
 logger = logging.getLogger(__name__)
 
 set_smtp_groovy = """\
 def result = ""
-for(desc in [Jenkins.getInstance().getDescriptor("hudson.plugins.emailext.ExtendedEmailPublisher"),Jenkins.getInstance().getDescriptor("hudson.tasks.Mailer")]){{
-    if(desc.getSmtpServer().equals("{host}") &&
-       ((desc instanceof hudson.plugins.emailext.ExtendedEmailPublisherDescriptor && desc.getSmtpAuthUsername().equals("{username}")) ||
-        (desc instanceof hudson.tasks.Mailer$DescriptorImpl && desc.getSmtpAuthUserName().equals("{username}"))) &&
-       desc.getSmtpAuthPassword().toString().equals("{password}") &&
-       desc.getSmtpPort().equals("{port}") &&
-       desc.getUseSsl() == {ssl} &&
-       desc.getCharset().equals("{charset}") &&
-       (!{reply_to_exists} || desc.getReplyAddress().equals("{reply_to}"))){{
+for(desc in [Jenkins.getInstance().getDescriptor("hudson.plugins.emailext.ExtendedEmailPublisher"),Jenkins.getInstance().getDescriptor("hudson.tasks.Mailer")]){
+    if(desc.getSmtpServer().equals("${host}") &&
+       ((desc instanceof hudson.plugins.emailext.ExtendedEmailPublisherDescriptor && desc.getSmtpAuthUsername().equals("${username}")) ||
+        (desc instanceof hudson.tasks.Mailer$DescriptorImpl && desc.getSmtpAuthUserName().equals("${username}"))) &&
+       desc.getSmtpAuthPassword().toString().equals("${password}") &&
+       desc.getSmtpPort().equals("${port}") &&
+       desc.getUseSsl() == ${ssl} &&
+       desc.getCharset().equals("${charset}") &&
+       (!{reply_to_exists} || desc.getReplyAddress().equals("${reply_to}"))){
             result = "EXISTS"
-    }}else{{
-        desc.setSmtpAuth("{username}", "{password}")
-        desc.setUseSsl({ssl})
-        if(desc instanceof hudson.plugins.emailext.ExtendedEmailPublisherDescriptor){{
-            desc.setSmtpServer("{host}")
-        }}else{{
-            desc.setSmtpHost("{host}")
-        }}
-        desc.setSmtpPort("{port}")
-        desc.setCharset("{charset}")
-        if({reply_to_exists}){{
-            desc.setReplyToAddress("{reply_to}")
-        }}
+    }else{
+        desc.setSmtpAuth("${username}", "${password}")
+        desc.setUseSsl(${ssl})
+        if(desc instanceof hudson.plugins.emailext.ExtendedEmailPublisherDescriptor){
+            desc.setSmtpServer("${host}")
+        }else{
+            desc.setSmtpHost("${host}")
+        }
+        desc.setSmtpPort("${port}")
+        desc.setCharset("${charset}")
+        if({reply_to_exists}){
+            desc.setReplyToAddress("${reply_to}")
+        }
         desc.save()
         result = "SUCCESS"
-    }}
-}}
+    }
+}
 print(result)
-""" # noqa
+"""  # noqa
 
 set_admin_email_groovy = """
 def jenkinsLocationConfiguration = JenkinsLocationConfiguration.get()
-if(jenkinsLocationConfiguration.getAdminAddress().equals("{email}")){{
+if(jenkinsLocationConfiguration.getAdminAddress().equals("${email}")){
     print("EXISTS")
-}}else{{
-    jenkinsLocationConfiguration.setAdminAddress("{email}")
+}else{
+    jenkinsLocationConfiguration.setAdminAddress("${email}")
     jenkinsLocationConfiguration.save()
     print("SUCCESS")
-}}
-""" # noqa
+}
+"""  # noqa
 
 
 def __virtual__():
@@ -57,7 +58,8 @@
     return True
 
 
-def config(name, host, username, password, reply_to=None, port=25, ssl=False, charset="UTF-8"):
+def config(name, host, username, password, reply_to=None,
+           port=25, ssl=False, charset="UTF-8"):
     """
     Jenkins SMTP server config state method
 
@@ -85,24 +87,26 @@
         ret['comment'] = 'Jenkins SMTP config %s %s' % (name, status.lower())
     else:
         call_result = __salt__['jenkins_common.call_groovy_script'](
-            set_smtp_groovy, {"username": username, "password": password, "host": host, 
+            set_smtp_groovy, {"username": username, "password": password, "host": host,
                               "reply_to_exists": "true" if reply_to else "false",
                               "reply_to": reply_to,
                               "port": port if port else 25,
                               "ssl": "true" if ssl else "false",
                               "charset": charset if charset else "UTF-8"})
-        if call_result["code"] == 200 and call_result["msg"] in ["SUCCESS", "EXISTS"]:
+        if call_result["code"] == 200 and call_result["msg"] in [
+                "SUCCESS", "EXISTS"]:
             status = call_result["msg"]
             if status == "SUCCESS":
                 ret['changes'][name] = status
-            ret['comment'] = 'Jenkins smtp config %s %s' % (name, status.lower())
+            ret['comment'] = 'Jenkins smtp config %s %s' % (
+                name, status.lower())
             result = True
         else:
             status = 'FAILED'
             logger.error(
                 "Jenkins smtp API call failure: %s", call_result["msg"])
             ret['comment'] = 'Jenkins smtp API call failure: %s' % (call_result[
-                                                                           "msg"])
+                "msg"])
     ret['result'] = None if test else result
     return ret
 
@@ -125,15 +129,18 @@
     if test:
         status = "SUCCESS"
         ret['changes'][name] = status
-        ret['comment'] = 'Jenkins admin email config %s %s' % (name, status.lower())
+        ret['comment'] = 'Jenkins admin email config %s %s' % (
+            name, status.lower())
     else:
         call_result = __salt__['jenkins_common.call_groovy_script'](
             set_admin_email_groovy, {"email": email})
-        if call_result["code"] == 200 and call_result["msg"] in ["SUCCESS", "EXISTS"]:
+        if call_result["code"] == 200 and call_result["msg"] in [
+                "SUCCESS", "EXISTS"]:
             status = call_result["msg"]
             if status == "SUCCESS":
                 ret['changes'][name] = status
-            ret['comment'] = 'Jenkins admin email config %s %s' % (name, status.lower())
+            ret['comment'] = 'Jenkins admin email config %s %s' % (
+                name, status.lower())
             result = True
         else:
             status = 'FAILED'