clean up daemon imports and settings var name

This commit is contained in:
Jack 2016-11-11 13:42:51 -05:00
parent f9fef3d586
commit 7f96e35b0e

View file

@ -10,7 +10,6 @@ import sys
import base58 import base58
import requests import requests
import simplejson as json import simplejson as json
from urllib2 import urlopen from urllib2 import urlopen
from appdirs import user_data_dir from appdirs import user_data_dir
from datetime import datetime from datetime import datetime
@ -21,55 +20,34 @@ from twisted.internet.task import LoopingCall
from txjsonrpc import jsonrpclib from txjsonrpc import jsonrpclib
from jsonschema import ValidationError from jsonschema import ValidationError
from lbrynet import __version__ as lbrynet_version
# TODO: importing this when internet is disabled raises a socket.gaierror # TODO: importing this when internet is disabled raises a socket.gaierror
from lbryum.version import LBRYUM_VERSION as lbryum_version from lbryum.version import LBRYUM_VERSION as lbryum_version
from lbrynet import __version__ as lbrynet_version from lbrynet import __version__ as lbrynet_version
from lbrynet import conf from lbrynet import conf, reflector, analytics
from lbrynet.conf import settings as lbrynet_settings
from lbrynet import analytics
from lbrynet import reflector
from lbrynet.metadata.Metadata import Metadata, verify_name_characters
from lbrynet.metadata.Fee import FeeValidator from lbrynet.metadata.Fee import FeeValidator
from lbrynet.core import log_support from lbrynet.metadata.Metadata import Metadata, verify_name_characters
from lbrynet.core import utils
from lbrynet.core.utils import generate_id
from lbrynet.core.StreamDescriptor import StreamDescriptorIdentifier, download_sd_blob, BlobStreamDescriptorReader
from lbrynet.core.Session import Session
from lbrynet.core.looping_call_manager import LoopingCallManager
from lbrynet.core.server.BlobRequestHandler import BlobRequestHandlerFactory
from lbrynet.core.server.ServerProtocol import ServerProtocolFactory
from lbrynet.core.Error import InsufficientFundsError, InvalidNameError
from lbrynet.core.PTCWallet import PTCWallet
from lbrynet.core.Wallet import LBRYcrdWallet, LBRYumWallet
from lbrynet.lbrynet_console.Settings import Settings
from lbrynet.lbryfilemanager.EncryptedFileManager import EncryptedFileManager
from lbrynet.lbryfile.StreamDescriptor import EncryptedFileStreamType
from lbrynet.lbryfile.client.EncryptedFileDownloader import EncryptedFileSaverFactory, EncryptedFileOpenerFactory from lbrynet.lbryfile.client.EncryptedFileDownloader import EncryptedFileSaverFactory, EncryptedFileOpenerFactory
from lbrynet.lbryfile.client.EncryptedFileOptions import add_lbry_file_to_sd_identifier from lbrynet.lbryfile.client.EncryptedFileOptions import add_lbry_file_to_sd_identifier
from lbrynet.lbryfile.EncryptedFileMetadataManager import DBEncryptedFileMetadataManager from lbrynet.lbryfile.EncryptedFileMetadataManager import DBEncryptedFileMetadataManager
from lbrynet.lbryfile.EncryptedFileMetadataManager import TempEncryptedFileMetadataManager from lbrynet.lbryfile.EncryptedFileMetadataManager import TempEncryptedFileMetadataManager
from lbrynet.lbryfile.StreamDescriptor import EncryptedFileStreamType
from lbrynet.lbryfilemanager.EncryptedFileManager import EncryptedFileManager
from lbrynet.lbrynet_console.Settings import Settings
from lbrynet.lbrynet_daemon.UIManager import UIManager from lbrynet.lbrynet_daemon.UIManager import UIManager
from lbrynet.lbrynet_daemon.Downloader import GetStream from lbrynet.lbrynet_daemon.Downloader import GetStream
from lbrynet.lbrynet_daemon.Publisher import Publisher from lbrynet.lbrynet_daemon.Publisher import Publisher
from lbrynet.lbrynet_daemon.ExchangeRateManager import ExchangeRateManager from lbrynet.lbrynet_daemon.ExchangeRateManager import ExchangeRateManager
from lbrynet.lbrynet_daemon.Lighthouse import LighthouseClient
from lbrynet.lbrynet_daemon.auth.server import AuthJSONRPCServer from lbrynet.lbrynet_daemon.auth.server import AuthJSONRPCServer
from lbrynet.metadata.Metadata import Metadata, verify_name_characters
from lbrynet.core import log_support from lbrynet.core import log_support
from lbrynet.core import utils from lbrynet.core import utils
from lbrynet.core.utils import generate_id
from lbrynet.lbrynet_console.Settings import Settings
from lbrynet.core.StreamDescriptor import StreamDescriptorIdentifier, download_sd_blob, BlobStreamDescriptorReader from lbrynet.core.StreamDescriptor import StreamDescriptorIdentifier, download_sd_blob, BlobStreamDescriptorReader
from lbrynet.core.Session import Session from lbrynet.core.Session import Session
from lbrynet.core.PTCWallet import PTCWallet from lbrynet.core.PTCWallet import PTCWallet
from lbrynet.core.Wallet import LBRYcrdWallet, LBRYumWallet from lbrynet.core.Wallet import LBRYcrdWallet, LBRYumWallet
from lbrynet.lbryfilemanager.EncryptedFileManager import EncryptedFileManager from lbrynet.core.looping_call_manager import LoopingCallManager
from lbrynet.lbryfile.EncryptedFileMetadataManager import DBEncryptedFileMetadataManager, TempEncryptedFileMetadataManager from lbrynet.core.server.BlobRequestHandler import BlobRequestHandlerFactory
from lbrynet import reflector from lbrynet.core.server.ServerProtocol import ServerProtocolFactory
from lbrynet.core.Error import InsufficientFundsError, InvalidNameError
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -222,7 +200,7 @@ class Daemon(AuthJSONRPCServer):
""" """
def __init__(self, root): def __init__(self, root):
AuthJSONRPCServer.__init__(self, lbrynet_settings.use_auth_http) AuthJSONRPCServer.__init__(self, conf.settings.use_auth_http)
reactor.addSystemEventTrigger('before', 'shutdown', self._shutdown) reactor.addSystemEventTrigger('before', 'shutdown', self._shutdown)
self.allowed_during_startup = [ self.allowed_during_startup = [
@ -232,38 +210,38 @@ class Daemon(AuthJSONRPCServer):
'version', 'get_search_servers' 'version', 'get_search_servers'
] ]
last_version = {'last_version': {'lbrynet': lbrynet_version, 'lbryum': lbryum_version}} last_version = {'last_version': {'lbrynet': lbrynet_version, 'lbryum': lbryum_version}}
lbrynet_settings.update(last_version) conf.settings.update(last_version)
self.db_dir = lbrynet_settings.data_dir self.db_dir = conf.settings.data_dir
self.download_directory = lbrynet_settings.download_directory self.download_directory = conf.settings.download_directory
self.created_data_dir = False self.created_data_dir = False
if not os.path.exists(self.db_dir): if not os.path.exists(self.db_dir):
os.mkdir(self.db_dir) os.mkdir(self.db_dir)
self.created_data_dir = True self.created_data_dir = True
if lbrynet_settings.BLOBFILES_DIR == "blobfiles": if conf.settings.BLOBFILES_DIR == "blobfiles":
self.blobfile_dir = os.path.join(self.db_dir, "blobfiles") self.blobfile_dir = os.path.join(self.db_dir, "blobfiles")
else: else:
log.info("Using non-default blobfiles directory: %s", lbrynet_settings.BLOBFILES_DIR) log.info("Using non-default blobfiles directory: %s", conf.settings.BLOBFILES_DIR)
self.blobfile_dir = lbrynet_settings.BLOBFILES_DIR self.blobfile_dir = conf.settings.BLOBFILES_DIR
self.run_on_startup = lbrynet_settings.run_on_startup self.run_on_startup = conf.settings.run_on_startup
self.data_rate = lbrynet_settings.data_rate self.data_rate = conf.settings.data_rate
self.max_key_fee = lbrynet_settings.max_key_fee self.max_key_fee = conf.settings.max_key_fee
self.max_upload = lbrynet_settings.max_upload self.max_upload = conf.settings.max_upload
self.max_download = lbrynet_settings.max_download self.max_download = conf.settings.max_download
self.upload_log = lbrynet_settings.upload_log self.upload_log = conf.settings.upload_log
self.search_timeout = lbrynet_settings.search_timeout self.search_timeout = conf.settings.search_timeout
self.download_timeout = lbrynet_settings.download_timeout self.download_timeout = conf.settings.download_timeout
self.max_search_results = lbrynet_settings.max_search_results self.max_search_results = conf.settings.max_search_results
self.run_reflector_server = lbrynet_settings.run_reflector_server self.run_reflector_server = conf.settings.run_reflector_server
self.wallet_type = lbrynet_settings.wallet self.wallet_type = conf.settings.wallet
self.delete_blobs_on_remove = lbrynet_settings.delete_blobs_on_remove self.delete_blobs_on_remove = conf.settings.delete_blobs_on_remove
self.peer_port = lbrynet_settings.peer_port self.peer_port = conf.settings.peer_port
self.reflector_port = lbrynet_settings.reflector_port self.reflector_port = conf.settings.reflector_port
self.dht_node_port = lbrynet_settings.dht_node_port self.dht_node_port = conf.settings.dht_node_port
self.use_upnp = lbrynet_settings.use_upnp self.use_upnp = conf.settings.use_upnp
self.start_lbrycrdd = lbrynet_settings.start_lbrycrdd self.start_lbrycrdd = conf.settings.start_lbrycrdd
self.cache_time = lbrynet_settings.cache_time self.cache_time = conf.settings.cache_time
self.startup_scripts = lbrynet_settings.startup_scripts self.startup_scripts = conf.settings.startup_scripts
self.startup_status = STARTUP_STAGES[0] self.startup_status = STARTUP_STAGES[0]
self.startup_message = None self.startup_message = None
@ -275,11 +253,11 @@ class Daemon(AuthJSONRPCServer):
self.ui_version = None self.ui_version = None
self.ip = None self.ip = None
self.first_run = None self.first_run = None
self.log_file = lbrynet_settings.get_log_filename() self.log_file = conf.settings.get_log_filename()
self.current_db_revision = 1 self.current_db_revision = 1
self.session = None self.session = None
self.uploaded_temp_files = [] self.uploaded_temp_files = []
self._session_id = base58.b58encode(generate_id()) self._session_id = base58.b58encode(utils.generate_id())
# TODO: this should probably be passed into the daemon, or # TODO: this should probably be passed into the daemon, or
# possibly have the entire log upload functionality taken out # possibly have the entire log upload functionality taken out
# 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
@ -287,7 +265,7 @@ class Daemon(AuthJSONRPCServer):
self.analytics_manager = None self.analytics_manager = None
self.lbryid = PENDING_LBRY_ID self.lbryid = PENDING_LBRY_ID
self.daemon_conf = lbrynet_settings.get_conf_filename() self.daemon_conf = conf.settings.get_conf_filename()
self.wallet_user = None self.wallet_user = None
self.wallet_password = None self.wallet_password = None
@ -321,7 +299,6 @@ class Daemon(AuthJSONRPCServer):
parsed = jsonrpclib.loads(content) parsed = jsonrpclib.loads(content)
function_path = parsed.get("method") function_path = parsed.get("method")
if self.wallet_type == "lbryum" and function_path in ['set_miner', 'get_miner_status']: if self.wallet_type == "lbryum" and function_path in ['set_miner', 'get_miner_status']:
log.warning("Mining commands are not available in lbryum")
raise Exception("Command not available in lbryum") raise Exception("Command not available in lbryum")
return True return True
@ -389,7 +366,7 @@ class Daemon(AuthJSONRPCServer):
self.exchange_rate_manager.start() self.exchange_rate_manager.start()
d = defer.Deferred() d = defer.Deferred()
if lbrynet_settings.host_ui: if conf.settings.host_ui:
self.lbry_ui_manager.update_checker.start(1800, now=False) self.lbry_ui_manager.update_checker.start(1800, now=False)
d.addCallback(lambda _: self.lbry_ui_manager.setup()) d.addCallback(lambda _: self.lbry_ui_manager.setup())
d.addCallback(lambda _: self._initial_setup()) d.addCallback(lambda _: self._initial_setup())
@ -678,27 +655,27 @@ class Daemon(AuthJSONRPCServer):
for key, setting_type in setting_types.iteritems(): for key, setting_type in setting_types.iteritems():
if key in settings: if key in settings:
if isinstance(settings[key], setting_type): if isinstance(settings[key], setting_type):
lbrynet_settings.update({key: settings[key]}) conf.settings.update({key: settings[key]})
elif key == "max_key_fee" and isinstance(FeeValidator(settings[key]).amount, setting_type): elif key == "max_key_fee" and isinstance(FeeValidator(settings[key]).amount, setting_type):
lbrynet_settings.update({key: settings[key]}) conf.settings.update({key: settings[key]})
else: else:
try: try:
converted = setting_type(settings[key]) converted = setting_type(settings[key])
lbrynet_settings.update({key: converted}) conf.settings.update({key: converted})
except Exception as err: except Exception as err:
log.warning(err.message) log.warning(err.message)
log.warning("error converting setting '%s' to type %s", key, setting_type) log.warning("error converting setting '%s' to type %s", key, setting_type)
self.run_on_startup = lbrynet_settings.run_on_startup self.run_on_startup = conf.settings.run_on_startup
self.data_rate = lbrynet_settings.data_rate self.data_rate = conf.settings.data_rate
self.max_key_fee = lbrynet_settings.max_key_fee self.max_key_fee = conf.settings.max_key_fee
self.download_directory = lbrynet_settings.download_directory self.download_directory = conf.settings.download_directory
self.max_upload = lbrynet_settings.max_upload self.max_upload = conf.settings.max_upload
self.max_download = lbrynet_settings.max_download self.max_download = conf.settings.max_download
self.upload_log = lbrynet_settings.upload_log self.upload_log = conf.settings.upload_log
self.download_timeout = lbrynet_settings.download_timeout self.download_timeout = conf.settings.download_timeout
self.search_timeout = lbrynet_settings.search_timeout self.search_timeout = conf.settings.search_timeout
self.cache_time = lbrynet_settings.cache_time self.cache_time = conf.settings.cache_time
return defer.succeed(True) return defer.succeed(True)
@ -755,7 +732,7 @@ class Daemon(AuthJSONRPCServer):
self.lbryid = lbryid self.lbryid = lbryid
def _make_set_and_save_lbryid(self): def _make_set_and_save_lbryid(self):
self.lbryid = generate_id() self.lbryid = utils.generate_id()
log.info("Generated new LBRY ID: " + base58.b58encode(self.lbryid)) log.info("Generated new LBRY ID: " + base58.b58encode(self.lbryid))
d = self.settings.save_lbryid(self.lbryid) d = self.settings.save_lbryid(self.lbryid)
return d return d
@ -797,7 +774,7 @@ class Daemon(AuthJSONRPCServer):
def get_default_data_rate(): def get_default_data_rate():
d = self.settings.get_default_data_payment_rate() d = self.settings.get_default_data_payment_rate()
d.addCallback(lambda rate: {"default_data_payment_rate": rate if rate is not None else d.addCallback(lambda rate: {"default_data_payment_rate": rate if rate is not None else
lbrynet_settings.data_rate}) conf.settings.data_rate})
return d return d
def get_wallet(): def get_wallet():
@ -811,8 +788,8 @@ class Daemon(AuthJSONRPCServer):
elif self.wallet_type == "lbryum": elif self.wallet_type == "lbryum":
log.info("Using lbryum wallet") log.info("Using lbryum wallet")
config = {'auto-connect': True} config = {'auto-connect': True}
if lbrynet_settings.lbryum_wallet_dir: if conf.settings.lbryum_wallet_dir:
config['lbryum_path'] = lbrynet_settings.lbryum_wallet_dir config['lbryum_path'] = conf.settings.lbryum_wallet_dir
d = defer.succeed(LBRYumWallet(self.db_dir, config)) d = defer.succeed(LBRYumWallet(self.db_dir, config))
elif self.wallet_type == "ptc": elif self.wallet_type == "ptc":
log.info("Using PTC wallet") log.info("Using PTC wallet")
@ -835,7 +812,7 @@ class Daemon(AuthJSONRPCServer):
def create_session(results): def create_session(results):
self.session = Session(results['default_data_payment_rate'], db_dir=self.db_dir, lbryid=self.lbryid, self.session = Session(results['default_data_payment_rate'], db_dir=self.db_dir, lbryid=self.lbryid,
blob_dir=self.blobfile_dir, dht_node_port=self.dht_node_port, blob_dir=self.blobfile_dir, dht_node_port=self.dht_node_port,
known_dht_nodes=lbrynet_settings.known_dht_nodes, peer_port=self.peer_port, known_dht_nodes=conf.settings.known_dht_nodes, peer_port=self.peer_port,
use_upnp=self.use_upnp, wallet=results['wallet']) use_upnp=self.use_upnp, wallet=results['wallet'])
self.startup_status = STARTUP_STAGES[2] self.startup_status = STARTUP_STAGES[2]
@ -857,7 +834,7 @@ class Daemon(AuthJSONRPCServer):
self.sd_identifier.add_stream_downloader_factory(EncryptedFileStreamType, file_opener_factory) self.sd_identifier.add_stream_downloader_factory(EncryptedFileStreamType, file_opener_factory)
return defer.succeed(None) return defer.succeed(None)
def _download_sd_blob(self, sd_hash, timeout=lbrynet_settings.sd_download_timeout): def _download_sd_blob(self, sd_hash, timeout=conf.settings.sd_download_timeout):
def cb(result): def cb(result):
if not r.called: if not r.called:
r.callback(result) r.callback(result)
@ -875,7 +852,7 @@ class Daemon(AuthJSONRPCServer):
return r return r
def _download_name(self, name, timeout=lbrynet_settings.download_timeout, download_directory=None, def _download_name(self, name, timeout=conf.settings.download_timeout, download_directory=None,
file_name=None, stream_info=None, wait_for_write=True): file_name=None, stream_info=None, wait_for_write=True):
""" """
Add a lbry file to the file manager, start the download, and return the new lbry file. Add a lbry file to the file manager, start the download, and return the new lbry file.
@ -1030,7 +1007,7 @@ class Daemon(AuthJSONRPCServer):
log.info("Reflecting stream: %s" % stream_hash) log.info("Reflecting stream: %s" % stream_hash)
reflector_server = random.choice(lbrynet_settings.reflector_servers) reflector_server = random.choice(conf.settings.reflector_servers)
reflector_address, reflector_port = reflector_server[0], reflector_server[1] reflector_address, reflector_port = reflector_server[0], reflector_server[1]
log.info("Start reflector client") log.info("Start reflector client")
factory = reflector.ClientFactory( factory = reflector.ClientFactory(
@ -1049,7 +1026,7 @@ class Daemon(AuthJSONRPCServer):
log.info("Reflecting %i blobs" % len(blob_hashes)) log.info("Reflecting %i blobs" % len(blob_hashes))
reflector_server = random.choice(lbrynet_settings.reflector_servers) reflector_server = random.choice(conf.settings.reflector_servers)
reflector_address, reflector_port = reflector_server[0], reflector_server[1] reflector_address, reflector_port = reflector_server[0], reflector_server[1]
log.info("Start reflector client") log.info("Start reflector client")
factory = reflector.BlobClientFactory( factory = reflector.BlobClientFactory(
@ -1072,7 +1049,7 @@ class Daemon(AuthJSONRPCServer):
log.info("Removing one time startup scripts") log.info("Removing one time startup scripts")
remaining_scripts = [s for s in self.startup_scripts if 'run_once' not in s.keys()] remaining_scripts = [s for s in self.startup_scripts if 'run_once' not in s.keys()]
startup_scripts = self.startup_scripts startup_scripts = self.startup_scripts
self.startup_scripts = lbrynet_settings.startup_scripts = remaining_scripts self.startup_scripts = conf.settings.startup_scripts = remaining_scripts
conf.save_settings() conf.save_settings()
for script in startup_scripts: for script in startup_scripts:
@ -1251,7 +1228,7 @@ class Daemon(AuthJSONRPCServer):
""" """
log.info("Get daemon settings") log.info("Get daemon settings")
return self._render_response(lbrynet_settings.__dict__, OK_CODE) return self._render_response(conf.settings.__dict__, OK_CODE)
@AuthJSONRPCServer.auth_required @AuthJSONRPCServer.auth_required
def jsonrpc_set_settings(self, p): def jsonrpc_set_settings(self, p):
@ -1272,12 +1249,12 @@ class Daemon(AuthJSONRPCServer):
""" """
def _log_settings_change(): def _log_settings_change():
log.info("Set daemon settings to " + json.dumps(lbrynet_settings.configurable_settings)) log.info("Set daemon settings to " + json.dumps(conf.settings.configurable_settings))
d = self._update_settings(p) d = self._update_settings(p)
d.addErrback(lambda err: log.info(err.getTraceback())) d.addErrback(lambda err: log.info(err.getTraceback()))
d.addCallback(lambda _: _log_settings_change()) d.addCallback(lambda _: _log_settings_change())
d.addCallback(lambda _: self._render_response(lbrynet_settings.configurable_settings, OK_CODE)) d.addCallback(lambda _: self._render_response(conf.settings.configurable_settings, OK_CODE))
return d return d
@ -2036,7 +2013,7 @@ class Daemon(AuthJSONRPCServer):
sd blob, dict sd blob, dict
""" """
sd_hash = p[FileID.SD_HASH] sd_hash = p[FileID.SD_HASH]
timeout = p.get('timeout', lbrynet_settings.sd_download_timeout) timeout = p.get('timeout', conf.settings.sd_download_timeout)
d = self._download_sd_blob(sd_hash, timeout) d = self._download_sd_blob(sd_hash, timeout)
d.addCallbacks( d.addCallbacks(
lambda r: self._render_response(r, OK_CODE), lambda r: self._render_response(r, OK_CODE),
@ -2401,7 +2378,7 @@ def get_darwin_lbrycrdd_path():
class _DownloadNameHelper(object): class _DownloadNameHelper(object):
def __init__(self, daemon, name, timeout=lbrynet_settings.download_timeout, download_directory=None, def __init__(self, daemon, name, timeout=conf.settings.download_timeout, download_directory=None,
file_name=None, wait_for_write=True): file_name=None, wait_for_write=True):
self.daemon = daemon self.daemon = daemon
self.name = name self.name = name