Moved json loader to separate file

This commit is contained in:
shekhar-cis 2022-09-01 15:05:23 +05:30
parent 8b7755fb49
commit c91cba8928
Signed by untrusted user: shekhar-cis
GPG Key ID: F4F00AB04E83F9A7
4 changed files with 14 additions and 42 deletions

View File

@ -35,7 +35,7 @@
BoxLayout:
size_hint_y: None
height: dp(40)
IdentitySpinner:
CustomSpinner:
id: btn
background_color: app.theme_cls.primary_dark
values: app.variable_1
@ -79,7 +79,7 @@
if root.is_camara_attached(): app.set_screen('scanscreen')
else: root.camera_alert()
on_press:
app.root.ids.id_scanscreen.get_screen('composer')
app.root.ids.is_scanscreen.get_screen('composer')
MyMDTextField:
id: subject

View File

@ -108,7 +108,7 @@
height:"35dp"
NavigationItem:
height: dp(48)
IdentitySpinner:
CustomSpinner:
id: identity_dropdown
pos_hint:{"x":0,"y":0}
option_cls: Factory.get("MySpinnerOption")
@ -223,7 +223,7 @@ MDNavigationLayout:
Sent:
id:sc4
Trash:
id:id_trash
id:sc5
Login:
id:sc6
Random:
@ -247,7 +247,7 @@ MDNavigationLayout:
Allmails:
id:sc17
ScanScreen:
id:id_scanscreen
id:is_scanscreen
MDNavigationDrawer:
id: nav_drawer

View File

@ -7,16 +7,11 @@ Bitmessage android(mobile) interface
"""
import os
import json
import importlib
import logging
from functools import partial
from kivy.clock import Clock
from kivy.lang import Builder
from kivy.properties import (
ListProperty
)
from kivy.uix.boxlayout import BoxLayout
from kivymd.app import MDApp
@ -35,40 +30,16 @@ from pybitmessage.bitmessagekivy.base_navigation import (
BaseNavigationDrawerSubheader, BaseContentNavigationDrawer,
BaseIdentitySpinner
)
from pybitmessage.bmconfigparser import config
from pybitmessage.bmconfigparser import config # noqa: F401
from pybitmessage.bitmessagekivy import identiconGeneration
from pybitmessage.bitmessagekivy.get_platform import platform
from pybitmessage.bitmessagekivy.baseclass.common import toast
from pybitmessage.bitmessagekivy.baseclass.common import toast, load_image_path, get_identity_list
from pybitmessage.bitmessagekivy.load_kivy_screens_data import load_screen_json
from pybitmessage.bitmessagekivy.baseclass.popup import AddAddressPopup
logger = logging.getLogger('default')
data_screen_dict = {}
def load_screen_json(data_file="screens_data.json"):
"""Load screens data from json"""
with open(os.path.join(os.path.dirname(__file__), data_file)) as read_file:
all_data = json.load(read_file)
data_screens = list(all_data.keys())
for key in all_data:
if all_data[key]['Import']:
import_data = all_data.get(key)['Import']
import_to = import_data.split("import")[1].strip()
import_from = import_data.split("import")[0].split('from')[1].strip()
data_screen_dict[import_to] = importlib.import_module(import_from, import_to)
return data_screens, all_data, 'success'
def get_identity_list():
"""Get list of identities and access 'identity_list' variable in .kv file"""
identity_list = ListProperty(
addr for addr in config.addresses() if config.getboolean(str(addr), 'enabled')
)
return identity_list
class Lang(BaseLanguage):
"""UI Language"""
@ -110,13 +81,14 @@ class NavigateApp(MDApp):
title = "PyBitmessage"
identity_list = get_identity_list()
image_path = KivyStateVariables().image_dir
image_path = load_image_path()
tr = Lang("en") # for changing in franch replace en with fr
def __init__(self):
super(NavigateApp, self).__init__()
self.data_screens, self.all_data, response = load_screen_json()
self.data_screens, self.all_data, self.data_screen_dict, response = load_screen_json()
self.kivy_state_obj = KivyStateVariables()
self.image_dir = load_image_path()
def build(self):
"""Method builds the widget"""
@ -224,7 +196,7 @@ class NavigateApp(MDApp):
"""This method is rotating loader for few seconds"""
if instance.text == 'Trash':
self.root.ids.id_trash.clear_widgets()
self.root.ids.id_trash.add_widget(data_screen_dict['Trash'].Trash())
self.root.ids.id_trash.add_widget(self.data_screen_dict['Trash'].Trash())
try:
self.root.ids.id_trash.children[1].active = False
except Exception as e:

View File

@ -1,6 +1,6 @@
import unittest
from pybitmessage.bitmessagekivy.mpybit import load_screen_json
from pybitmessage.bitmessagekivy.load_kivy_screens_data import load_screen_json
from .common import skip_screen_checks
from .common import ordered