Skip to content
This repository was archived by the owner on Nov 14, 2023. It is now read-only.

Commit b74b072

Browse files
committed
picamera2
1 parent 4410916 commit b74b072

File tree

4 files changed

+597
-4
lines changed

4 files changed

+597
-4
lines changed

src/camera4kivy/based_on_kivy_core/camera/__init__.py

+36-4
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,33 @@ def _copy_to_gpu(self):
8282
#def on_load(self):
8383
# pass
8484

85-
# Load the appropriate providers
85+
import kivy
86+
import importlib
87+
88+
def select_provider(category, llist, base='kivy.core'):
89+
category = category.lower()
90+
basemodule = category
91+
for option, modulename, classname in llist:
92+
if option not in kivy.kivy_options[category]:
93+
continue
94+
try:
95+
name = '{0}.{1}.{2}'.format(base, basemodule, modulename)
96+
mod = importlib.__import__(name=name,
97+
globals=globals(),
98+
locals=locals(),
99+
fromlist=[modulename], level=0)
100+
cls = mod.__getattribute__(classname)
101+
102+
Logger.info('{0}: Provider: {1}'.format(category.capitalize(),
103+
option))
104+
return cls
105+
106+
except Exception as e:
107+
pass
108+
109+
if platform not in ['android']:
110+
Logger.warning('{0}: No Provider found.'.format(category.capitalize()))
111+
86112
providers = ()
87113

88114
if platform in ['macosx', 'ios']:
@@ -96,12 +122,18 @@ def _copy_to_gpu(self):
96122
elif platform == 'android':
97123
pass
98124
else:
99-
#providers += (('picamera2', 'camera_picamera2', 'CameraPiCamera2'), )
125+
providers += (('picamera', 'camera_picamera2', 'CameraPiCamera2'), )
100126
providers += (('picamera', 'camera_picamera', 'CameraPiCamera'), )
101127
providers += (('gi', 'camera_gi', 'CameraGi'), )
102128
providers += (('opencv', 'camera_opencv', 'CameraOpenCV'), )
103129

104130
if providers:
105-
## CHANGED TO camera4kivy.based_on_kivy_core
106-
Camera = core_select_lib('camera', (providers),
131+
Camera = select_provider('camera', (providers),
107132
base='camera4kivy.based_on_kivy_core')
133+
134+
135+
136+
137+
138+
139+

0 commit comments

Comments
 (0)