From 2cc2505cfded76539bb6e7734a8ae3dc02b84748 Mon Sep 17 00:00:00 2001
From: Kay Kurokawa <kay@lbry.io>
Date: Tue, 21 Mar 2017 13:06:52 -0400
Subject: [PATCH] make directories in one place when initializing

---
 lbrynet/lbrynet_daemon/Daemon.py | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/lbrynet/lbrynet_daemon/Daemon.py b/lbrynet/lbrynet_daemon/Daemon.py
index c57749ea7..e366251b6 100644
--- a/lbrynet/lbrynet_daemon/Daemon.py
+++ b/lbrynet/lbrynet_daemon/Daemon.py
@@ -232,18 +232,11 @@ class Daemon(AuthJSONRPCServer):
         conf.settings.update(last_version)
         self.db_dir = conf.settings['data_dir']
         self.download_directory = conf.settings['download_directory']
-        if not os.path.exists(self.download_directory):
-            os.mkdir(self.download_directory)
-        self.created_data_dir = False
-        if not os.path.exists(self.db_dir):
-            os.mkdir(self.db_dir)
-            self.created_data_dir = True
         if conf.settings['BLOBFILES_DIR'] == "blobfiles":
             self.blobfile_dir = os.path.join(self.db_dir, "blobfiles")
         else:
             log.info("Using non-default blobfiles directory: %s", conf.settings['BLOBFILES_DIR'])
             self.blobfile_dir = conf.settings['BLOBFILES_DIR']
-
         self.run_on_startup = conf.settings['run_on_startup']
         self.data_rate = conf.settings['data_rate']
         self.max_key_fee = conf.settings['max_key_fee']
@@ -296,7 +289,7 @@ class Daemon(AuthJSONRPCServer):
         }
         self.looping_call_manager = LoopingCallManager(calls)
         self.sd_identifier = StreamDescriptorIdentifier()
-        self.stream_info_manager = DBEncryptedFileMetadataManager(self.db_dir)
+        self.stream_info_manager = None
         self.lbry_file_manager = None
 
     @defer.inlineCallbacks
@@ -601,7 +594,10 @@ class Daemon(AuthJSONRPCServer):
         old_revision = 1
         self.startup_status = STARTUP_STAGES[1]
         log.info("Loading databases")
-        if self.created_data_dir:
+        if not os.path.exists(self.download_directory):
+            os.mkdir(self.download_directory)
+        if not os.path.exists(self.db_dir):
+            os.mkdir(self.db_dir)
             self._write_db_revision_file(self.current_db_revision)
             log.debug("Created the db revision file: %s", self.db_revision_file)
         if not os.path.exists(self.blobfile_dir):
@@ -642,6 +638,7 @@ class Daemon(AuthJSONRPCServer):
     def _setup_lbry_file_manager(self):
         log.info('Starting to setup up file manager')
         self.startup_status = STARTUP_STAGES[3]
+        self.stream_info_manager = DBEncryptedFileMetadataManager(self.db_dir)
         yield self.stream_info_manager.setup()
         self.lbry_file_manager = EncryptedFileManager(
             self.session,