Skip to content

Commit 09cc100

Browse files
committed
Update resolution and fix format
1 parent ff89064 commit 09cc100

File tree

8 files changed

+44
-65
lines changed

8 files changed

+44
-65
lines changed

.buildbot/kivy/test.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
#!/bin/bash
2+
export INSTALL_TESTS=True
23

34
xvfb-run --server-args="-screen 0, 720x1280x24" python3 tests-kivy.py

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def run(self):
8484
)
8585

8686
if os.environ.get('INSTALL_TESTS', False):
87-
packages.extend(['pybitmessage.mock', 'pybitmessage.backend'])
87+
packages.extend(['pybitmessage.mock', 'pybitmessage.backend', 'pybitmessage.bitmessagekivy.tests'])
8888

8989
# this will silently accept alternative providers of msgpack
9090
# if they are already installed

src/backend/address_generator.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
Common methods and functions for kivy and qt.
33
"""
44

5-
import queues
6-
from bmconfigparser import config
7-
from defaults import (
5+
from pybitmessage import queues
6+
from pybitmessage.bmconfigparser import config
7+
from pybitmessage.defaults import (
88
networkDefaultProofOfWorkNonceTrialsPerByte,
99
networkDefaultPayloadLengthExtraBytes
1010
)

src/bitmessagekivy/main.kv

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -212,12 +212,6 @@ MDNavigationLayout:
212212
id:sc6
213213
Random:
214214
id:id_newidentity
215-
Payment:
216-
id:id_payment
217-
MailDetail:
218-
id:sc14
219-
ShowQRCode:
220-
id:id_showqrcode
221215

222216
MDNavigationDrawer:
223217
id: nav_drawer

src/bitmessagekivy/mpybit.py

Lines changed: 37 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# pylint: disable=unused-import, too-many-public-methods, unused-variable, too-many-ancestors
2-
# pylint: disable=no-name-in-module, too-few-public-methods, import-error, unused-argument
3-
# pylint: disable=attribute-defined-outside-init, global-variable-not-assigned, too-many-instance-attributes
1+
# pylint: disable=too-many-public-methods, unused-variable, too-many-ancestors
2+
# pylint: disable=no-name-in-module, too-few-public-methods, unused-argument
3+
# pylint: disable=attribute-defined-outside-init, too-many-instance-attributes
44

55
"""
66
Bitmessage android(mobile) interface
@@ -10,6 +10,7 @@
1010
import logging
1111
import sys
1212
from functools import partial
13+
from PIL import Image as PilImage
1314

1415
from kivy.clock import Clock
1516
from kivy.lang import Builder
@@ -39,6 +40,7 @@
3940
from pybitmessage.bitmessagekivy.load_kivy_screens_data import load_screen_json
4041

4142
from pybitmessage.bitmessagekivy.baseclass.popup import AddAddressPopup
43+
from pybitmessage.bitmessagekivy.baseclass.login import * # noqa: F401, F403
4244

4345
logger = logging.getLogger('default')
4446

@@ -90,8 +92,13 @@ class NavigateApp(MDApp):
9092
window_size = kivy_state.screen_density
9193
tr = Lang("en") # for changing in franch replace en with fr
9294

95+
if os.environ.get('INSTALL_TESTS', False):
96+
# Set kivy app resolution while running kivy tests
97+
window_size = (720, 1280)
98+
9399
def __init__(self):
94100
super(NavigateApp, self).__init__()
101+
# workaround for relative imports
95102
sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..'))
96103
self.data_screens, self.all_data, self.data_screen_dict, response = load_screen_json()
97104
self.kivy_state_obj = KivyStateVariables()
@@ -164,18 +171,12 @@ def is_camara_attached(self):
164171

165172
def savecontact(self, instance):
166173
"""Method is used for saving contacts"""
167-
pupup_obj = self.add_popup.content_cls
168-
label = pupup_obj.ids.label.text.strip()
169-
address = pupup_obj.ids.address.text.strip()
170-
if label == '' and address == '':
171-
pupup_obj.ids.label.focus = True
172-
pupup_obj.ids.address.focus = True
173-
elif address == '':
174-
pupup_obj.ids.address.focus = True
175-
elif label == '':
176-
pupup_obj.ids.label.focus = True
177-
else:
178-
pupup_obj.ids.address.focus = True
174+
popup_obj = self.add_popup.content_cls
175+
label = popup_obj.ids.label.text.strip()
176+
address = popup_obj.ids.address.text.strip()
177+
popup_obj.ids.label.focus = not label
178+
# default focus on address field
179+
popup_obj.ids.address.focus = label or not address
179180

180181
def close_pop(self, instance):
181182
"""Close the popup"""
@@ -233,6 +234,7 @@ def file_manager_open(self):
233234
self.file_manager.previous = False
234235
self.file_manager.current_path = '/'
235236
if platform == 'android':
237+
# pylint: disable=import-error
236238
from android.permissions import request_permissions, Permission, check_permission
237239
if check_permission(Permission.WRITE_EXTERNAL_STORAGE) and \
238240
check_permission(Permission.READ_EXTERNAL_STORAGE):
@@ -247,21 +249,21 @@ def file_manager_open(self):
247249
def select_path(self, path):
248250
"""This method is used to set the select image"""
249251
try:
250-
from PIL import Image as PilImage
251252
newImg = PilImage.open(path).resize((300, 300))
252253
if platform == 'android':
253254
android_path = os.path.join(
254-
os.environ['ANDROID_PRIVATE'] + '/app' + '/images' + '/kivy/')
255-
if not os.path.exists(android_path + '/default_identicon/'):
256-
os.makedirs(android_path + '/default_identicon/')
257-
newImg.save('{1}/default_identicon/{0}.png'.format(
258-
self.kivy_state_obj.association, android_path)
255+
os.path.join(os.environ['ANDROID_PRIVATE'], 'app', 'images', 'kivy')
256+
)
257+
if not os.path.exists(os.path.join(android_path, 'default_identicon')):
258+
os.makedirs(os.path.join(android_path, 'default_identicon'))
259+
newImg.save(os.path.join(android_path, 'default_identicon', '{}.png'.format(
260+
self.kivy_state_obj.association))
259261
)
260262
else:
261-
if not os.path.exists(self.image_dir + '/default_identicon/'):
262-
os.makedirs(self.image_dir + '/default_identicon/')
263-
newImg.save(self.image_dir + '/default_identicon/{0}.png'.format(
264-
self.kivy_state_obj.association)
263+
if not os.path.exists(os.path.join(self.image_dir, 'default_identicon')):
264+
os.makedirs(os.path.join(self.image_dir, 'default_identicon'))
265+
newImg.save(os.path.join(self.image_dir, 'default_identicon', '{0}.png'.format(
266+
self.kivy_state_obj.association))
265267
)
266268
self.load_selected_Image(self.kivy_state_obj.association)
267269
toast('Image changed')
@@ -277,16 +279,16 @@ def exit_manager(self, *args):
277279
def load_selected_Image(self, curerentAddr):
278280
"""This method load the selected image on screen"""
279281
top_box_obj = self.root.ids.content_drawer.ids.top_box.children[0]
280-
top_box_obj.source = self.image_dir + '/default_identicon/{0}.png'.format(curerentAddr)
282+
top_box_obj.source = os.path.join(self.image_dir, 'default_identicon', '{0}.png'.format(curerentAddr))
281283
self.root.ids.content_drawer.ids.reset_image.opacity = 1
282284
self.root.ids.content_drawer.ids.reset_image.disabled = False
283285
top_box_obj.reload()
284286

285287
def rest_default_avatar_img(self):
286288
"""set default avatar generated image"""
287289
self.set_identicon(self.kivy_state_obj.association)
288-
img_path = self.image_dir + '/default_identicon/{}.png'.format(
289-
self.kivy_state_obj.association
290+
img_path = os.path.join(
291+
self.image_dir, 'default_identicon', '{}.png'.format(self.kivy_state_obj.association)
290292
)
291293
try:
292294
if os.path.exists(img_path):
@@ -303,14 +305,18 @@ def get_default_logo(self, instance):
303305
first_addr = self.identity_list[0]
304306
if config.getboolean(str(first_addr), 'enabled'):
305307
if os.path.exists(
306-
self.image_dir + '/default_identicon/{}.png'.format(first_addr)
308+
os.path.join(
309+
self.image_dir, 'default_identicon', '{}.png'.format(first_addr)
310+
)
307311
):
308-
return self.image_dir + '/default_identicon/{}.png'.format(first_addr)
312+
return os.path.join(
313+
self.image_dir, 'default_identicon', '{}.png'.format(first_addr)
314+
)
309315
else:
310316
img = identiconGeneration.generate(first_addr)
311317
instance.texture = img.texture
312318
return
313-
return self.image_dir + '/drawer_logo1.png'
319+
return os.path.join(self.image_dir, 'drawer_logo1.png')
314320

315321
def reset_login_screen(self):
316322
"""This method is used for clearing the widgets of random screen"""
@@ -334,5 +340,4 @@ class PaymentMethodLayout(BoxLayout):
334340

335341

336342
if __name__ == '__main__':
337-
# workaround for relative imports
338343
NavigateApp().run()
Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,6 @@
11
{
2-
"Address Book": {
3-
"kv_string": "addressbook",
4-
"name_screen": "addressbook",
5-
"Import": "from pybitmessage.bitmessagekivy.baseclass.addressbook import AddressBook"
6-
},
7-
"Payment": {
8-
"kv_string": "payment",
9-
"name_screen": "payment",
10-
"Import": "from pybitmessage.bitmessagekivy.baseclass.payment import Payment"
11-
},
12-
"MailDetail": {
13-
"kv_string": "maildetail",
14-
"name_screen": "mailDetail",
15-
"Import": "from pybitmessage.bitmessagekivy.baseclass.maildetail import MailDetail"
16-
},
172
"Login": {
183
"kv_string": "login",
194
"Import": "from pybitmessage.bitmessagekivy.baseclass.login import *"
20-
},
21-
"Qrcode": {
22-
"kv_string": "qrcode",
23-
"Import": "from pybitmessage.bitmessagekivy.baseclass.qrcode import ShowQRCode"
245
}
256
}

src/bitmessagekivy/tests/test_load_screen_data_file.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11

22
import unittest
33
from pybitmessage.bitmessagekivy.load_kivy_screens_data import load_screen_json
4-
from .common import skip_screen_checks
54
from .common import ordered
65

76

87
class TestLoadScreenData(unittest.TestCase):
98
"""Screen Data Json test"""
109

11-
@skip_screen_checks
1210
@ordered
1311
def test_load_json(self):
1412
"""Test to load a valid json"""
1513
loaded_screen_names = load_screen_json()
16-
self.assertEqual(loaded_screen_names[2], 'success')
14+
self.assertEqual(loaded_screen_names[3], 'success')
1715

18-
@skip_screen_checks
1916
@ordered
2017
def test_load_invalid_file(self):
2118
"""Test to load an invalid json"""

tests-kivy.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ def unittest_discover():
3535
])
3636
sleep(2) # let ffmpeg start
3737
result = unittest.TextTestRunner(verbosity=2).run(unittest_discover())
38+
sleep(1)
3839
if in_docker:
3940
ffmpeg.terminate()
4041
try:

0 commit comments

Comments
 (0)