(self, options)
| 125 | return default_pager |
| 126 | |
| 127 | def __init__(self, options): |
| 128 | |
| 129 | # Load config. |
| 130 | c = self.config = get_config(options.mssqlclirc_file) |
| 131 | |
| 132 | self.initialize_logging() |
| 133 | self.logger = logging.getLogger(u'mssqlcli.main') |
| 134 | |
| 135 | self.interactive_mode = options.interactive_mode |
| 136 | |
| 137 | self.table_format = c['main']['table_format'] |
| 138 | self.decimal_format = c['data_formats']['decimal'] |
| 139 | self.float_format = c['data_formats']['float'] |
| 140 | self.null_string = c['main'].get('null_string', '<null>') |
| 141 | self.expanded_output = c['main']['expand'] == 'always' |
| 142 | self.integrated_auth = options.integrated_auth |
| 143 | self.less_chatty = bool( |
| 144 | options.less_chatty) or c['main'].as_bool('less_chatty') or self.interactive_mode |
| 145 | |
| 146 | keyword_casing = c['main']['keyword_casing'] |
| 147 | self.settings = { |
| 148 | 'casing_file': get_casing_file(c), |
| 149 | 'generate_casing_file': c['main'].as_bool('generate_casing_file'), |
| 150 | 'generate_aliases': c['main'].as_bool('generate_aliases'), |
| 151 | 'asterisk_column_order': c['main']['asterisk_column_order'], |
| 152 | 'qualify_columns': c['main']['qualify_columns'], |
| 153 | 'case_column_headers': c['main'].as_bool('case_column_headers'), |
| 154 | 'search_path_filter': c['main'].as_bool('search_path_filter'), |
| 155 | 'single_connection': False, |
| 156 | 'less_chatty': self.less_chatty, |
| 157 | 'keyword_casing': keyword_casing, |
| 158 | } |
| 159 | |
| 160 | if self.interactive_mode: |
| 161 | pager = self.set_default_pager(c) |
| 162 | self.prompt_session = None |
| 163 | |
| 164 | # set auto_expand to false if less is detected with auto expand |
| 165 | self.auto_expand = options.auto_vertical_output \ |
| 166 | or (c['main']['expand'] == 'auto' and pager != 'less -SRXF') |
| 167 | self.multiline = c['main'].as_bool('multi_line') |
| 168 | self.multiline_mode = c['main'].get('multi_line_mode', 'tsql') |
| 169 | self.vi_mode = c['main'].as_bool('vi') |
| 170 | self.prompt_format = options.prompt or c['main'].get('prompt', self.default_prompt) |
| 171 | self.row_limit = options.row_limit |
| 172 | self.min_num_menu_lines = c['main'].as_int('min_num_menu_lines') |
| 173 | self.multiline_continuation_char = c['main']['multiline_continuation_char'] |
| 174 | self.syntax_style = c['main']['syntax_style'] |
| 175 | self.cli_style = c['colors'] |
| 176 | self.output_style = style_factory_output(self.syntax_style, self.cli_style) |
| 177 | self.wider_completion_menu = c['main'].as_bool('wider_completion_menu') |
| 178 | self.on_error = c['main']['on_error'].upper() |
| 179 | |
| 180 | self.now = dt.datetime.today() |
| 181 | |
| 182 | self.completion_refresher = CompletionRefresher() |
| 183 | |
| 184 | self.query_history = [] |
nothing calls this directly
no test coverage detected