Hi, PFA minor patch to fix the issue where user gets error when try to run backup/restore etc in pgAdmin4 WSGI mode.
Error in Apache log: [Mon Apr 03 05:22:26.641789 2017] [wsgi:error] [pid 72351:tid 140303938864896] [remote ::1:28430] File "/opt/web/pgadmin/utils/driver/psycopg2/__init__.py", line 1664, in utility [Mon Apr 03 05:22:26.641818 2017] [wsgi:error] [pid 72351:tid 140303938864896] [remote ::1:28430] return self.server_cls.utility(operation, self.sversion) [Mon Apr 03 05:22:26.641883 2017] [wsgi:error] [pid 72351:tid 140303938864896] [remote ::1:28430] File "/opt/web/pgadmin/browser/server_groups/servers/types.py", line 120, in utility [Mon Apr 03 05:22:26.641921 2017] [wsgi:error] [pid 72351:tid 140303938864896] [remote ::1:28430] bin_path = self.utility_path.get().replace("$DIR", os.path.dirname(sys.modules['__main__'].__file__)) [Mon Apr 03 05:22:26.641958 2017] [wsgi:error] [pid 72351:tid 140303938864896] [remote ::1:28430] AttributeError: 'module' object has no attribute '__file__' In WSGI, we get sys.modules['__main__'] as built-in object. '__main__': <module '__main__' (built-in)>, 'pgadmin.browser.server_groups.servers.databases.schemas.tables.rules': <module 'pgadmin.browser.server_groups.servers.databases.schemas.tables.rules' from '/opt/PEM/server/share/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/__init__.py'>, -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
diff --git a/web/pgadmin/browser/server_groups/servers/types.py b/web/pgadmin/browser/server_groups/servers/types.py index fa7154b..24cb0b3 100644 --- a/web/pgadmin/browser/server_groups/servers/types.py +++ b/web/pgadmin/browser/server_groups/servers/types.py @@ -112,8 +112,9 @@ class ServerType(object): operation )) ) - - bin_path = self.utility_path.get().replace("$DIR", os.path.dirname(sys.modules['__main__'].__file__)) + bin_path = self.utility_path.get() + if "$DIR" in bin_path: + bin_path = bin_path.replace("$DIR", os.path.dirname(sys.modules['__main__'].__file__)) return os.path.abspath(os.path.join( bin_path,
-- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers