Subject: [pgAdmin4][RM#3161] Fix PEP-8 issues

From: Murtuza Zabuawala <[email-masked]>
Date: Wed, 28 Feb 2018 23:34:43 +0530

Hi,

PFA patch to fix the PEP8 issues in Casts, Event triggers, Extensions and
Languages module.

pycodestyle --config=.pycodestyle
pgadmin/browser/server_groups/servers/databases/languages/
pycodestyle --config=.pycodestyle
pgadmin/browser/server_groups/servers/databases/extensions/
pycodestyle --config=.pycodestyle
pgadmin/browser/server_groups/servers/databases/event_triggers/
pycodestyle --config=.pycodestyle
pgadmin/browser/server_groups/servers/databases/casts/

--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py
index e9ef8ac..2ea178e 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py
@@ -26,6 +26,7 @@ from pgadmin.utils import IS_PY2
 if not IS_PY2:
     unicode = str
 
+
 class CastModule(CollectionNodeModule):
     """
      class CastModule(CollectionNodeModule)
@@ -96,8 +97,9 @@ class CastView(PGChildNodeView):
     class CastView(PGChildNodeView)
 
         A view class for cast node derived from PGChildNodeView. This class is
-        responsible for all the stuff related to view like create/update/delete cast,
-        showing properties of cast node, showing sql in sql pane.
+        responsible for all the stuff related to view like
+        create/update/delete cast, showing properties of cast node,
+        showing sql in sql pane.
 
     Methods:
     -------
@@ -110,11 +112,12 @@ class CastView(PGChildNodeView):
         manager,conn & template_path properties to self
 
     * list()
-      - This function is used to list all the cast nodes within that collection.
+      - This function is used to list all the cast nodes within that
+      collection.
 
     * nodes()
-      - This function will used to create all the child node within that collection.
-        Here it will create all the cast nodes.
+      - This function will used to create all the child node within that
+      collection. Here it will create all the cast nodes.
 
     * properties(gid, sid, did, rg_id)
       - This function will show the properties of the selected cast node
@@ -135,14 +138,16 @@ class CastView(PGChildNodeView):
       - This function will generate sql from model data
 
     * sql(gid, sid, did, rg_id):
-      - This function will generate sql to show in sql pane for the selected cast node.
+      - This function will generate sql to show in sql pane for the selected
+      cast node.
 
     * get_type():
-      - This function will fetch all the types for source and target types select control.
+      - This function will fetch all the types for source and target types
+      select control.
 
     * get_functions():
-      - This function will fetch associated functions list depending on selected source
-        and target types while creating a new cast node.
+      - This function will fetch associated functions list depending on
+      selected source and target types while creating a new cast node.
     """
 
     node_type = blueprint.node_type
@@ -171,8 +176,14 @@ class CastView(PGChildNodeView):
         'stats': [{'get': 'statistics'}],
         'dependency': [{'get': 'dependencies'}],
         'dependent': [{'get': 'dependents'}],
-        'get_type': [{'get': 'get_src_and_trg_type'}, {'get': 'get_src_and_trg_type'}],
-        'get_functions': [{'post': 'get_functions'}, {'post': 'get_functions'}]
+        'get_type': [
+            {'get': 'get_src_and_trg_type'},
+            {'get': 'get_src_and_trg_type'}
+        ],
+        'get_functions': [
+            {'post': 'get_functions'},
+            {'post': 'get_functions'}
+        ]
     })
 
     def _init_(self, **kwargs):
@@ -192,7 +203,9 @@ class CastView(PGChildNodeView):
         def wrap(*args, **kwargs):
             # Here args[0] will hold self & kwargs will hold gid,sid,did
             self = args[0]
-            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(kwargs['sid'])
+            self.manager = get_driver(
+                PG_DEFAULT_DRIVER
+            ).connection_manager(kwargs['sid'])
             self.conn = self.manager.connection(did=kwargs['did'])
             # Set template path for the SQL scripts
             self.template_path = 'cast/sql/#{0}#'.format(self.manager.version)
@@ -225,7 +238,8 @@ class CastView(PGChildNodeView):
             return internal_server_error(errormsg=res)
 
         for row in res['rows']:
-            row['castcontext'] = True if row['castcontext'] == 'IMPLICIT' else False
+            row['castcontext'] = True if row['castcontext'] == 'IMPLICIT' \
+                else False
 
         return ajax_response(
             response=res['rows'],
@@ -235,8 +249,8 @@ class CastView(PGChildNodeView):
     @check_precondition
     def nodes(self, gid, sid, did):
         """
-        This function will used to create all the child nodes within the collection.
-        Here it will create all the cast nodes.
+        This function will used to create all the child nodes within the
+        collection. Here it will create all the cast nodes.
         :param gid: group id
         :param sid: server id
         :param did: database id
@@ -366,17 +380,19 @@ class CastView(PGChildNodeView):
             if not status:
                 return internal_server_error(errormsg=res)
 
-            # we need oid to to add object in tree at browser, below sql will gives the same
+            # we need oid to to add object in tree at browser, below sql will
+            # gives the same
             last_system_oid = 0 if self.blueprint.show_system_objects else \
                 (self.manager.db_info[did])['datlastsysoid'] \
                 if self.manager.db_info is not None and \
                 did in self.manager.db_info else 0
-            sql = render_template("/".join([self.template_path, 'properties.sql']),
-                                  srctyp=data['srctyp'],
-                                  trgtyp=data['trgtyp'],
-                                  datlastsysoid=last_system_oid,
-                                  showsysobj=self.blueprint.show_system_objects
-                                  )
+            sql = render_template(
+                "/".join([self.template_path, 'properties.sql']),
+                srctyp=data['srctyp'],
+                trgtyp=data['trgtyp'],
+                datlastsysoid=last_system_oid,
+                showsysobj=self.blueprint.show_system_objects
+            )
             status, cid = self.conn.execute_scalar(sql)
             if not status:
                 return internal_server_error(errormsg=cid)
@@ -527,10 +543,12 @@ class CastView(PGChildNodeView):
                 (self.manager.db_info[did])['datlastsysoid'] \
                 if self.manager.db_info is not None and \
                 did in self.manager.db_info else 0
-            sql = render_template("/".join([self.template_path, 'properties.sql']),
-                                  cid=cid,
-                                  datlastsysoid=last_system_oid,
-                                  showsysobj=self.blueprint.show_system_objects)
+            sql = render_template(
+                "/".join([self.template_path, 'properties.sql']),
+                cid=cid,
+                datlastsysoid=last_system_oid,
+                showsysobj=self.blueprint.show_system_objects
+            )
             status, res = self.conn.execute_dict(sql)
 
             if not status:
@@ -549,7 +567,10 @@ class CastView(PGChildNodeView):
             return sql, data['name'] if 'name' in data else old_data['name']
         else:
             if 'srctyp' in data and 'trgtyp' in data:
-                sql = render_template("/".join([self.template_path, 'create.sql']), data=data, conn=self.conn)
+                sql = render_template(
+                    "/".join([self.template_path, 'create.sql']),
+                    data=data, conn=self.conn
+                )
             else:
                 return u"-- definition incomplete", None
             return sql, data['srctyp'] + "->" + data["trgtyp"]
@@ -638,14 +659,14 @@ class CastView(PGChildNodeView):
             status, res = self.conn.execute_scalar(sql)
             if not status:
                 return internal_server_error(
-                    _("Could not generate reversed engineered SQL for the cast.\n\n{0}").format(
-                        res
-                    )
+                    _("Could not generate reversed engineered SQL for the "
+                      "cast.\n\n{0}").format(res)
                 )
 
             if res is None:
                 return gone(
-                    _("Could not generate reversed engineered SQL for the cast node.\n")
+                    _("Could not generate reversed engineered SQL for the "
+                      "cast node.\n")
                 )
 
             return ajax_response(response=res)
diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/utils.py b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/utils.py
index 0b6a9ef..84b2b8d 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/utils.py
@@ -56,7 +56,8 @@ def create_cast(server, source_type, target_type):
         # Get 'oid' from newly created cast
         pg_cursor.execute(
             "SELECT ca.oid FROM pg_cast ca WHERE ca.castsource = "
-            "(SELECT t.oid FROM pg_type t WHERE format_type(t.oid, NULL)='%s') "
+            "(SELECT t.oid FROM pg_type t "
+            "WHERE format_type(t.oid, NULL)='%s') "
             "AND ca.casttarget = (SELECT t.oid FROM pg_type t WHERE "
             "format_type(t.oid, NULL) = '%s')" % (source_type, target_type))
         oid = pg_cursor.fetchone()
@@ -75,7 +76,8 @@ def verify_cast(connection, source_type, target_type):
         pg_cursor = connection.cursor()
         pg_cursor.execute(
             "SELECT * FROM pg_cast ca WHERE ca.castsource = "
-            "(SELECT t.oid FROM pg_type t WHERE format_type(t.oid, NULL)='%s') "
+            "(SELECT t.oid FROM pg_type t "
+            "WHERE format_type(t.oid, NULL)='%s') "
             "AND ca.casttarget = (SELECT t.oid FROM pg_type t WHERE "
             "format_type(t.oid, NULL) = '%s')" % (source_type, target_type))
         casts = pg_cursor.fetchall()
@@ -92,7 +94,8 @@ def drop_cast(connection, source_type, target_type):
         pg_cursor = connection.cursor()
         pg_cursor.execute(
             "SELECT * FROM pg_cast ca WHERE ca.castsource = "
-            "(SELECT t.oid FROM pg_type t WHERE format_type(t.oid, NULL)='%s') "
+            "(SELECT t.oid FROM pg_type t "
+            "WHERE format_type(t.oid, NULL)='%s') "
             "AND ca.casttarget = (SELECT t.oid FROM pg_type t WHERE "
             "format_type(t.oid, NULL) = '%s')" % (source_type, target_type))
         if pg_cursor.fetchall():
diff --git a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py
index 33ef894..1fa8b26 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py
@@ -30,7 +30,8 @@ class EventTriggerModule(CollectionNodeModule):
     """
     class EventTriggerModule(CollectionNodeModule)
 
-        A module class for Event trigger node derived from CollectionNodeModule.
+        A module class for Event trigger node derived from
+        CollectionNodeModule.
 
     Methods:
     -------
@@ -51,7 +52,8 @@ class EventTriggerModule(CollectionNodeModule):
 
     def __init__(self, *args, **kwargs):
         """
-        Method is used to initialize the EventTriggerModule and it's base module.
+        Method is used to initialize the EventTriggerModule and it's base
+        module.
 
         Args:
             *args:
@@ -184,9 +186,12 @@ class EventTriggerView(PGChildNodeView):
         @wraps(f)
         def wrap(*args, **kwargs):
 
-            # Here - args[0] will always hold self & kwargs will hold gid, sid, did
+            # Here - args[0] will always hold self & kwargs will hold gid,
+            # sid, did
             self = args[0]
-            self.manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(kwargs['sid'])
+            self.manager = get_driver(
+                PG_DEFAULT_DRIVER
+            ).connection_manager(kwargs['sid'])
             self.conn = self.manager.connection(did=kwargs['did'])
             self.template_path = 'event_triggers/sql/9.3_plus'
 
@@ -222,8 +227,8 @@ class EventTriggerView(PGChildNodeView):
     @check_precondition
     def nodes(self, gid, sid, did):
         """
-        This function is used to create all the child nodes within the collection.
-        Here it will create all the event trigger nodes.
+        This function is used to create all the child nodes within the
+        collection. Here it will create all the event trigger nodes.
 
         Args:
           gid: Server Group ID
@@ -318,7 +323,10 @@ class EventTriggerView(PGChildNodeView):
         Returns:
 
         """
-        sql = render_template("/".join([self.template_path, 'properties.sql']), etid=etid, conn=self.conn)
+        sql = render_template(
+            "/".join([self.template_path, 'properties.sql']),
+            etid=etid, conn=self.conn
+        )
         status, res = self.conn.execute_dict(sql)
         if not status:
             return internal_server_error(errormsg=res)
@@ -374,18 +382,27 @@ class EventTriggerView(PGChildNodeView):
                 )
             )
         try:
-            sql = render_template("/".join([self.template_path, 'create.sql']), data=data, conn=self.conn)
+            sql = render_template(
+                "/".join([self.template_path, 'create.sql']),
+                data=data, conn=self.conn
+            )
             status, res = self.conn.execute_scalar(sql)
             if not status:
                 return internal_server_error(errormsg=res)
-            sql = render_template("/".join([self.template_path, 'grant.sql']), data=data, conn=self.conn)
+            sql = render_template(
+                "/".join([self.template_path, 'grant.sql']),
+                data=data, conn=self.conn
+            )
             sql = sql.strip('\n').strip(' ')
 
             status, res = self.conn.execute_scalar(sql)
             if not status:
                 return internal_server_error(errormsg=res)
 
-            sql = render_template("/".join([self.template_path, 'get_oid.sql']), data=data)
+            sql = render_template(
+                "/".join([self.template_path, 'get_oid.sql']),
+                data=data
+            )
             status, etid = self.conn.execute_scalar(sql)
             if not status:
                 return internal_server_error(errormsg=etid)
@@ -431,7 +448,10 @@ class EventTriggerView(PGChildNodeView):
                 if not status:
                     return internal_server_error(errormsg=res)
 
-                sql = render_template("/".join([self.template_path, 'get_oid.sql']), data=data)
+                sql = render_template(
+                    "/".join([self.template_path, 'get_oid.sql']),
+                    data=data
+                )
                 status, etid = self.conn.execute_scalar(sql)
 
                 return jsonify(
@@ -478,7 +498,10 @@ class EventTriggerView(PGChildNodeView):
         else:
             cascade = False
         try:
-            sql = render_template("/".join([self.template_path, 'delete.sql']), etid=etid)
+            sql = render_template(
+                "/".join([self.template_path, 'delete.sql']),
+                etid=etid
+            )
             status, name = self.conn.execute_scalar(sql)
             if not status:
                 return internal_server_error(errormsg=name)
@@ -495,7 +518,10 @@ class EventTriggerView(PGChildNodeView):
                     )
                 )
 
-            sql = render_template("/".join([self.template_path, 'delete.sql']), name=name, cascade=cascade)
+            sql = render_template(
+                "/".join([self.template_path, 'delete.sql']),
+                name=name, cascade=cascade
+            )
             status, res = self.conn.execute_scalar(sql)
             if not status:
                 return internal_server_error(errormsg=res)
@@ -568,7 +594,10 @@ class EventTriggerView(PGChildNodeView):
         ]
 
         if etid is not None:
-            sql = render_template("/".join([self.template_path, 'properties.sql']), etid=etid)
+            sql = render_template(
+                "/".join([self.template_path, 'properties.sql']),
+                etid=etid
+            )
             status, res = self.conn.execute_dict(sql)
             if not status:
                 return internal_server_error(errormsg=res)
@@ -584,7 +613,10 @@ class EventTriggerView(PGChildNodeView):
             for arg in required_args:
                 if arg not in data:
                     data[arg] = old_data[arg]
-            sql = render_template("/".join([self.template_path, 'update.sql']), data=data, o_data=old_data)
+            sql = render_template(
+                "/".join([self.template_path, 'update.sql']),
+                data=data, o_data=old_data
+            )
         else:
             required_args = {
                 'name': 'Name',
@@ -605,16 +637,22 @@ class EventTriggerView(PGChildNodeView):
                         "Could not find the required parameter %s." % err
                     )
                 )
-            sql = render_template("/".join([self.template_path, 'create.sql']), data=data)
+            sql = render_template(
+                "/".join([self.template_path, 'create.sql']),
+                data=data
+            )
             sql += "\n"
-            sql += render_template("/".join([self.template_path, 'grant.sql']), data=data)
+            sql += render_template(
+                "/".join([self.template_path, 'grant.sql']),
+                data=data
+            )
         return sql
 
     @check_precondition
     def sql(self, gid, sid, did, etid):
         """
-        This function will generate sql to show in the sql pane for the selected
-        event trigger node.
+        This function will generate sql to show in the sql pane for the
+        selected event trigger node.
 
         Args:
           gid: Server Group ID
@@ -625,7 +663,10 @@ class EventTriggerView(PGChildNodeView):
         Returns:
 
         """
-        sql = render_template("/".join([self.template_path, 'properties.sql']), etid=etid)
+        sql = render_template(
+            "/".join([self.template_path, 'properties.sql']),
+            etid=etid
+        )
         status, res = self.conn.execute_dict(sql)
         if not status:
             return internal_server_error(errormsg=res)
@@ -638,16 +679,27 @@ class EventTriggerView(PGChildNodeView):
         result = res['rows'][0]
         result = self._formatter(result)
 
-        sql = render_template("/".join([self.template_path, 'create.sql']), data=result, conn=self.conn)
+        sql = render_template(
+            "/".join([self.template_path, 'create.sql']),
+            data=result, conn=self.conn
+        )
         sql += "\n\n"
-        sql += render_template("/".join([self.template_path, 'grant.sql']), data=result, conn=self.conn)
+        sql += render_template(
+            "/".join([self.template_path, 'grant.sql']),
+            data=result, conn=self.conn
+        )
 
-        db_sql = render_template("/".join([self.template_path, 'get_db.sql']), did=did)
+        db_sql = render_template(
+            "/".join([self.template_path, 'get_db.sql']),
+            did=did
+        )
         status, db_name = self.conn.execute_scalar(db_sql)
         if not status:
             return internal_server_error(errormsg=db_name)
 
-        sql_header = u"-- Event Trigger: {0} on database {1}\n\n-- ".format(result['name'], db_name)
+        sql_header = u"-- Event Trigger: {0} on database {1}\n\n-- ".format(
+            result['name'], db_name
+        )
 
         sql_header += render_template(
             "/".join([self.template_path, 'delete.sql']),
@@ -675,7 +727,9 @@ class EventTriggerView(PGChildNodeView):
 
         """
         res = [{'label': '', 'value': ''}]
-        sql = render_template("/".join([self.template_path, 'eventfunctions.sql']))
+        sql = render_template(
+            "/".join([self.template_path, 'eventfunctions.sql'])
+        )
         status, rest = self.conn.execute_2darray(sql)
         if not status:
             return internal_server_error(errormsg=rest)
diff --git a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/tests/test_event_trigger_get.py b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/tests/test_event_trigger_get.py
index 647e6b1..b07e7d5 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/tests/test_event_trigger_get.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/tests/test_event_trigger_get.py
@@ -77,10 +77,11 @@ class EventTriggerGetTestCase(BaseTestGenerator):
         if not func_response:
             raise Exception("Could not find the trigger function.")
         response = self.tester.get(
-            self.url + str(utils.SERVER_GROUP) + '/'
-            + str(self.server_id) + '/' + str(self.db_id) + '/' +
-            str(self.event_trigger_id),
-            content_type='html/json')
+            self.url +
+            str(utils.SERVER_GROUP) + '/' + str(self.server_id) + '/' +
+            str(self.db_id) + '/' + str(self.event_trigger_id),
+            content_type='html/json'
+        )
         self.assertEquals(response.status_code, 200)
 
     def tearDown(self):
diff --git a/web/pgadmin/browser/server_groups/servers/databases/extensions/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/extensions/__init__.py
index abb9631..abef0d2 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/extensions/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/extensions/__init__.py
@@ -78,8 +78,8 @@ class ExtensionModule(CollectionNodeModule):
     @property
     def script_load(self):
         """
-        Load the module script for extension, when any of the database nodes are
-        initialized.
+        Load the module script for extension, when any of the database nodes
+        are initialized.
         """
         return databases.DatabaseModule.NODE_TYPE
 
diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py
index a516d1e..90acae3 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/languages/__init__.py
@@ -90,7 +90,8 @@ class LanguageModule(CollectionNodeModule):
     @property
     def script_load(self):
         """
-        Load the module script for language, when any of the database nodes are initialized.
+        Load the module script for language, when any of the database nodes
+        are initialized.
 
         Returns: node type of the server module.
         """
@@ -112,9 +113,9 @@ class LanguageView(PGChildNodeView):
     """
     class LanguageView(PGChildNodeView)
 
-        A view class for Language node derived from PGChildNodeView. This class is
-        responsible for all the stuff related to view like updating language
-        node, showing properties, showing sql in sql pane.
+        A view class for Language node derived from PGChildNodeView.
+        This class is responsible for all the stuff related to view like
+        updating language node, showing properties, showing sql in sql pane.
 
     Methods:
     -------
@@ -127,11 +128,12 @@ class LanguageView(PGChildNodeView):
         manager,conn & template_path properties to self
 
     * list()
-      - This function is used to list all the language nodes within that collection.
+      - This function is used to list all the language nodes within that
+      collection.
 
     * nodes()
-      - This function will used to create all the child node within that collection.
-        Here it will create all the language node.
+      - This function will used to create all the child node within that
+      collection. Here it will create all the language node.
 
     * properties(gid, sid, did, lid)
       - This function will show the properties of the selected language node
@@ -146,25 +148,30 @@ class LanguageView(PGChildNodeView):
       - This function will delete the selected language node
 
     * msql(gid, sid, did, lid)
-      - This function is used to return modified SQL for the selected language node
+      - This function is used to return modified SQL for the selected
+      language node
 
     * get_sql(data, lid)
       - This function will generate sql from model data
 
     * get_functions(gid, sid, did)
-      - This function returns the handler and inline functions for the selected language node
+      - This function returns the handler and inline functions for the
+      selected language node
 
     * get_templates(gid, sid, did)
       - This function returns language templates.
 
     * sql(gid, sid, did, lid):
-      - This function will generate sql to show it in sql pane for the selected language node.
+      - This function will generate sql to show it in sql pane for the
+      selected language node.
 
     * dependents(gid, sid, did, lid):
-      - This function get the dependents and return ajax response for the language node.
+      - This function get the dependents and return ajax response for the
+      language node.
 
     * dependencies(self, gid, sid, did, lid):
-      - This function get the dependencies and return ajax response for the language node.
+      - This function get the dependencies and return ajax response for the
+      language node.
     """
 
     node_type = blueprint.node_type
@@ -197,7 +204,8 @@ class LanguageView(PGChildNodeView):
     def _init_(self, **kwargs):
         """
         Method is used to initialize the LanguageView and its base view.
-        Initialize all the variables create/used dynamically like conn, template_path.
+        Initialize all the variables create/used dynamically like conn,
+        template_path.
 
         Args:
             **kwargs:
@@ -223,9 +231,11 @@ class LanguageView(PGChildNodeView):
             self.manager = self.driver.connection_manager(kwargs['sid'])
             self.conn = self.manager.connection(did=kwargs['did'])
             # Set the template path for the SQL scripts
-            self.template_path = ("languages/sql/#gpdb#{0}#".format(self.manager.version)
-                                if self.manager.server_type == 'gpdb'
-                                else "languages/sql/#{0}#".format(self.manager.version))
+            self.template_path = (
+                "languages/sql/#gpdb#{0}#".format(self.manager.version) if
+                self.manager.server_type == 'gpdb' else
+                "languages/sql/#{0}#".format(self.manager.version)
+            )
 
             return f(*args, **kwargs)
 
@@ -234,7 +244,8 @@ class LanguageView(PGChildNodeView):
     @check_precondition
     def list(self, gid, sid, did):
         """
-        This function is used to list all the language nodes within that collection.
+        This function is used to list all the language nodes within that
+        collection.
 
         Args:
             gid: Server Group ID
@@ -254,8 +265,8 @@ class LanguageView(PGChildNodeView):
     @check_precondition
     def nodes(self, gid, sid, did):
         """
-        This function is used to create all the child nodes within the collection.
-        Here it will create all the language nodes.
+        This function is used to create all the child nodes within the
+        collection. Here it will create all the language nodes.
 
         Args:
             gid: Server Group ID
@@ -323,7 +334,10 @@ class LanguageView(PGChildNodeView):
             did: Database ID
             lid: Language ID
         """
-        sql = render_template("/".join([self.template_path, 'properties.sql']), lid=lid)
+        sql = render_template(
+            "/".join([self.template_path, 'properties.sql']),
+            lid=lid
+        )
         status, res = self.conn.execute_dict(sql)
 
         if not status:
@@ -334,7 +348,10 @@ class LanguageView(PGChildNodeView):
                 gettext("Could not find the language information.")
             )
 
-        sql = render_template("/".join([self.template_path, 'acl.sql']), lid=lid)
+        sql = render_template(
+            "/".join([self.template_path, 'acl.sql']),
+            lid=lid
+        )
         status, result = self.conn.execute_dict(sql)
         if not status:
             return internal_server_error(errormsg=result)
@@ -344,7 +361,13 @@ class LanguageView(PGChildNodeView):
             res['rows'][0]['lanacl'] = dict()
             res['rows'][0]['lanacl']['grantee'] = 'PUBLIC'
             res['rows'][0]['lanacl']['grantor'] = res['rows'][0]['lanowner']
-            res['rows'][0]['lanacl']['privileges'] = [{'privilege_type': 'U', 'privilege': True, 'with_grant': False}]
+            res['rows'][0]['lanacl']['privileges'] = [
+                {
+                    'privilege_type': 'U',
+                    'privilege': True,
+                    'with_grant': False
+                }
+            ]
         else:
             for row in result['rows']:
                 priv = parse_priv_from_db(row)
@@ -354,7 +377,8 @@ class LanguageView(PGChildNodeView):
                     res['rows'][0][row['deftype']] = [priv]
 
         seclabels = []
-        if 'seclabels' in res['rows'][0] and res['rows'][0]['seclabels'] is not None:
+        if 'seclabels' in res['rows'][0] and \
+                res['rows'][0]['seclabels'] is not None:
             import re
             for sec in res['rows'][0]['seclabels']:
                 sec = re.search(r'([^=]+)=(.*$)', sec)
@@ -443,8 +467,10 @@ class LanguageView(PGChildNodeView):
             if not status:
                 return internal_server_error(errormsg=res)
 
-            sql = render_template("/".join([self.template_path, 'properties.sql']),
-                                  lanname=data['name'], conn=self.conn)
+            sql = render_template(
+                "/".join([self.template_path, 'properties.sql']),
+                lanname=data['name'], conn=self.conn
+            )
 
             status, r_set = self.conn.execute_dict(sql)
             if not status:
@@ -482,15 +508,20 @@ class LanguageView(PGChildNodeView):
 
         try:
             # Get name for language from lid
-            sql = render_template("/".join([self.template_path, 'delete.sql']), lid=lid, conn=self.conn)
+            sql = render_template(
+                "/".join([self.template_path, 'delete.sql']),
+                lid=lid, conn=self.conn
+            )
             status, lname = self.conn.execute_scalar(sql)
 
             if not status:
                 return internal_server_error(errormsg=lname)
 
             # drop language
-            sql = render_template("/".join([self.template_path, 'delete.sql']), lname=lname,
-                                  cascade=cascade, conn=self.conn)
+            sql = render_template(
+                "/".join([self.template_path, 'delete.sql']),
+                lname=lname, cascade=cascade, conn=self.conn
+            )
             status, res = self.conn.execute_scalar(sql)
 
             if not status:
@@ -513,7 +544,8 @@ class LanguageView(PGChildNodeView):
     @check_precondition
     def msql(self, gid, sid, did, lid=None):
         """
-        This function is used to return modified SQL for the selected language node.
+        This function is used to return modified SQL for the selected
+        language node.
 
         Args:
             gid: Server Group ID
@@ -538,7 +570,7 @@ class LanguageView(PGChildNodeView):
             return make_json_response(
                 data=sql,
                 status=200
-                )
+            )
         except Exception as e:
             return internal_server_error(errormsg=str(e))
 
@@ -555,7 +587,9 @@ class LanguageView(PGChildNodeView):
         ]
 
         if lid is not None:
-            sql = render_template("/".join([self.template_path, 'properties.sql']), lid=lid)
+            sql = render_template(
+                "/".join([self.template_path, 'properties.sql']), lid=lid
+            )
             status, res = self.conn.execute_dict(sql)
             if not status:
                 return internal_server_error(errormsg=res)
@@ -568,19 +602,28 @@ class LanguageView(PGChildNodeView):
             for key in ['lanacl']:
                 if key in data and data[key] is not None:
                     if 'added' in data[key]:
-                        data[key]['added'] = parse_priv_to_db(data[key]['added'], ["U"])
+                        data[key]['added'] = parse_priv_to_db(
+                            data[key]['added'], ["U"]
+                        )
                     if 'changed' in data[key]:
-                        data[key]['changed'] = parse_priv_to_db(data[key]['changed'], ["U"])
+                        data[key]['changed'] = parse_priv_to_db(
+                            data[key]['changed'], ["U"]
+                        )
                     if 'deleted' in data[key]:
-                        data[key]['deleted'] = parse_priv_to_db(data[key]['deleted'], ["U"])
+                        data[key]['deleted'] = parse_priv_to_db(
+                            data[key]['deleted'], ["U"]
+                        )
 
             old_data = res['rows'][0]
             for arg in required_args:
                 if arg not in data:
                     data[arg] = old_data[arg]
-            sql = render_template("/".join([self.template_path, 'update.sql']), data=data,
-                                  o_data=old_data, conn=self.conn)
-            return sql.strip('\n'), data['name'] if 'name' in data else old_data['name']
+            sql = render_template(
+                "/".join([self.template_path, 'update.sql']),
+                data=data, o_data=old_data, conn=self.conn
+            )
+            return sql.strip('\n'), data['name'] if 'name' in data \
+                else old_data['name']
         else:
 
             if 'lanacl' in data:
@@ -590,11 +633,11 @@ class LanguageView(PGChildNodeView):
                                   data=data, conn=self.conn)
             return sql.strip('\n'), data['name']
 
-
     @check_precondition
     def get_functions(self, gid, sid, did):
         """
-        This function returns the handler and inline functions for the selected language node.
+        This function returns the handler and inline functions for the
+        selected language node.
 
         Args:
             gid: Server Group ID
@@ -632,7 +675,8 @@ class LanguageView(PGChildNodeView):
     @check_precondition
     def sql(self, gid, sid, did, lid):
         """
-        This function will generate sql to show in the sql pane for the selected language node.
+        This function will generate sql to show in the sql pane for the
+        selected language node.
 
         Args:
             gid: Server Group ID
@@ -640,7 +684,10 @@ class LanguageView(PGChildNodeView):
             did: Database ID
             lid: Language ID
         """
-        sql = render_template("/".join([self.template_path, 'properties.sql']), lid=lid)
+        sql = render_template(
+            "/".join([self.template_path, 'properties.sql']),
+            lid=lid
+        )
         status, res = self.conn.execute_dict(sql)
         if not status:
             return internal_server_error(errormsg=res)
@@ -653,7 +700,10 @@ class LanguageView(PGChildNodeView):
         # Making copy of output for future use
         old_data = dict(res['rows'][0])
 
-        sql = render_template("/".join([self.template_path, 'acl.sql']), lid=lid)
+        sql = render_template(
+            "/".join([self.template_path, 'acl.sql']),
+            lid=lid
+        )
         status, result = self.conn.execute_dict(sql)
         if not status:
             return internal_server_error(errormsg=result)
@@ -676,7 +726,10 @@ class LanguageView(PGChildNodeView):
                 })
 
         old_data['seclabels'] = seclabels
-        sql = render_template("/".join([self.template_path, 'sqlpane.sql']), data=old_data, conn=self.conn)
+        sql = render_template(
+            "/".join([self.template_path, 'sqlpane.sql']),
+            data=old_data, conn=self.conn
+        )
 
         return ajax_response(response=sql.strip('\n'))
 
diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_add.py b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_add.py
index 0f76cc6..4c6f9c0 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_add.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/test_language_add.py
@@ -50,23 +50,21 @@ class LanguagesAddTestCase(BaseTestGenerator):
             "lanval": "fmgr_c_validator",
             "name": "language_%s" % str(uuid.uuid4())[1:8],
             "seclabels": [],
-            "template_list":
-                [
-                    "plperl",
-                    "plperlu",
-                    "plpython2u",
-                    "plpython3u",
-                    "plpythonu",
-                    "pltcl",
-                    "pltclu"
-                ],
+            "template_list": [
+                "plperl",
+                "plperlu",
+                "plpython2u",
+                "plpython3u",
+                "plpythonu",
+                "pltcl",
+                "pltclu"
+            ],
             "trusted": "true"
-                }
+        }
 
         response = self.tester.post(
             self.url + str(utils.SERVER_GROUP) + '/' +
-            str(self.server_id) + '/' + str(
-                self.db_id) + '/',
+            str(self.server_id) + '/' + str(self.db_id) + '/',
             data=json.dumps(self.data),
             content_type='html/json')
 
@@ -76,7 +74,7 @@ class LanguagesAddTestCase(BaseTestGenerator):
         """This function delete added language and
         disconnect the test database."""
 
-        language_utils.delete_language(self.server, self.db_name,
-                                       self.data['name'])
+        language_utils.delete_language(
+            self.server, self.db_name, self.data['name']
+        )
         database_utils.disconnect_database(self, self.server_id, self.db_id)
-

---

From: Joao De Almeida Pereira <[email-masked]>
Date: Wed, 28 Feb 2018 21:40:12 +0000

Hello Murtuza,

I passed the patch through our CI and all test are green. Also run the
codestyle in all those folders and everything is clean.

575 issues to go

Thanks
Joao

---

From: Murtuza Zabuawala <[email-masked]>
Date: Thu, 1 Mar 2018 10:43:51 +0530

Thank you Joao for reviewing.

On Thu, Mar 1, 2018 at 3:10 AM, Joao De Almeida Pereira <
[email-masked]> wrote:

> On Wed, Feb 28, 2018 at 1:05 PM Murtuza Zabuawala <murtuza.zabuawala@
> enterprisedb.com> wrote:
>
>> Hi,
>>
>> pycodestyle --config=.pycodestyle pgadmin/browser/server_groups/
>> servers/databases/languages/
>> pycodestyle --config=.pycodestyle pgadmin/browser/server_groups/
>> servers/databases/extensions/
>> pycodestyle --config=.pycodestyle pgadmin/browser/server_groups/
>> servers/databases/event_triggers/
>> pycodestyle --config=.pycodestyle pgadmin/browser/server_groups/
>> servers/databases/casts/
>>
>> --
>> Regards,
>> Murtuza Zabuawala

---

From: Dave Page <[email-masked]>
Date: Fri, 2 Mar 2018 11:59:27 +0000

Thanks, applied.

On Thu, Mar 1, 2018 at 5:13 AM, Murtuza Zabuawala <
[email-masked]> wrote:

>>> PFA patch to fix the PEP8 issues in Casts, Event triggers, Extensions
>>> and Languages module.
>>>

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company