Hi,

PFA patch for pgAdmin4 to run in python 2.6 environment.

Changes are mostly related to 1] dictionary comprehension syntax. 2]
Converting query result to dict in execute_dict and execute_2array methods
in psycopg driver 3] Added importlib python package dependency for python
2.6.

-- 
*Harshal Dhumal*
*Software Engineer *



EenterpriseDB <http://www.enterprisedb.com>
diff --git a/requirements_py2.txt b/requirements_py2.txt
index b7475cd..8dc6caa 100644
--- a/requirements_py2.txt
+++ b/requirements_py2.txt
@@ -27,3 +27,4 @@ speaklater==1.3
 pycrypto==2.6.1
 wsgiref==0.1.2
 simplejson==3.6.5
+importlib==1.0.3
diff --git a/web/pgadmin/__init__.py b/web/pgadmin/__init__.py
index 884f7bd..c360e81 100644
--- a/web/pgadmin/__init__.py
+++ b/web/pgadmin/__init__.py
@@ -79,8 +79,8 @@ class PgAdmin(Flask):
         for module in self.submodules:
             for key, value in module.menu_items.items():
                 menu_items[key].extend(value)
-        menu_items = {key: sorted(values, key=attrgetter('priority'))
-                      for key, values in menu_items.items()}
+        menu_items = dict((key, sorted(value, key=attrgetter('priority')))
+                          for key, value in menu_items.items())
         return menu_items
 
 
diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py
index 9349633..4ed3ccc 100644
--- a/web/pgadmin/browser/server_groups/servers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/__init__.py
@@ -325,9 +325,9 @@ class ServerNode(PGChildNodeView):
         not_allowed = {}
 
         if conn.connected():
-            for arg in {
+            for arg in (
                     'host', 'port', 'db', 'username', 'sslmode', 'role'
-                    }:
+                    ):
                 if arg in data:
                     return forbidden(
                             errormsg=gettext(
@@ -660,7 +660,6 @@ class ServerNode(PGChildNodeView):
 
             current_app.logger.info('Connection Established for server: \
                 %s - %s' % (server.id, server.name))
-
             return make_json_response(
                         success=1,
                         info=gettext("Server Connected."),
diff --git a/web/pgadmin/utils/__init__.py b/web/pgadmin/utils/__init__.py
index 95f02b5..cfe8729 100644
--- a/web/pgadmin/utils/__init__.py
+++ b/web/pgadmin/utils/__init__.py
@@ -90,6 +90,6 @@ class PgAdminModule(Blueprint):
         for module in self.submodules:
             for key, value in module.menu_items.items():
                 menu_items[key].extend(value)
-        menu_items = {key: sorted(values, key=attrgetter('priority'))
-                      for key, values in menu_items.items()}
+        menu_items = dict((key, sorted(value, key=attrgetter('priority')))
+                      for key, value in menu_items.items())
         return menu_items
diff --git a/web/pgadmin/utils/driver/psycopg2/__init__.py b/web/pgadmin/utils/driver/psycopg2/__init__.py
index d4205d2..211e1fa 100644
--- a/web/pgadmin/utils/driver/psycopg2/__init__.py
+++ b/web/pgadmin/utils/driver/psycopg2/__init__.py
@@ -372,7 +372,7 @@ Attempt to reconnect it failed with the below error:
         import copy
         # Get Resultset Column Name, Type and size
         columns = cur.description and [
-                copy.deepcopy(desc.__dict__) for desc in cur.description
+                copy.deepcopy(desc._asdict()) for desc in cur.description
                 ] or []
 
         rows = []
@@ -414,7 +414,7 @@ Attempt to reconnect it failed with the below error:
         import copy
         # Get Resultset Column Name, Type and size
         columns = cur.description and [
-                copy.deepcopy(desc.__dict__) for desc in cur.description
+                copy.deepcopy(desc._asdict()) for desc in cur.description
                 ] or []
 
         rows = []
-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

Reply via email to