Extract non-sudo user for config dir path
							parent
							
								
									c3509e7f93
								
							
						
					
					
						commit
						73b3f7ead8
					
				| 
						 | 
					@ -16,20 +16,6 @@ from .. import config
 | 
				
			||||||
log = get_logger('cli')
 | 
					log = get_logger('cli')
 | 
				
			||||||
DEFAULT_BROKER = 'questrade'
 | 
					DEFAULT_BROKER = 'questrade'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_config_dir = click.get_app_dir('piker')
 | 
					 | 
				
			||||||
_watchlists_data_path = os.path.join(_config_dir, 'watchlists.json')
 | 
					 | 
				
			||||||
_context_defaults = dict(
 | 
					 | 
				
			||||||
    default_map={
 | 
					 | 
				
			||||||
        # Questrade specific quote poll rates
 | 
					 | 
				
			||||||
        'monitor': {
 | 
					 | 
				
			||||||
            'rate': 3,
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        'optschain': {
 | 
					 | 
				
			||||||
            'rate': 1,
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
@click.command()
 | 
					@click.command()
 | 
				
			||||||
@click.option('--loglevel', '-l', default='warning', help='Logging level')
 | 
					@click.option('--loglevel', '-l', default='warning', help='Logging level')
 | 
				
			||||||
| 
						 | 
					@ -58,7 +44,7 @@ def pikerd(loglevel, host, tl, pdb):
 | 
				
			||||||
    trio.run(main)
 | 
					    trio.run(main)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@click.group(context_settings=_context_defaults)
 | 
					@click.group(context_settings=config._context_defaults)
 | 
				
			||||||
@click.option(
 | 
					@click.option(
 | 
				
			||||||
    '--brokers', '-b',
 | 
					    '--brokers', '-b',
 | 
				
			||||||
    default=[DEFAULT_BROKER],
 | 
					    default=[DEFAULT_BROKER],
 | 
				
			||||||
| 
						 | 
					@ -87,8 +73,8 @@ def cli(ctx, brokers, loglevel, tl, configdir):
 | 
				
			||||||
        'loglevel': loglevel,
 | 
					        'loglevel': loglevel,
 | 
				
			||||||
        'tractorloglevel': None,
 | 
					        'tractorloglevel': None,
 | 
				
			||||||
        'log': get_console_log(loglevel),
 | 
					        'log': get_console_log(loglevel),
 | 
				
			||||||
        'confdir': _config_dir,
 | 
					        'confdir': config._config_dir,
 | 
				
			||||||
        'wl_path': _watchlists_data_path,
 | 
					        'wl_path': config._watchlists_data_path,
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # allow enabling same loglevel in ``tractor`` machinery
 | 
					    # allow enabling same loglevel in ``tractor`` machinery
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -30,8 +30,34 @@ from .log import get_logger
 | 
				
			||||||
 | 
					
 | 
				
			||||||
log = get_logger('broker-config')
 | 
					log = get_logger('broker-config')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_config_dir = click.get_app_dir('piker')
 | 
					_config_dir = _click_config_dir = click.get_app_dir('piker')
 | 
				
			||||||
 | 
					_parent_user = os.environ.get('SUDO_USER')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if _parent_user:
 | 
				
			||||||
 | 
					    non_root_user_dir = os.path.expanduser(
 | 
				
			||||||
 | 
					        f'~{_parent_user}'
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					    root = 'root'
 | 
				
			||||||
 | 
					    _config_dir = (
 | 
				
			||||||
 | 
					        non_root_user_dir +
 | 
				
			||||||
 | 
					        _click_config_dir[
 | 
				
			||||||
 | 
					            _click_config_dir.rfind(root) + len(root):
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_file_name = 'brokers.toml'
 | 
					_file_name = 'brokers.toml'
 | 
				
			||||||
 | 
					_watchlists_data_path = os.path.join(_config_dir, 'watchlists.json')
 | 
				
			||||||
 | 
					_context_defaults = dict(
 | 
				
			||||||
 | 
					    default_map={
 | 
				
			||||||
 | 
					        # Questrade specific quote poll rates
 | 
				
			||||||
 | 
					        'monitor': {
 | 
				
			||||||
 | 
					            'rate': 3,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        'optschain': {
 | 
				
			||||||
 | 
					            'rate': 1,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def _override_config_dir(
 | 
					def _override_config_dir(
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue