persist dht node id

This commit is contained in:
Jack Robison 2017-08-16 21:08:24 -04:00
parent 8786133cd4
commit d1b7de1807
No known key found for this signature in database
GPG key ID: 284699E7404E3CFF
4 changed files with 17 additions and 2 deletions

View file

@ -21,7 +21,7 @@ at anytime.
* *
### Changed ### Changed
* * Persist DHT node id
* *
### Added ### Added

View file

@ -273,6 +273,7 @@ class Config(object):
self._installation_id = None self._installation_id = None
self._session_id = base58.b58encode(utils.generate_id()) self._session_id = base58.b58encode(utils.generate_id())
self._node_id = None
self._fixed_defaults = fixed_defaults self._fixed_defaults = fixed_defaults
self._adjustable_defaults = adjustable_defaults self._adjustable_defaults = adjustable_defaults
@ -514,6 +515,18 @@ class Config(object):
install_id_file.write(self._installation_id) install_id_file.write(self._installation_id)
return self._installation_id return self._installation_id
def get_node_id(self):
node_id_filename = os.path.join(self.ensure_data_dir(), "node_id")
if not self._node_id:
if os.path.isfile(node_id_filename):
with open(node_id_filename, "r") as node_id_file:
self._node_id = base58.b58decode(node_id_file.read())
if not self._node_id:
self._node_id = utils.generate_id()
with open(node_id_filename, "w") as node_id_file:
node_id_file.write(base58.b58encode(self._node_id))
return self._node_id
def get_session_id(self): def get_session_id(self):
return self._session_id return self._session_id
@ -538,5 +551,6 @@ def initialize_settings(load_conf_file=True):
settings = Config(FIXED_SETTINGS, ADJUSTABLE_SETTINGS, settings = Config(FIXED_SETTINGS, ADJUSTABLE_SETTINGS,
environment=get_default_env()) environment=get_default_env())
settings.installation_id = settings.get_installation_id() settings.installation_id = settings.get_installation_id()
settings.node_id = settings.get_node_id()
if load_conf_file: if load_conf_file:
settings.load_conf_file_settings() settings.load_conf_file_settings()

View file

@ -207,7 +207,7 @@ class Daemon(AuthJSONRPCServer):
# of the daemon, but I don't want to deal with that now # of the daemon, but I don't want to deal with that now
self.analytics_manager = analytics_manager self.analytics_manager = analytics_manager
self.lbryid = utils.generate_id() self.lbryid = conf.settings.node_id
self.wallet_user = None self.wallet_user = None
self.wallet_password = None self.wallet_password = None

View file

@ -280,6 +280,7 @@ def mock_conf_settings(obj, settings={}):
original_settings = conf.settings original_settings = conf.settings
conf.settings = conf.Config(conf.FIXED_SETTINGS, conf.ADJUSTABLE_SETTINGS) conf.settings = conf.Config(conf.FIXED_SETTINGS, conf.ADJUSTABLE_SETTINGS)
conf.settings.installation_id = conf.settings.get_installation_id() conf.settings.installation_id = conf.settings.get_installation_id()
conf.settings.node_id = conf.settings.get_node_id()
conf.settings.update(settings) conf.settings.update(settings)
def _reset_settings(): def _reset_settings():