[mousetrap/gnome3-wip: 104/240] Parts are now identified by fully qualified class name.
- From: Heidi Ellis <heidiellis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mousetrap/gnome3-wip: 104/240] Parts are now identified by fully qualified class name.
- Date: Mon, 8 Sep 2014 15:21:18 +0000 (UTC)
commit 86331e55a5ed2193ba1ec0f7e078ecfca8613565
Author: Stoney Jackson <dr stoney gmail com>
Date: Thu Jun 19 22:29:28 2014 -0400
Parts are now identified by fully qualified class name.
src/mousetrap/main.py | 22 +++++++++++-----------
src/mousetrap/parts/camera.py | 2 +-
src/mousetrap/parts/display.py | 2 +-
src/mousetrap/parts/eyes.py | 2 +-
src/mousetrap/parts/nose.py | 2 +-
src/mousetrap/parts/nose_joystick.py | 2 +-
6 files changed, 16 insertions(+), 16 deletions(-)
---
diff --git a/src/mousetrap/main.py b/src/mousetrap/main.py
index ca62ad6..cb13053 100644
--- a/src/mousetrap/main.py
+++ b/src/mousetrap/main.py
@@ -13,10 +13,10 @@ LOGGER = log.getLogger('mousetrap.main')
#TODO: Should be a configuration file.
DEFAULT_PARTS = [
- ('camera', 'mousetrap.parts.camera'),
- ('display', 'mousetrap.parts.display'),
- ('nose_joystick', 'mousetrap.parts.nose_joystick'),
- ('eye_click', 'mousetrap.parts.eyes'),
+ ('camera', 'mousetrap.parts.camera.CameraPart'),
+ ('display', 'mousetrap.parts.display.DisplayPart'),
+ ('nose_joystick', 'mousetrap.parts.nose_joystick.NoseJoystickPart'),
+ ('eye_click', 'mousetrap.parts.eyes.EyesPart'),
]
DEFAULT_LOOPS_PER_SECOND = 10
@@ -36,15 +36,15 @@ class App(object):
self._register_parts_with_loop()
def _load_parts(self, part_descriptors):
- for name, module in part_descriptors:
- self.parts.append(self._load_part(module))
+ for name, class_ in part_descriptors:
+ self.parts.append(self._load_part(class_))
@staticmethod
- def _load_part(module):
- LOGGER.debug('loading %s', module)
- module = __import__(module, globals(), locals(), ['Part'])
- part = module.Part()
- return part
+ def _load_part(class_):
+ LOGGER.debug('loading %s', class_)
+ class_path = class_.split('.')
+ module = __import__('.'.join(class_path[:-1]), {}, {}, class_path[-1])
+ return getattr(module, class_path[-1])()
def _register_parts_with_loop(self):
for part in self.parts:
diff --git a/src/mousetrap/parts/camera.py b/src/mousetrap/parts/camera.py
index 11f2346..987a3da 100644
--- a/src/mousetrap/parts/camera.py
+++ b/src/mousetrap/parts/camera.py
@@ -1,6 +1,6 @@
import mousetrap.parts.interface as interface
-class Part(interface.Part):
+class CameraPart(interface.Part):
def run(self, app):
app.image = app.camera.read_image()
diff --git a/src/mousetrap/parts/display.py b/src/mousetrap/parts/display.py
index 2c39f36..15fa0d1 100644
--- a/src/mousetrap/parts/display.py
+++ b/src/mousetrap/parts/display.py
@@ -2,6 +2,6 @@ import mousetrap.parts.interface as interface
import logging
-class Part(interface.Part):
+class DisplayPart(interface.Part):
def run(self, app):
app.gui.show_image('MouseTrap', app.image)
diff --git a/src/mousetrap/parts/eyes.py b/src/mousetrap/parts/eyes.py
index 8e929be..c061685 100644
--- a/src/mousetrap/parts/eyes.py
+++ b/src/mousetrap/parts/eyes.py
@@ -6,7 +6,7 @@ import mousetrap.log as log
LOGGER = log.getLogger(__name__)
-class Part(interface.Part):
+class EyesPart(interface.Part):
def __init__(self):
self._left_locator = LeftEyeLocator()
self._history = []
diff --git a/src/mousetrap/parts/nose.py b/src/mousetrap/parts/nose.py
index 55bb5c4..4bf1c61 100644
--- a/src/mousetrap/parts/nose.py
+++ b/src/mousetrap/parts/nose.py
@@ -3,7 +3,7 @@ from mousetrap.vision import FeatureDetector, FeatureNotFoundException
from mousetrap.gui import Gui
-class Part(interface.Part):
+class NosePart(interface.Part):
def __init__(self):
self._nose_locator = NoseLocator()
self._gui = Gui()
diff --git a/src/mousetrap/parts/nose_joystick.py b/src/mousetrap/parts/nose_joystick.py
index 4162cac..4200309 100644
--- a/src/mousetrap/parts/nose_joystick.py
+++ b/src/mousetrap/parts/nose_joystick.py
@@ -3,7 +3,7 @@ from mousetrap.vision import FeatureDetector, FeatureNotFoundException
from mousetrap.parts.nose import NoseLocator
-class Part(interface.Part):
+class NoseJoystickPart(interface.Part):
THRESHOLD = 5
def __init__(self):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]