diff --git a/src/helper_addressGenerator.py b/src/helper_addressGenerator.py new file mode 100644 index 00000000..39e96fd0 --- /dev/null +++ b/src/helper_addressGenerator.py @@ -0,0 +1,35 @@ +""" +Create random address +""" + +import time +import defaults +import queues +import state + +from bmconfigparser import BMConfigParser + + +def checkHasNormalAddress(): + """method for checking address""" + for address in BMConfigParser().addresses(): + + if BMConfigParser().safeGetBoolean(address, 'enabled'): + return address + return False + + +def createAddressIfNeeded(label_text, streamNumberForAddress=1): + """method for creating random address""" + if not checkHasNormalAddress(): + queues.addressGeneratorQueue.put(( + 'createRandomAddress', 4, streamNumberForAddress, + label_text, + 1, "", False, + defaults.networkDefaultProofOfWorkNonceTrialsPerByte, + defaults.networkDefaultPayloadLengthExtraBytes + )) + start_time = time.time() + while int(time.time() - start_time) < 10 and state.shutdown == 0 and not checkHasNormalAddress(): + time.sleep(.2) + return checkHasNormalAddress() diff --git a/src/proofofwork.py b/src/proofofwork.py index e43e0f02..f170aa5f 100644 --- a/src/proofofwork.py +++ b/src/proofofwork.py @@ -291,7 +291,6 @@ def init(): global bitmsglib, bmpow openclpow.initCL() - if sys.platform == "win32": if ctypes.sizeof(ctypes.c_voidp) == 4: bitmsglib = 'bitmsghash32.dll' @@ -305,8 +304,7 @@ def init(): bmpow.restype = ctypes.c_ulonglong _doCPoW(2**63, "") logger.info("Successfully tested C PoW DLL (stdcall) %s", bitmsglib) - except: - logger.error("C PoW test fail.", exc_info=True) + except ValueError: try: # MinGW bso = ctypes.CDLL(os.path.join(paths.codePath(), "bitmsghash", bitmsglib)) @@ -315,9 +313,12 @@ def init(): bmpow.restype = ctypes.c_ulonglong _doCPoW(2**63, "") logger.info("Successfully tested C PoW DLL (cdecl) %s", bitmsglib) - except: - logger.error("C PoW test fail.", exc_info=True) + except Exception as e: + logger.error("Error: %s", e, exc_info=True) bso = None + except Exception as e: + logger.error("Error: %s", e, exc_info=True) + bso = None else: try: bso = ctypes.CDLL(os.path.join(paths.codePath(), "bitmsghash", bitmsglib))