forked from lyiqian/bidly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
55 lines (39 loc) · 1.47 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import logging
import os
import pathlib
# https://github.com/Android-for-Python/camera4kivy#camera-provider
from kivy import kivy_options
providers= list(kivy_options['camera'])
providers.remove('opencv') # low resolution on Linux
kivy_options['camera'] = tuple(providers)
from kivy.app import App
from kivy.clock import Clock
from kivy.uix.screenmanager import ScreenManager, NoTransition
from app import androidperm
from app.screens.main import MainScreen
from app.screens.results import ResultScreen
import app.const
__version__ = '1.0.0'
DEBUG = os.getenv('DEBUG')
ROOT_DIRPATH = pathlib.Path(__file__).parent
lgr = logging
class BidlyApp(App):
def build(self):
self.bidly = ScreenManager(transition=NoTransition())
self.main_screen = MainScreen(name=app.const.MAIN_SCREEN)
self.bidly.add_widget(self.main_screen)
self.bidly.add_widget(ResultScreen(name=app.const.RESULT_SCREEN))
return self.bidly
def on_start(self):
self.dont_gc = androidperm.AndroidPermissions(self.start_app)
def on_stop(self):
self.main_screen.camera_square.camera.disconnect_camera()
def start_app(self):
self.dont_gc = None
Clock.schedule_once(self.connect_camera)
def connect_camera(self, dt):
main_screen = self.bidly.get_screen(app.const.MAIN_SCREEN)
main_screen.camera_square.camera.connect()
main_screen.button_box.camera_button.disabled = False
if __name__ == '__main__':
BidlyApp().run()