diff --git a/onionr/onionrutils/importnewblocks.py b/onionr/onionrutils/importnewblocks.py index 4ba614fb..89aee4d6 100644 --- a/onionr/onionrutils/importnewblocks.py +++ b/onionr/onionrutils/importnewblocks.py @@ -21,6 +21,7 @@ import glob import logger from onionrutils import blockmetadata from coredb import blockmetadb +from onionrblocks import blockimporter import filepaths import onionrcrypto as crypto def import_new_blocks(scanDir=''): @@ -40,9 +41,10 @@ def import_new_blocks(scanDir=''): with open(block, 'rb') as newBlock: block = block.replace(scanDir, '').replace('.dat', '') if crypto.hashers.sha3_hash(newBlock.read()) == block.replace('.dat', ''): - blockmetadb.add_to_block_DB(block.replace('.dat', ''), dataSaved=True) - logger.info('Imported block %s.' % block, terminal=True) - blockmetadata.process_block_metadata(block) + if blockimporter.importBlockFromData(newBlock.read()): + logger.info('Imported block %s.' % block, terminal=True) + else: + logger.warn('Unable to import block %s.' % block, terminal=True) else: logger.warn('Failed to verify hash for %s' % block, terminal=True) if not exist: diff --git a/onionr/utils/createdirs.py b/onionr/utils/createdirs.py index fb61e88c..1c16767e 100644 --- a/onionr/utils/createdirs.py +++ b/onionr/utils/createdirs.py @@ -29,7 +29,10 @@ def create_dirs(): gen_dirs = [home, filepaths.block_data_location, filepaths.contacts_location, filepaths.export_location] for path in gen_dirs: if not os.path.exists(path): - os.mkdir(path) + try: + os.mkdir(path) + except FileExistsError: + pass for db in dbcreator.create_funcs: try: