in console disable putting blob dir outside of the db dir, and rename conf_dir to db_dir/data_dir

This commit is contained in:
Jimmy Kiselak 2015-09-17 23:10:14 -04:00
parent 43ed4427b4
commit 8a5a66a06a

View file

@ -42,7 +42,7 @@ log = logging.getLogger(__name__)
class LBRYConsole(): class LBRYConsole():
"""A class which can upload and download file streams to and from the network""" """A class which can upload and download file streams to and from the network"""
def __init__(self, peer_port, dht_node_port, known_dht_nodes, control_class, wallet_type, lbrycrd_conf, def __init__(self, peer_port, dht_node_port, known_dht_nodes, control_class, wallet_type, lbrycrd_conf,
use_upnp, conf_dir, data_dir, created_conf_dir): use_upnp, data_dir, created_data_dir):
""" """
@param peer_port: the network port on which to listen for peers @param peer_port: the network port on which to listen for peers
@ -61,19 +61,19 @@ class LBRYConsole():
self.session = None self.session = None
self.lbry_file_metadata_manager = None self.lbry_file_metadata_manager = None
self.lbry_file_manager = None self.lbry_file_manager = None
self.conf_dir = conf_dir self.db_dir = data_dir
self.current_db_revision = 1 self.current_db_revision = 1
self.data_dir = data_dir self.blobfile_dir = os.path.join(self.db_dir, "blobfiles")
self.created_conf_dir = created_conf_dir self.created_data_dir = created_data_dir
self.plugin_manager = PluginManager() self.plugin_manager = PluginManager()
self.plugin_manager.setPluginPlaces([ self.plugin_manager.setPluginPlaces([
os.path.join(self.conf_dir, "plugins"), os.path.join(self.db_dir, "plugins"),
os.path.join(os.path.dirname(__file__), "plugins"), os.path.join(os.path.dirname(__file__), "plugins"),
]) ])
self.control_handlers = [] self.control_handlers = []
self.query_handlers = {} self.query_handlers = {}
self.settings = LBRYSettings(self.conf_dir) self.settings = LBRYSettings(self.db_dir)
self.blob_request_payment_rate_manager = None self.blob_request_payment_rate_manager = None
self.lbryid = None self.lbryid = None
self.sd_identifier = StreamDescriptorIdentifier() self.sd_identifier = StreamDescriptorIdentifier()
@ -82,7 +82,7 @@ class LBRYConsole():
def start(self): def start(self):
"""Initialize the session and restore everything to its saved state""" """Initialize the session and restore everything to its saved state"""
d = threads.deferToThread(self._setup_conf_directory) d = threads.deferToThread(self._setup_data_directory)
d.addCallback(lambda _: self._check_db_migration()) d.addCallback(lambda _: self._check_db_migration())
d.addCallback(lambda _: self._get_settings()) d.addCallback(lambda _: self._get_settings())
d.addCallback(lambda _: self._get_session()) d.addCallback(lambda _: self._get_session())
@ -127,22 +127,22 @@ class LBRYConsole():
dl.addCallback(_set_query_handlers) dl.addCallback(_set_query_handlers)
return dl return dl
def _setup_conf_directory(self): def _setup_data_directory(self):
if self.created_conf_dir: if self.created_data_dir:
db_revision = open(os.path.join(self.conf_dir, "db_revision"), mode='w') db_revision = open(os.path.join(self.db_dir, "db_revision"), mode='w')
db_revision.write(str(self.current_db_revision)) db_revision.write(str(self.current_db_revision))
db_revision.close() db_revision.close()
log.debug("Created the db revision file: %s", str(os.path.join(self.conf_dir, "db_revision"))) log.debug("Created the db revision file: %s", str(os.path.join(self.db_dir, "db_revision")))
def _check_db_migration(self): def _check_db_migration(self):
old_revision = 0 old_revision = 0
db_revision_file = os.path.join(self.conf_dir, "db_revision") db_revision_file = os.path.join(self.db_dir, "db_revision")
if os.path.exists(db_revision_file): if os.path.exists(db_revision_file):
old_revision = int(open(db_revision_file).read().strip()) old_revision = int(open(db_revision_file).read().strip())
if old_revision < self.current_db_revision: if old_revision < self.current_db_revision:
from lbrynet.db_migrator import dbmigrator from lbrynet.db_migrator import dbmigrator
print "Upgrading your databases..." print "Upgrading your databases..."
d = threads.deferToThread(dbmigrator.migrate_db, self.conf_dir, old_revision, self.current_db_revision) d = threads.deferToThread(dbmigrator.migrate_db, self.db_dir, old_revision, self.current_db_revision)
def print_success(old_dirs): def print_success(old_dirs):
success_string = "Finished upgrading the databases. It is now safe to delete the" success_string = "Finished upgrading the databases. It is now safe to delete the"
@ -205,7 +205,7 @@ class LBRYConsole():
d = threads.deferToThread(self._get_lbrycrd_settings) d = threads.deferToThread(self._get_lbrycrd_settings)
d.addCallback(create_lbrycrd_wallet) d.addCallback(create_lbrycrd_wallet)
else: else:
d = defer.succeed(PTCWallet(self.conf_dir)) d = defer.succeed(PTCWallet(self.db_dir))
d.addCallback(lambda wallet: {"wallet": wallet}) d.addCallback(lambda wallet: {"wallet": wallet})
return d return d
@ -221,8 +221,8 @@ class LBRYConsole():
def create_session(results): def create_session(results):
self.session = LBRYSession(results['default_data_payment_rate'], db_dir=self.conf_dir, lbryid=self.lbryid, self.session = LBRYSession(results['default_data_payment_rate'], db_dir=self.db_dir, lbryid=self.lbryid,
blob_dir=self.data_dir, dht_node_port=self.dht_node_port, blob_dir=self.blobfile_dir, dht_node_port=self.dht_node_port,
known_dht_nodes=self.known_dht_nodes, peer_port=self.peer_port, known_dht_nodes=self.known_dht_nodes, peer_port=self.peer_port,
use_upnp=self.use_upnp, wallet=results['wallet']) use_upnp=self.use_upnp, wallet=results['wallet'])
@ -237,7 +237,7 @@ class LBRYConsole():
return dl return dl
def _setup_lbry_file_manager(self): def _setup_lbry_file_manager(self):
self.lbry_file_metadata_manager = DBLBRYFileMetadataManager(self.conf_dir) self.lbry_file_metadata_manager = DBLBRYFileMetadataManager(self.db_dir)
d = self.lbry_file_metadata_manager.setup() d = self.lbry_file_metadata_manager.setup()
def set_lbry_file_manager(): def set_lbry_file_manager():
@ -447,13 +447,9 @@ def launch_lbry_console():
parser.add_argument("--use_upnp", parser.add_argument("--use_upnp",
help="Try to use UPnP to enable incoming connections through the firewall", help="Try to use UPnP to enable incoming connections through the firewall",
action="store_true") action="store_true")
parser.add_argument("--conf_dir",
help=("The full path to the directory in which to store configuration "
"options and user added plugins. Default: ~/.lbrynet"),
type=str)
parser.add_argument("--data_dir", parser.add_argument("--data_dir",
help=("The full path to the directory in which to store data chunks " help=("The full path to the directory in which lbrynet data and metadata will be stored. "
"downloaded from lbrynet. Default: <conf_dir>/blobfiles"), "Default: ~/.lbrynet"),
type=str) type=str)
args = parser.parse_args() args = parser.parse_args()
@ -473,20 +469,14 @@ def launch_lbry_console():
else: else:
dht_node_port = args.dht_node_port dht_node_port = args.dht_node_port
created_conf_dir = False created_data_dir = False
if not args.conf_dir:
conf_dir = os.path.join(os.path.expanduser("~"), ".lbrynet")
else:
conf_dir = args.conf_dir
if not os.path.exists(conf_dir):
os.mkdir(conf_dir)
created_conf_dir = True
if not args.data_dir: if not args.data_dir:
data_dir = os.path.join(conf_dir, "blobfiles") data_dir = os.path.join(os.path.expanduser("~"), ".lbrynet")
else: else:
data_dir = args.data_dir data_dir = args.data_dir
if not os.path.exists(data_dir): if not os.path.exists(data_dir):
os.mkdir(data_dir) os.mkdir(data_dir)
created_data_dir = True
if args.lbrycrd_wallet_conf: if args.lbrycrd_wallet_conf:
lbrycrd_conf = args.lbrycrd_wallet_conf lbrycrd_conf = args.lbrycrd_wallet_conf
@ -499,14 +489,14 @@ def launch_lbry_console():
logger = logging.getLogger() logger = logging.getLogger()
logger.setLevel(logging.DEBUG) logger.setLevel(logging.DEBUG)
file_handler = logging.FileHandler(os.path.join(conf_dir, "console.log")) file_handler = logging.FileHandler(os.path.join(data_dir, "console.log"))
file_handler.setFormatter(formatter) file_handler.setFormatter(formatter)
file_handler.addFilter(logging.Filter("lbrynet")) file_handler.addFilter(logging.Filter("lbrynet"))
logger.addHandler(file_handler) logger.addHandler(file_handler)
console = LBRYConsole(peer_port, dht_node_port, bootstrap_nodes, StdIOControl, wallet_type=args.wallet_type, console = LBRYConsole(peer_port, dht_node_port, bootstrap_nodes, StdIOControl, wallet_type=args.wallet_type,
lbrycrd_conf=lbrycrd_conf, use_upnp=args.use_upnp, lbrycrd_conf=lbrycrd_conf, use_upnp=args.use_upnp,
conf_dir=conf_dir, data_dir=data_dir, created_conf_dir=created_conf_dir) data_dir=data_dir, created_data_dir=created_data_dir)
d = task.deferLater(reactor, 0, console.start) d = task.deferLater(reactor, 0, console.start)