def initialize_data_dir(trinity_config: TrinityConfig) -> None: should_create_data_dir = (not trinity_config.data_dir.exists() and is_under_path( trinity_config.trinity_root_dir, trinity_config.data_dir)) if should_create_data_dir: trinity_config.data_dir.mkdir(parents=True, exist_ok=True) elif not trinity_config.data_dir.exists(): # we don't lazily create the base dir for non-default base directories. raise MissingPath( f"The base chain directory provided does not exist: `{str(trinity_config.data_dir)}`", trinity_config.data_dir, ) # Logfile should_create_logdir = (not trinity_config.logdir_path.exists() and is_under_path(trinity_config.trinity_root_dir, trinity_config.logdir_path)) if should_create_logdir: trinity_config.logdir_path.mkdir(parents=True, exist_ok=True) trinity_config.logfile_path.touch() elif not trinity_config.logdir_path.exists(): # we don't lazily create the base dir for non-default base directories. raise MissingPath( "The base logging directory provided does not exist: `{0}`".format( trinity_config.logdir_path, ), trinity_config.logdir_path) # Chain data-dir os.makedirs(trinity_config.database_dir, exist_ok=True) # Nodekey if trinity_config.nodekey is None: nodekey = ecies.generate_privkey() with open(trinity_config.nodekey_path, 'wb') as nodekey_file: nodekey_file.write(nodekey.to_bytes())
def initialize_data_dir(chain_config: ChainConfig) -> None: if not chain_config.data_dir.exists() and is_under_xdg_trinity_root( chain_config.data_dir): chain_config.data_dir.mkdir(parents=True, exist_ok=True) elif not chain_config.data_dir.exists(): # we don't lazily create the base dir for non-default base directories. raise MissingPath( "The base chain directory provided does not exist: `{0}`".format( chain_config.data_dir, ), chain_config.data_dir) # Logfile if (not chain_config.logdir_path.exists() and is_under_xdg_trinity_root(chain_config.logdir_path)): chain_config.logdir_path.mkdir(parents=True, exist_ok=True) chain_config.logfile_path.touch() elif not chain_config.logdir_path.exists(): # we don't lazily create the base dir for non-default base directories. raise MissingPath( "The base logging directory provided does not exist: `{0}`".format( chain_config.logdir_path, ), chain_config.logdir_path) # Chain data-dir os.makedirs(chain_config.database_dir, exist_ok=True) # Nodekey if chain_config.nodekey is None: nodekey = ecies.generate_privkey() with open(chain_config.nodekey_path, 'wb') as nodekey_file: nodekey_file.write(nodekey.to_bytes())
def initialize_data_dir(trinity_config: TrinityConfig) -> None: should_create_data_dir = ( not trinity_config.data_dir.exists() and is_under_path(trinity_config.trinity_root_dir, trinity_config.data_dir) ) if should_create_data_dir: trinity_config.data_dir.mkdir(parents=True, exist_ok=True) elif not trinity_config.data_dir.exists(): # we don't lazily create the base dir for non-default base directories. raise MissingPath( f"The base chain directory provided does not exist: `{str(trinity_config.data_dir)}`", trinity_config.data_dir, ) # Logfile should_create_logdir = ( not trinity_config.log_dir.exists() and ( # If we're in the default path, always create the log directory is_under_path(trinity_config.trinity_root_dir, trinity_config.log_dir) or ( # If we're in a custom path, create the log directory if the data dir is empty is_under_path(trinity_config.data_dir, trinity_config.log_dir) and not any(trinity_config.data_dir.iterdir()) ) ) ) if should_create_logdir: trinity_config.log_dir.mkdir(parents=True, exist_ok=True) trinity_config.logfile_path.touch() elif not trinity_config.log_dir.exists(): # we don't lazily create the base dir for non-default base directories. raise MissingPath( "The base logging directory provided does not exist: `{0}`".format( trinity_config.log_dir, ), trinity_config.log_dir, ) # Initialize chain, pid, ipc and enrdb directories os.makedirs(trinity_config.pid_dir, exist_ok=True) os.makedirs(trinity_config.ipc_dir, exist_ok=True) os.makedirs(trinity_config.node_db_dir, exist_ok=True) # Nodekey if trinity_config.nodekey is None: nodekey = ecies.generate_privkey() with open(trinity_config.nodekey_path, 'wb') as nodekey_file: nodekey_file.write(nodekey.to_bytes())