added fake_addressGenerator module

This commit is contained in:
navjot 2021-04-02 01:51:10 +05:30
parent e333b26588
commit b7d68db7f2
No known key found for this signature in database
GPG Key ID: 9EE70AFD71357F1C
3 changed files with 65 additions and 3 deletions

View File

@ -3,7 +3,8 @@ import shutil
import tempfile import tempfile
from telenium.tests import TeleniumTestCase from telenium.tests import TeleniumTestCase
from threads import addressGenerator, sqlThread from threads import sqlThread
_files = ( _files = (

View File

@ -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')

View File

@ -1,12 +1,13 @@
"""This module is for thread start.""" """This module is for thread start."""
import state import state
from bitmessagekivy.mpybit import NavigateApp from bitmessagekivy.mpybit import NavigateApp
from threads import addressGenerator, sqlThread from fake_addressGenerator import FakeAddressGenerator
from threads import sqlThread
def main(): def main():
if state.enableObjProc: if state.enableObjProc:
# Start the address generation thread # Start the address generation thread
addressGeneratorThread = addressGenerator() addressGeneratorThread = FakeAddressGenerator()
# close the main program even if there are threads left # close the main program even if there are threads left
addressGeneratorThread.daemon = True addressGeneratorThread.daemon = True
addressGeneratorThread.start() addressGeneratorThread.start()