MCPcopy
hub / github.com/dbcli/pgcli / PGCli

Class PGCli

pgcli/main.py:149–1354  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

147
148
149class PGCli:
150 default_prompt = "\\u@\\h:\\d> "
151 max_len_prompt = 30
152
153 def set_default_pager(self, config):
154 configured_pager = config["main"].get("pager")
155 os_environ_pager = os.environ.get("PAGER")
156
157 if configured_pager:
158 self.logger.info('Default pager found in config file: "%s"', configured_pager)
159 os.environ["PAGER"] = configured_pager
160 elif os_environ_pager:
161 self.logger.info(
162 'Default pager found in PAGER environment variable: "%s"',
163 os_environ_pager,
164 )
165 os.environ["PAGER"] = os_environ_pager
166 else:
167 self.logger.info("No default pager found in environment. Using os default pager")
168
169 # Set default set of less recommended options, if they are not already set.
170 # They are ignored if pager is different than less.
171 if not os.environ.get("LESS"):
172 os.environ["LESS"] = "-SRXF"
173
174 def __init__(
175 self,
176 force_passwd_prompt=False,
177 never_passwd_prompt=False,
178 pgexecute=None,
179 pgclirc_file=None,
180 row_limit=None,
181 application_name="pgcli",
182 single_connection=False,
183 less_chatty=None,
184 prompt=None,
185 prompt_dsn=None,
186 auto_vertical_output=False,
187 warn=None,
188 ssh_tunnel_url: str | None = None,
189 log_file: str | None = None,
190 ):
191 self.force_passwd_prompt = force_passwd_prompt
192 self.never_passwd_prompt = never_passwd_prompt
193 self.pgexecute = pgexecute
194 self.dsn_alias = None
195 self.watch_command = None
196
197 # Load config.
198 c = self.config = get_config(pgclirc_file)
199
200 # at this point, config should be written to pgclirc_file if it did not exist. Read it.
201 self.config_writer = load_config(get_config_filename(pgclirc_file))
202
203 # make sure to use self.config_writer, not self.config
204 NamedQueries.instance = NamedQueries.from_config(self.config_writer)
205
206 self.logger = logging.getLogger(__name__)

Calls

no outgoing calls