Added kivy basic architecture for support mobile client PyBitmessage
This commit is contained in:
parent
529559d06a
commit
c1868456df
16
src/main.kv
Normal file
16
src/main.kv
Normal file
|
@ -0,0 +1,16 @@
|
|||
<Login_Screen>:
|
||||
BoxLayout:
|
||||
AnchorLayout:
|
||||
TextInput:
|
||||
id: user_input
|
||||
|
||||
BoxLayout:
|
||||
Button:
|
||||
id: sendmessage
|
||||
text: 'SendMessage'
|
||||
on_press: root.send()
|
||||
|
||||
Button:
|
||||
id: btnExit
|
||||
text: "Exit"
|
||||
on_press: root.say_exit()
|
4
src/main.py
Normal file
4
src/main.py
Normal file
|
@ -0,0 +1,4 @@
|
|||
from bitmessagemain import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
112
src/mpybit.py
Normal file
112
src/mpybit.py
Normal file
|
@ -0,0 +1,112 @@
|
|||
from kivy.app import App
|
||||
from kivy.uix.boxlayout import BoxLayout
|
||||
from kivy.core.window import Window
|
||||
from os import environ
|
||||
|
||||
# environ['BITMESSAGE_HOME'] = '~/home/cis/Desktop/pybit'
|
||||
# environ['HOME'] = '~/home/cis/Desktop/pybit'
|
||||
|
||||
from bmconfigparser import BMConfigParser
|
||||
from helper_ackPayload import genAckPayload
|
||||
from addresses import decodeAddress, addBMIfNotPresent
|
||||
from class_sqlThread import sqlThread
|
||||
from helper_sql import sqlQuery, sqlExecute, sqlExecuteChunked, sqlStoredProcedure
|
||||
import time
|
||||
import queues
|
||||
import state
|
||||
import threading
|
||||
import shutdown
|
||||
from inventory import Inventory
|
||||
statusIconColor = 'red'
|
||||
|
||||
|
||||
class Login_Screen(BoxLayout):
|
||||
|
||||
|
||||
def send(self):
|
||||
# print(len(Inventory()), "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF")
|
||||
# print(len(Inventory().unexpired_hashes_by_stream(1)), "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDdd")
|
||||
queues.apiAddressGeneratorReturnQueue.queue.clear()
|
||||
streamNumberForAddress = 1
|
||||
label = "CisDevelper"
|
||||
eighteenByteRipe = False
|
||||
nonceTrialsPerByte = 1000
|
||||
payloadLengthExtraBytes = 1000
|
||||
print("BREAK POINT STARTING @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@")
|
||||
queues.addressGeneratorQueue.put( (
|
||||
'createRandomAddress', 4, streamNumberForAddress, label, 1, "", eighteenByteRipe, nonceTrialsPerByte, payloadLengthExtraBytes )
|
||||
)
|
||||
print(BMConfigParser().sections(), "BMConfigParser().sections()")
|
||||
fromAddress = queues.apiAddressGeneratorReturnQueue.get()
|
||||
print("BREAK POINT ENDING //////////////////////////////////////////////////////////////////")
|
||||
# toAddress = "BM-NBqmcWH5XJMmXCVxD4HVTNPe3naGgHgE"
|
||||
toAddress = "BM-2cWyUfBdY2FbgyuCb7abFZ49JYxSzUhNFe"
|
||||
message = self.ids.user_input.text
|
||||
subject = 'Test'
|
||||
encoding = 3
|
||||
print("message: ", self.ids.user_input.text)
|
||||
sendMessageToPeople = True
|
||||
if sendMessageToPeople:
|
||||
if toAddress != '':
|
||||
status, addressVersionNumber, streamNumber, ripe = decodeAddress(toAddress)
|
||||
if status == 'success':
|
||||
toAddress = addBMIfNotPresent(toAddress)
|
||||
|
||||
if addressVersionNumber > 4 or addressVersionNumber <= 1:
|
||||
print("addressVersionNumber > 4 or addressVersionNumber <= 1")
|
||||
if streamNumber > 1 or streamNumber == 0:
|
||||
print("streamNumber > 1 or streamNumber == 0")
|
||||
if statusIconColor == 'red':
|
||||
print("shared.statusIconColor == 'red'")
|
||||
stealthLevel = BMConfigParser().safeGetInt(
|
||||
'bitmessagesettings', 'ackstealthlevel')
|
||||
ackdata = genAckPayload(streamNumber, stealthLevel)
|
||||
t = ()
|
||||
sqlExecute(
|
||||
'''INSERT INTO sent VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)''',
|
||||
'',
|
||||
toAddress,
|
||||
ripe,
|
||||
fromAddress,
|
||||
subject,
|
||||
message,
|
||||
ackdata,
|
||||
int(time.time()),
|
||||
int(time.time()),
|
||||
0,
|
||||
'msgqueued',
|
||||
0,
|
||||
'sent',
|
||||
encoding,
|
||||
BMConfigParser().getint('bitmessagesettings', 'ttl'))
|
||||
toLabel = ''
|
||||
# queryreturn = sqlQuery('''select status from sent''')
|
||||
# if queryreturn != []:
|
||||
# for row in queryreturn:
|
||||
# print(row, "YZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZYZZYZYZYZYZYZYZYZYZY")
|
||||
# toLabel, = row
|
||||
queues.workerQueue.put(('sendmessage', toAddress))
|
||||
print("sqlExecute successfully ##### ##################")
|
||||
|
||||
# App.get_running_app().stop()
|
||||
# Window.close()
|
||||
# shutdown.doCleanShutdown()
|
||||
for i in threading.enumerate():
|
||||
print (i.name)
|
||||
# from threading import Timer
|
||||
# t = Timer(300.0, connectedHostsList())
|
||||
# t.start()
|
||||
# print(connectedHostsList())
|
||||
print("calling connectios")
|
||||
return None
|
||||
|
||||
def say_exit(self):
|
||||
print ("**************************EXITING FROM APPLICATION*****************************")
|
||||
shutdown.doCleanShutdown()
|
||||
Window.close()
|
||||
|
||||
class MainApp(App):
|
||||
|
||||
|
||||
def build(self):
|
||||
return Login_Screen()
|
Reference in New Issue
Block a user