Kivy - General fixes/improvements #2281

Open
PeterSurda wants to merge 6 commits from gitea-115 into v0.6
6 changed files with 37 additions and 33 deletions

View File

@ -1,8 +1,9 @@
#!/usr/bin/env python2.7 #!/usr/bin/env python2.7
import collectd
import json import json
import xmlrpclib
import collectd
from six.moves import xmlrpc_client as xmlrpclib
pybmurl = "" pybmurl = ""
api = "" api = ""

View File

@ -4,14 +4,14 @@ import os
import platform import platform
import shutil import shutil
import sys import sys
from importlib import import_module from importlib import import_module
from setuptools import setup, Extension
import six
from setuptools import Extension, setup
from setuptools.command.install import install from setuptools.command.install import install
from src.version import softwareVersion from src.version import softwareVersion
EXTRAS_REQUIRE = { EXTRAS_REQUIRE = {
'docs': ['sphinx'], 'docs': ['sphinx'],
'gir': ['pygobject'], 'gir': ['pygobject'],
@ -83,7 +83,7 @@ if __name__ == "__main__":
'images/kivy/text_images*.png' 'images/kivy/text_images*.png'
]} ]}
if sys.version_info[0] == 3: if six.PY3:
packages.extend( packages.extend(
[ [
'pybitmessage.bitmessagekivy', 'pybitmessage.bitmessagekivy',

View File

@ -70,29 +70,24 @@ from struct import pack, unpack
import six import six
from six.moves import configparser, http_client, xmlrpc_server from six.moves import configparser, http_client, xmlrpc_server
from six.moves.reprlib import repr
import helper_inbox import helper_inbox
import helper_sent import helper_sent
import protocol
import proofofwork import proofofwork
import protocol
import queues import queues
import shared import shared
import shutdown import shutdown
import state import state
from addresses import ( from addresses import (addBMIfNotPresent, decodeAddress, decodeVarint,
addBMIfNotPresent, varintDecodeError)
decodeAddress,
decodeVarint,
varintDecodeError
)
from bmconfigparser import config from bmconfigparser import config
from debug import logger from debug import logger
from defaults import ( from defaults import (networkDefaultPayloadLengthExtraBytes,
networkDefaultProofOfWorkNonceTrialsPerByte, networkDefaultProofOfWorkNonceTrialsPerByte)
networkDefaultPayloadLengthExtraBytes) from helper_sql import (SqlBulkExecute, sql_ready, sqlExecute, sqlQuery,
from helper_sql import ( sqlStoredProcedure)
SqlBulkExecute, sqlExecute, sqlQuery, sqlStoredProcedure, sql_ready)
from highlevelcrypto import calculateInventoryHash from highlevelcrypto import calculateInventoryHash
try: try:
@ -100,7 +95,7 @@ try:
except ImportError: except ImportError:
connectionpool = None connectionpool = None
from network import stats, StoppableThread, invQueue from network import StoppableThread, invQueue, stats
from version import softwareVersion from version import softwareVersion
try: # TODO: write tests for XML vulnerabilities try: # TODO: write tests for XML vulnerabilities
@ -224,8 +219,8 @@ class singleAPI(StoppableThread):
if config.safeGet( if config.safeGet(
'bitmessagesettings', 'apivariant') == 'json': 'bitmessagesettings', 'apivariant') == 'json':
try: try:
from jsonrpclib.SimpleJSONRPCServer import ( from jsonrpclib.SimpleJSONRPCServer import \
SimpleJSONRPCServer as RPCServerBase) SimpleJSONRPCServer as RPCServerBase
except ImportError: except ImportError:
logger.warning( logger.warning(
'jsonrpclib not available, failing back to XML-RPC') 'jsonrpclib not available, failing back to XML-RPC')

View File

@ -141,14 +141,14 @@
text: app.tr._('Draft') text: app.tr._('Draft')
icon: 'message-draw' icon: 'message-draw'
divider: None divider: None
on_release: app.root.ids.scr_mngr.current = 'draft' on_release: app.set_screen('draft')
on_release: root.parent.set_state() on_release: root.parent.set_state()
NavigationItem: NavigationItem:
id: trash_cnt id: trash_cnt
text: app.tr._('Trash') text: app.tr._('Trash')
icon: 'delete' icon: 'delete'
divider: None divider: None
on_release: app.root.ids.scr_mngr.current = 'trash' on_release: app.set_screen('trash')
on_press: root.parent.set_state() on_press: root.parent.set_state()
on_press: app.load_screen(self) on_press: app.load_screen(self)
NavigationItem: NavigationItem:
@ -156,7 +156,7 @@
text: app.tr._('All Mails') text: app.tr._('All Mails')
icon: 'mailbox' icon: 'mailbox'
divider: None divider: None
on_release: app.root.ids.scr_mngr.current = 'allmails' on_release: app.set_screen('allmails')
on_release: root.parent.set_state() on_release: root.parent.set_state()
on_press: app.load_screen(self) on_press: app.load_screen(self)
NavigationDrawerDivider: NavigationDrawerDivider:
@ -167,7 +167,7 @@
text: app.tr._('Chat') text: app.tr._('Chat')
icon: 'chat' icon: 'chat'
divider: None divider: None
on_release: app.root.ids.scr_mngr.current = 'chat' on_release: app.set_screen('chat')
on_release: root.parent.set_state() on_release: root.parent.set_state()
NavigationDrawerDivider: NavigationDrawerDivider:
NavigationDrawerSubheader: NavigationDrawerSubheader:
@ -176,38 +176,38 @@
text: app.tr._('Address Book') text: app.tr._('Address Book')
icon: 'book-multiple' icon: 'book-multiple'
divider: None divider: None
on_release: app.root.ids.scr_mngr.current = 'addressbook' on_release: app.set_screen('addressbook')
on_release: root.parent.set_state() on_release: root.parent.set_state()
NavigationItem: NavigationItem:
text: app.tr._('Settings') text: app.tr._('Settings')
icon: 'application-settings' icon: 'application-settings'
divider: None divider: None
on_release: app.root.ids.scr_mngr.current = 'set' on_release: app.set_screen('set')
on_release: root.parent.set_state() on_release: root.parent.set_state()
NavigationItem: NavigationItem:
text: app.tr._('Payment plan') text: app.tr._('Payment plan')
icon: 'shopping' icon: 'shopping'
divider: None divider: None
on_release: app.root.ids.scr_mngr.current = 'payment' on_release: app.set_screen('payment')
on_release: root.parent.set_state() on_release: root.parent.set_state()
NavigationItem: NavigationItem:
text: app.tr._('New address') text: app.tr._('New address')
icon: 'account-plus' icon: 'account-plus'
divider: None divider: None
on_release: app.root.ids.scr_mngr.current = 'login' on_release: app.set_screen('login')
on_release: root.parent.set_state() on_release: root.parent.set_state()
on_press: app.reset_login_screen() on_press: app.reset_login_screen()
NavigationItem: NavigationItem:
text: app.tr._('Network status') text: app.tr._('Network status')
icon: 'server-network' icon: 'server-network'
divider: None divider: None
on_release: app.root.ids.scr_mngr.current = 'networkstat' on_release: app.set_screen('networkstat')
on_release: root.parent.set_state() on_release: root.parent.set_state()
NavigationItem: NavigationItem:
text: app.tr._('My addresses') text: app.tr._('My addresses')
icon: 'account-multiple' icon: 'account-multiple'
divider: None divider: None
on_release: app.root.ids.scr_mngr.current = 'myaddress' on_release: app.set_screen('myaddress')
on_release: root.parent.set_state() on_release: root.parent.set_state()
MDNavigationLayout: MDNavigationLayout:

View File

@ -16,6 +16,7 @@ from kivy.clock import Clock
from kivy.lang import Builder from kivy.lang import Builder
from kivy.core.window import Window from kivy.core.window import Window
from kivy.uix.boxlayout import BoxLayout from kivy.uix.boxlayout import BoxLayout
from kivy.core.clipboard import Clipboard
from kivymd.app import MDApp from kivymd.app import MDApp
from kivymd.uix.label import MDLabel from kivymd.uix.label import MDLabel
@ -480,6 +481,10 @@ class NavigateApp(MDApp):
"""initiate_purchase module""" """initiate_purchase module"""
logger.debug("Purchasing %s through %s", self.product_id, method_name) logger.debug("Purchasing %s through %s", self.product_id, method_name)
def copy_composer_text(self, text):
"""Copy text to clipboard"""
Clipboard.copy(text)
class PaymentMethodLayout(BoxLayout): class PaymentMethodLayout(BoxLayout):
"""PaymentMethodLayout class for kivy Ui""" """PaymentMethodLayout class for kivy Ui"""

View File

@ -4,7 +4,10 @@ from pybitmessage.bmconfigparser import config
def loadConfig(): def loadConfig():
"""Loading mock test data""" """Loading mock test data"""
try:
config.read(os.path.join(os.environ['BITMESSAGE_HOME'], 'keys.dat')) config.read(os.path.join(os.environ['BITMESSAGE_HOME'], 'keys.dat'))
except KeyError:
pass
def total_encrypted_messages_per_month(): def total_encrypted_messages_per_month():