added fake addressGenerator thread

This commit is contained in:
navjot 2021-04-08 17:39:05 +05:30
parent 064c5ca403
commit 148d4a1333
No known key found for this signature in database
GPG Key ID: 9EE70AFD71357F1C
8 changed files with 80 additions and 11 deletions

View File

@ -19,7 +19,7 @@
# spacing: "12dp"
size_hint_y: None
# height: "120dp"
height: 1.5*label.height+address.height
height: label.height+address.height
BoxLayout:
orientation: 'vertical'
MDTextField:

View File

@ -476,6 +476,7 @@ class NavigateApp(MDApp):
state.in_composer = False
self.root.ids.scr_mngr.current = 'inbox'
elif self.root.ids.scr_mngr.current == "showqrcode":
self.set_common_header()
self.root.ids.scr_mngr.current = 'myaddress'
elif self.root.ids.scr_mngr.current == "random":
self.root.ids.scr_mngr.current = 'login'

View File

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

View File

@ -1,9 +1,11 @@
import time
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
from bmconfigparser import BMConfigParser
from .common import ordered
data = BMConfigParser().addresses()
data = [
'BM-2cWmjntZ47WKEUtocrdvs19y5CivpKoi1h',
'BM-2cVpswZo8rWLXDVtZEUNcDQvnvHJ6TLRYr'
]
class AddressBook(TeleniumTestProcess):
@ -60,7 +62,7 @@ class AddressBook(TeleniumTestProcess):
self.cli.sleep(3)
self.cli.execute('app.addingtoaddressbook()')
self.cli.sleep(3)
self.cli.setattr('//GrashofPopup/BoxLayout[0]/MDTextField[0]','text','test2')
self.cli.setattr('//GrashofPopup/BoxLayout[0]/MDTextField[0]','text','test2 ')
self.cli.sleep(3)
self.cli.setattr('//GrashofPopup/BoxLayout[0]/MDTextField[1]','text',data[0])
self.cli.sleep(3)

View File

@ -1,8 +1,10 @@
from bmconfigparser import BMConfigParser
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
from .common import ordered
data = BMConfigParser().addresses()
data = [
'BM-2cWmjntZ47WKEUtocrdvs19y5CivpKoi1h',
'BM-2cVpswZo8rWLXDVtZEUNcDQvnvHJ6TLRYr'
]
class MyAddressScreen(TeleniumTestProcess):

View File

@ -1,8 +1,10 @@
from bitmessagekivy.tests.telenium_process import TeleniumTestProcess
from bmconfigparser import BMConfigParser
from .common import ordered
data = BMConfigParser().addresses()
data = [
'BM-2cWmjntZ47WKEUtocrdvs19y5CivpKoi1h',
'BM-2cVpswZo8rWLXDVtZEUNcDQvnvHJ6TLRYr'
]
class SendMessage(TeleniumTestProcess):

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."""
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()