Merge pull request #27 from surbhicis/CQpy3

fixed CQ for bitmessagekivy.mpybit module part1
This commit is contained in:
surbhi 2020-06-15 14:11:45 +05:30 committed by surbhicis
commit 4a4fa92672
Signed by untrusted user: surbhicis
GPG Key ID: 48A8C2D218DE7B0B

View File

@ -9,7 +9,7 @@ Bitmessage android(mobile) interface
from sys import platform as _sys_platform
from os import environ
'''
"""
We need to check platform and set environ for KIVY_CAMERA, if requires, before importing kivy.
We cannot use sys.platform directly because it returns 'linux' on android devices as well.
@ -17,41 +17,43 @@ We cannot use kivy.util.platform beacuse it imports kivy beforehand and thus set
after that doesn't make any sense.
So we needed to copy the `_get_platform` function from kivy.utils
'''
"""
def _get_platform():
# On Android sys.platform returns 'linux2', so prefer to check the
# existence of environ variables set during Python initialization
kivy_build = environ.get('KIVY_BUILD', '')
if kivy_build in {'android', 'ios'}:
kivy_build = environ.get("KIVY_BUILD", "")
if kivy_build in {"android", "ios"}:
return kivy_build
elif 'P4A_BOOTSTRAP' in environ:
return 'android'
elif 'ANDROID_ARGUMENT' in environ:
elif "P4A_BOOTSTRAP" in environ:
return "android"
elif "ANDROID_ARGUMENT" in environ:
# We used to use this method to detect android platform,
# leaving it here to be backwards compatible with `pydroid3`
# and similar tools outside kivy's ecosystem
return 'android'
elif _sys_platform in ('win32', 'cygwin'):
return 'win'
elif _sys_platform == 'darwin':
return 'macosx'
elif _sys_platform.startswith('linux'):
return 'linux'
elif _sys_platform.startswith('freebsd'):
return 'linux'
return 'unknown'
return "android"
elif _sys_platform in ("win32", "cygwin"):
return "win"
elif _sys_platform == "darwin":
return "macosx"
elif _sys_platform.startswith("linux"):
return "linux"
elif _sys_platform.startswith("freebsd"):
return "linux"
return "unknown"
platform = _get_platform()
if platform=='android':
if platform == "android":
from jnius import autoclass, cast
from android.runnable import run_on_ui_thread
from android import python_act as PythonActivity
Toast= autoclass('android.widget.Toast')
String = autoclass('java.lang.String')
CharSequence= autoclass('java.lang.CharSequence')
Toast = autoclass("android.widget.Toast")
String = autoclass("java.lang.String")
CharSequence = autoclass("java.lang.CharSequence")
context = PythonActivity.mActivity
@run_on_ui_thread
@ -59,15 +61,16 @@ if platform=='android':
t = Toast.makeText(context, text, length)
t.show()
else:
'''
"""
After tweaking a little bit with opencv camera, it's possible to make camera
go on and off as required while the app is still running.
Other camera provider such as `gi` has some issue upon closing the camera.
by setting KIVY_CAMERA environment variable before importing kivy, we are forcing it to use opencv camera provider.
'''
environ['KIVY_CAMERA']='opencv'
"""
environ["KIVY_CAMERA"] = "opencv"
import os
import time
@ -117,17 +120,14 @@ from kivymd.uix.list import (
OneLineAvatarIconListItem,
OneLineListItem
)
# from kivymd.uix.navigationdrawer import (
# MDNavigationDrawer,
# NavigationDrawerHeaderBase
# )
from kivymd.uix.selectioncontrol import MDCheckbox, MDSwitch
from kivymd.uix.chip import MDChip
from kivy.uix.screenmanager import (
RiseInTransition,
SlideTransition,
FallOutTransition
)
from kivy.uix.screenmanager import RiseInTransition, SlideTransition, FallOutTransition
import queues
from semaphores import kivyuisignaler
@ -142,17 +142,31 @@ from kivy.effects.dampedscroll import DampedScrollEffect
from kivy_garden.zbarcam import ZBarCam
from pyzbar.pyzbar import ZBarSymbol
if platform != 'android':
if platform != "android":
from kivy.config import Config
Config.set('input', 'mouse', 'mouse,multitouch_on_demand')
Config.set("input", "mouse", "mouse, multitouch_on_demand")
# pylint: disable=too-few-public-methods,too-many-arguments,attribute-defined-outside-init
KVFILES = [
'settings', 'popup', 'allmails', 'draft',
'maildetail', 'common_widgets', 'addressbook',
'myaddress', 'composer', 'payment', 'sent',
'network', 'login', 'credits', 'trash', 'inbox',
'chat_room', 'chat_list'
"settings",
"popup",
"allmails",
"draft",
"maildetail",
"common_widgets",
"addressbook",
"myaddress",
"composer",
"payment",
"sent",
"network",
"login",
"credits",
"trash",
"inbox",
"chat_room",
"chat_list"
]
@ -160,6 +174,7 @@ def toast(text):
"""Method will display the toast message"""
# pylint: disable=redefined-outer-name
from kivymd.toast.kivytoast import toast
toast(text)
return
@ -175,9 +190,11 @@ def ShowTimeHistoy(act_time):
crnt_date = datetime.now()
duration = crnt_date - action_time
display_data = (
action_time.strftime('%d/%m/%Y')
if duration.days >= 365 else action_time.strftime('%I:%M %p').lstrip('0')
if duration.days == 0 and crnt_date.strftime('%d/%m/%Y') == action_time.strftime('%d/%m/%Y')
action_time.strftime("%d/%m/%Y")
if duration.days >= 365
else action_time.strftime("%I:%M %p").lstrip("0")
if duration.days == 0
and crnt_date.strftime("%d/%m/%Y") == action_time.strftime("%d/%m/%Y")
else action_time.strftime("%d %b")
)
return display_data
@ -187,9 +204,10 @@ def AddTimeWidget(time): # pylint: disable=redefined-outer-name
"""This method is used to create TimeWidget"""
action_time = TimeTagRightSampleWidget(
text=str(ShowTimeHistoy(time)),
font_style='Caption',
size=[120, 140] if platform == 'android' else [64, 80])
action_time.font_size = '11sp'
font_style="Caption",
size=[120, 140] if platform == "android" else [64, 80],
)
action_time.font_size = "11sp"
return action_time