diff --git a/src/bitmessagekivy/tests/telenium_process.py b/src/bitmessagekivy/tests/telenium_process.py index eafe0ff3..72513c3b 100644 --- a/src/bitmessagekivy/tests/telenium_process.py +++ b/src/bitmessagekivy/tests/telenium_process.py @@ -3,7 +3,8 @@ import shutil import tempfile from telenium.tests import TeleniumTestCase -from threads import addressGenerator, sqlThread +from threads import sqlThread + _files = ( diff --git a/src/fake_addressGenerator.py b/src/fake_addressGenerator.py new file mode 100644 index 00000000..baca8d53 --- /dev/null +++ b/src/fake_addressGenerator.py @@ -0,0 +1,60 @@ +""" +A thread for creating addresses +""" + +import queues +import state +from bmconfigparser import BMConfigParser +from network.threads import StoppableThread + + +fake_addresses = [ + 'BM-2cXDconV3bk6nPwWgBwN7wXaqZoT1bEzGv', + 'BM-2cTWjUVedYftZJbnZfs7MWts92v1R35Try', + 'BM-2cV1UN3er2YVQBcmJaaeYMXvpwBVokJNTo', + 'BM-2cWVkWk3TyKUscdcn9E7s9hrwpv2ZsBBog', + 'BM-2cW2a5R1KidMGNByqPKn6nJDDnHtazoere' +] + +class FakeAddressGenerator(StoppableThread): + """A thread for creating fake addresses""" + name = "addressGenerator" + + def stopThread(self): + try: + queues.addressGeneratorQueue.put(("stopThread", "data")) + except: + pass + super(addressGenerator, self).stopThread() + + def run(self): + """ + Process the requests for addresses generation + from `.queues.addressGeneratorQueue` + """ + while state.shutdown == 0: + queueValue = queues.addressGeneratorQueue.get() + streamNumber = 1 + try: + if len(BMConfigParser().addresses()) > 0: + address = fake_addresses[len(BMConfigParser().addresses())] + else: + address = fake_addresses[0] + + label = queueValue[3] + BMConfigParser().add_section(address) + BMConfigParser().set(address, 'label', label) + BMConfigParser().set(address, 'enabled', 'true') + BMConfigParser().set( + address, 'privencryptionkey', '5KUayt1aPSsNWsxMJnk27kv79wfRE3cWVPYLazyLQc752bXfQP3') + BMConfigParser().save() + + queues.UISignalQueue.put(( + 'updateStatusBar', "" + )) + queues.UISignalQueue.put(('writeNewAddressToTable', ( + label, address, streamNumber))) + queues.addressGeneratorQueue.task_done() + except IndexError: + self.logger.error( + 'Program error: you can only create 5 fake addresses') diff --git a/src/main_test.py b/src/main_test.py index 161d4667..a057379b 100644 --- a/src/main_test.py +++ b/src/main_test.py @@ -1,12 +1,13 @@ """This module is for thread start.""" import state from bitmessagekivy.mpybit import NavigateApp -from threads import addressGenerator, sqlThread +from fake_addressGenerator import FakeAddressGenerator +from threads import sqlThread def main(): if state.enableObjProc: # Start the address generation thread - addressGeneratorThread = addressGenerator() + addressGeneratorThread = FakeAddressGenerator() # close the main program even if there are threads left addressGeneratorThread.daemon = True addressGeneratorThread.start()