From: Karl O. Pinc Date: Fri, 23 Feb 2024 20:29:53 +0000 (-0600) Subject: Set client-side connection encoding X-Git-Url: https://papio.biology.duke.edu/gitweb/?a=commitdiff_plain;h=352f42ceb71fd6c189cb396e6de0c58da83f35c5;p=pgwui_core Set client-side connection encoding --- diff --git a/src/pgwui_core/core.py b/src/pgwui_core/core.py index 89836e7..c66940d 100644 --- a/src/pgwui_core/core.py +++ b/src/pgwui_core/core.py @@ -1549,6 +1549,18 @@ class DBConnector(object): conn.close() return encoding + def _get_conn_kwargs(self, forced_client_encoding): + ''' + Return a dict with additional conninfo values from the settings. + ''' + registry = self.uh.request.registry + if forced_client_encoding is not None: + return {'client_encoding': forced_client_encoding} + client_encoding = registry.settings['pgwui'].get('client_encoding') + if client_encoding == '': + return {} + return {'client_encoding': client_encoding} + def call_with_connection(self, func): ''' Validate input, connect to the db, and do something with @@ -1600,6 +1612,8 @@ class DBConnector(object): user=self.user, password=self.password, host=registry.settings['pgwui'].get('pg_host'), + port=registry.settings['pgwui'].get('pg_port'), + **self._get_conn_kwargs(client_encoding)) except psycopg.OperationalError: errors = [self.authfailerror_factory()] havecreds = False