| 97 | default_prompt = '\\d> ' |
| 98 | |
| 99 | def set_default_pager(self, config): |
| 100 | configured_pager = config['main'].get('pager') |
| 101 | os_environ_pager = os.environ.get('PAGER') |
| 102 | is_less_installed = is_command_valid(['less', '--version']) |
| 103 | default_pager = configured_pager or os_environ_pager or \ |
| 104 | ('less -SRXF' if is_less_installed else False) or None |
| 105 | |
| 106 | if configured_pager: |
| 107 | self.logger.info( |
| 108 | 'Default pager found in config file: "%s"', configured_pager) |
| 109 | elif os_environ_pager: |
| 110 | self.logger.info('Default pager found in PAGER environment variable: "%s"', |
| 111 | os_environ_pager) |
| 112 | elif is_less_installed: |
| 113 | self.logger.info('Default pager set to Less') |
| 114 | else: |
| 115 | self.logger.info( |
| 116 | 'No default pager found in environment. Using os default pager') |
| 117 | |
| 118 | # Set default set of less recommended options, if they are not already set. |
| 119 | # They are ignored if pager is different than less. |
| 120 | if not os.environ.get('LESS'): |
| 121 | os.environ['LESS'] = '-SRXF' |
| 122 | |
| 123 | if default_pager is not None: |
| 124 | os.environ['PAGER'] = default_pager |
| 125 | return default_pager |
| 126 | |
| 127 | def __init__(self, options): |
| 128 | |