Example #1
0
    def load_config(self):
        self.config = read_config()

        self.multiline = self.config.getboolean('main', 'multiline')
        self.format = self.format or self.config.get('main', 'format')
        self.format_stdin = self.format_stdin or self.config.get(
            'main', 'format_stdin')
        self.show_formatted_query = self.config.getboolean(
            'main', 'show_formatted_query')
        self.highlight = self.config.getboolean('main', 'highlight')
        # forcefully disable `highlight_output` in (u)rxvt (https://github.com/hatarist/clickhouse-cli/issues/20)
        self.highlight_output = False if os.environ.get(
            'TERM', '').startswith('rxvt') else self.config.getboolean(
                'main', 'highlight_output')
        self.highlight_truecolor = self.config.getboolean(
            'main', 'highlight_truecolor') and os.environ.get('COLORTERM')

        try:
            udf = self.config.get('main', 'udf')
        except NoOptionError:
            udf = ''

        if udf:
            self.udf = ast.literal_eval(udf.strip()) or {}
        else:
            self.udf = {}

        self.refresh_metadata_on_start = self.config.getboolean(
            'main', 'refresh_metadata_on_start')
        self.refresh_metadata_on_query = self.config.getboolean(
            'main', 'refresh_metadata_on_query')

        self.conn_timeout = self.config.getfloat('http', 'conn_timeout')
        self.conn_timeout_retry = self.config.getint('http',
                                                     'conn_timeout_retry')
        self.conn_timeout_retry_delay = self.config.getfloat(
            'http', 'conn_timeout_retry_delay')

        self.host = self.host or os.environ.get(
            'CLICKHOUSE_HOST', '') or self.config.get('defaults',
                                                      'host') or '127.0.0.1'
        self.port = self.port or int(
            os.environ.get('CLICKHOUSE_PORT', '0')) or self.config.get(
                'defaults', 'port') or 8123
        self.user = self.user or os.environ.get(
            'CLICKHOUSE_USER', '') or self.config.get('defaults',
                                                      'user') or 'default'
        self.password = self.password or os.environ.get(
            'CLICKHOUSE_PASSWORD', '') or self.config.get(
                'defaults', 'password')
        self.database = self.database or os.environ.get(
            'CLICKHOUSE_DATABASE', '') or self.config.get('defaults',
                                                          'db') or 'default'

        config_settings = dict(self.config.items('settings'))
        arg_settings = self.settings
        config_settings.update(arg_settings)
        self.settings = config_settings

        self.echo.colors = self.highlight
Example #2
0
    def load_config(self):
        self.config = read_config()

        self.multiline = self.config.getboolean('main', 'multiline')
        self.format = self.format or self.config.get('main', 'format')
        self.format_stdin = self.format_stdin or self.config.get('main', 'format_stdin')
        self.show_formatted_query = self.config.getboolean('main', 'show_formatted_query')
        self.highlight_output = self.config.getboolean('main', 'highlight_output')

        self.host = self.host or self.config.get('defaults', 'host') or '127.0.0.1'
        self.port = self.port or self.config.get('defaults', 'port') or 8123
        self.user = self.user or self.config.get('defaults', 'user') or 'default'
        self.database = self.database or self.config.get('defaults', 'db') or 'default'

        config_settings = dict(self.config.items('settings'))
        arg_settings = self.settings
        config_settings.update(arg_settings)
        self.settings = config_settings
        if self.client:
            self.client.settings = self.settings
Example #3
0
    def load_config(self):
        self.config = read_config()

        self.multiline = self.config.getboolean('main', 'multiline')
        self.format = self.format or self.config.get('main', 'format')
        self.format_stdin = self.format_stdin or self.config.get(
            'main', 'format_stdin')
        self.show_formatted_query = self.config.getboolean(
            'main', 'show_formatted_query')
        self.highlight = self.config.getboolean('main', 'highlight')
        self.highlight_output = self.config.getboolean('main',
                                                       'highlight_output')
        self.highlight_truecolor = self.config.getboolean(
            'main', 'highlight_truecolor') and os.environ.get('COLORTERM')

        self.conn_timeout = self.config.getfloat('http', 'conn_timeout')
        self.conn_timeout_retry = self.config.getint('http',
                                                     'conn_timeout_retry')
        self.conn_timeout_retry_delay = self.config.getfloat(
            'http', 'conn_timeout_retry_delay')

        self.host = self.host or self.config.get('defaults',
                                                 'host') or '127.0.0.1'
        self.port = self.port or self.config.get('defaults', 'port') or 8123
        self.user = self.user or self.config.get('defaults',
                                                 'user') or 'default'
        self.password = self.password or self.config.get(
            'defaults', 'password') or ''
        self.database = self.database or self.config.get('defaults',
                                                         'db') or 'default'

        config_settings = dict(self.config.items('settings'))
        arg_settings = self.settings
        config_settings.update(arg_settings)
        self.settings = config_settings

        self.echo.colors = self.highlight