[orca/orca-gnome3: 18/87] Chaos uploaded, trying to import default script from test plugin
- From: Alejandro Leiva <aleiva src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca/orca-gnome3: 18/87] Chaos uploaded, trying to import default script from test plugin
- Date: Fri, 1 Apr 2011 11:14:19 +0000 (UTC)
commit be5e87732d3f0d91278558d72901a4fcf7c7537f
Author: José Ignacio �lvarez Ruiz <jialvarez emergya es>
Date: Mon Mar 7 18:38:39 2011 +0100
Chaos uploaded, trying to import default script from test plugin
src/orca/baseplugins/test.py | 33 +++++++---
src/orca/{pluglib => }/interfaces.py | 121 +++++++++++++++++-----------------
src/orca/{pluglib => }/manager.py | 4 +-
src/orca/orca.py | 8 --
src/orca/plug_event_manager.py | 10 ++-
src/orca/plugin_manager.py | 5 +-
src/orca/pluglib/Makefile.am | 9 ---
src/orca/pluglib/__init__.py | 26 -------
src/orca/script.py | 1 +
src/orca/scripts/default.py | 31 ++++++---
src/orca/settings_manager.py | 4 +
11 files changed, 121 insertions(+), 131 deletions(-)
---
diff --git a/src/orca/baseplugins/test.py b/src/orca/baseplugins/test.py
index 0e0c072..65d401d 100644
--- a/src/orca/baseplugins/test.py
+++ b/src/orca/baseplugins/test.py
@@ -27,20 +27,27 @@ __copyright__ = "Copyright (c) 2011 Consorcio Fernando de los Rios."
__license__ = "LGPL"
import time
-from pluglib.interfaces import *
-import input_event as input_event
+from orca.interfaces import *
+import orca.input_event as input_event
-from settings_manager import SettingsManager
+from orca.settings_manager import SettingsManager
-from orca_i18n import _ # for gettext support
-from orca_i18n import ngettext # for ngettext support
-from orca_i18n import C_ # to provide qualified translatable strings
+from orca.orca_i18n import _ # for gettext support
+from orca.orca_i18n import ngettext # for ngettext support
+from orca.orca_i18n import C_ # to provide qualified translatable strings
-import notification_messages as notification_messages
+import orca.notification_messages as notification_messages
-from event_manager import EventManager
+from orca.plug_event_manager import PluginEventManager, PluginEvent, plug_event_manager as pem
+
+from orca.event_manager import EventManager
_eventManager = EventManager()
+import pdb
+pdb.set_trace()
+import orca.scripts.default
+#print Script
+
_settingsManager = SettingsManager()
if _settingsManager is None:
print "Could not load the settings manager. Exiting."
@@ -52,12 +59,20 @@ class testPlugin(IPlugin, IPresenter):
description = 'A testing plugin for code tests'
version = '0.1pre'
authors = ['J. Ignacio Alvarez <neonigma gmail com>']
- website = 'http://fontanon.org'
+ website = 'http://www.emergya.es'
icon = 'gtk-missing-image'
def __init__(self):
print 'Hello World (plugin started)!'
+ def registerEvent(self, name, function=None, data=None):
+ event = PluginEvent(name)
+ pem.add_event(event)
+ pem.connect(name, function, data)
+
+ def presentTimeEvent(self):
+ print "present time event"
+
def getPresentTimeHandler(self, function):
return input_event.InputEventHandler(
function,
diff --git a/src/orca/pluglib/interfaces.py b/src/orca/interfaces.py
similarity index 77%
rename from src/orca/pluglib/interfaces.py
rename to src/orca/interfaces.py
index d19b03f..f721d77 100644
--- a/src/orca/pluglib/interfaces.py
+++ b/src/orca/interfaces.py
@@ -190,67 +190,66 @@ class ICommand(object):
def get_command(command_name):
"""Return a command in this environment"""
-import script
-
-class Messaging(script.Script):
-
- def presentMessage(self, fullMessage, briefMessage=None, voice=None):
- """Convenience method to speak a message and 'flash' it in braille.
-
- Arguments:
- - fullMessage: This can be a string or a list. This will be presented
- as the message for users whose flash or message verbosity level is
- verbose.
- - briefMessage: This can be a string or a list. This will be presented
- as the message for users whose flash or message verbosity level is
- brief. Note that providing no briefMessage will result in the full
- message being used for either. Callers wishing to present nothing as
- the briefMessage should set briefMessage to an empty string.
- - voice: The voice to use when speaking this message. By default, the
- "system" voice will be used.
- """
-
- print "Called presentMessage..."
-
- if not fullMessage:
- return
-
- if briefMessage is None:
- briefMessage = fullMessage
-
- if _settingsManager.getSetting('enableSpeech'):
- if _settingsManager.getSetting('messageVerbosityLevel') \
- == settings.VERBOSITY_LEVEL_BRIEF:
- message = briefMessage
- else:
- message = fullMessage
- if message:
- voice = voice or self.voices.get(settings.SYSTEM_VOICE)
- speech.speak(message, voice)
-
- if (_settingsManager.getSetting('enableBraille') \
- or _settingsManager.getSetting('enableBrailleMonitor')) \
- and _settingsManager.getSetting('enableFlashMessages'):
- if _settingsManager.getSetting('flashVerbosityLevel') \
- == settings.VERBOSITY_LEVEL_BRIEF:
- message = briefMessage
- else:
- message = fullMessage
- if not message:
- return
-
- if isinstance(message[0], list):
- message = message[0]
- if isinstance(message, list):
- message = filter(lambda i: isinstance(i, str), message)
- message = " ".join(message)
-
- if _settingsManager.getSetting('flashIsPersistent'):
- duration = -1
- else:
- duration = _settingsManager.getSetting('brailleFlashTime')
-
- braille.displayMessage(message, flashTime=duration)
+#
+#class Messaging(script.Script):
+#
+# def presentMessage(self, fullMessage, briefMessage=None, voice=None):
+# """Convenience method to speak a message and 'flash' it in braille.
+#
+# Arguments:
+# - fullMessage: This can be a string or a list. This will be presented
+# as the message for users whose flash or message verbosity level is
+# verbose.
+# - briefMessage: This can be a string or a list. This will be presented
+# as the message for users whose flash or message verbosity level is
+# brief. Note that providing no briefMessage will result in the full
+# message being used for either. Callers wishing to present nothing as
+# the briefMessage should set briefMessage to an empty string.
+# - voice: The voice to use when speaking this message. By default, the
+# "system" voice will be used.
+# """
+#
+# print "Called presentMessage..."
+#
+# if not fullMessage:
+# return
+#
+# if briefMessage is None:
+# briefMessage = fullMessage
+#
+# if _settingsManager.getSetting('enableSpeech'):
+# if _settingsManager.getSetting('messageVerbosityLevel') \
+# == settings.VERBOSITY_LEVEL_BRIEF:
+# message = briefMessage
+# else:
+# message = fullMessage
+# if message:
+# voice = voice or self.voices.get(settings.SYSTEM_VOICE)
+# speech.speak(message, voice)
+#
+# if (_settingsManager.getSetting('enableBraille') \
+# or _settingsManager.getSetting('enableBrailleMonitor')) \
+# and _settingsManager.getSetting('enableFlashMessages'):
+# if _settingsManager.getSetting('flashVerbosityLevel') \
+# == settings.VERBOSITY_LEVEL_BRIEF:
+# message = briefMessage
+# else:
+# message = fullMessage
+# if not message:
+# return
+#
+# if isinstance(message[0], list):
+# message = message[0]
+# if isinstance(message, list):
+# message = filter(lambda i: isinstance(i, str), message)
+# message = " ".join(message)
+#
+# if _settingsManager.getSetting('flashIsPersistent'):
+# duration = -1
+# else:
+# duration = _settingsManager.getSetting('brailleFlashTime')
+#
+# braille.displayMessage(message, flashTime=duration)
class IPresenter(object):
"""Allows to operate with presentation plugins"""
diff --git a/src/orca/pluglib/manager.py b/src/orca/manager.py
similarity index 98%
rename from src/orca/pluglib/manager.py
rename to src/orca/manager.py
index de58444..9e3bcda 100644
--- a/src/orca/pluglib/manager.py
+++ b/src/orca/manager.py
@@ -37,7 +37,7 @@ import abc
import store_config
import settings_manager
-from pluglib.interfaces import *
+from interfaces import *
class ModulePluginManager(IPluginManager):
"""A plugin manager that handles with python modules"""
@@ -214,7 +214,7 @@ class ModulePluginManager(IPluginManager):
if self.plugins.has_key(plugin_name):
return self.plugins[plugin_name]['object']
else:
- raise PluginManagerError, 'No plugin named %s' % plugin_name
+ return None
def is_plugin_loaded(self, plugin_name):
if self.plugins.has_key(plugin_name):
diff --git a/src/orca/orca.py b/src/orca/orca.py
index 12233ee..013b2a4 100644
--- a/src/orca/orca.py
+++ b/src/orca/orca.py
@@ -64,13 +64,6 @@ import settings
from orca_i18n import _
from orca_i18n import ngettext
-dirname, filename = os.path.split(os.path.abspath(__file__))
-sys.path.insert(0, os.path.join(dirname, 'pluglib'))
-sys.path.insert(1, dirname)
-
-import pluglib
-from plugin_manager import plugmanager
-
class Options:
"""Class to handle getting run-time options."""
@@ -116,7 +109,6 @@ class Options:
self._getDebug()
self._getHelp()
- plugmanager.scan_plugins()
def validate(self):
"""Parses the list of options in arglist and removes those which are
diff --git a/src/orca/plug_event_manager.py b/src/orca/plug_event_manager.py
index 935c259..6e97f04 100644
--- a/src/orca/plug_event_manager.py
+++ b/src/orca/plug_event_manager.py
@@ -19,7 +19,7 @@
import sys
-class Event:
+class PluginEvent:
def __init__(self, name):
self.name = name
self.listeners = {}
@@ -50,10 +50,13 @@ class Event:
else:
function(data)
-class EventManager:
+class PluginEventManager:
def __init__(self):
self.events = {}
+ def list_events(self):
+ return self.events
+
def add_event(self, Event):
self.events[Event.name] = Event
@@ -61,6 +64,7 @@ class EventManager:
self.events.pop(Event.name)
def connect(self, event, function, data=None):
+ print "and the function is: " + str(function)
self.events[event].add(function, data)
def disconnect(self, event, function):
@@ -76,4 +80,4 @@ class EventManager:
print "ERROR: Event "+str(event)+" not in queue"
return
-event_manager = EventManager()
+plug_event_manager = PluginEventManager()
diff --git a/src/orca/plugin_manager.py b/src/orca/plugin_manager.py
index ead6d60..44010d0 100644
--- a/src/orca/plugin_manager.py
+++ b/src/orca/plugin_manager.py
@@ -21,9 +21,8 @@
import os
import gobject
-import pluglib
-from pluglib.manager import ModulePluginManager
-from pluglib.interfaces import PluginManagerError
+from manager import ModulePluginManager
+from interfaces import PluginManagerError
import store_config
diff --git a/src/orca/script.py b/src/orca/script.py
index 3f77636..7d6822e 100644
--- a/src/orca/script.py
+++ b/src/orca/script.py
@@ -68,6 +68,7 @@ class Script:
Arguments:
- app: the Python Accessible application to create a script for
"""
+
self.app = app
if app:
diff --git a/src/orca/scripts/default.py b/src/orca/scripts/default.py
index d489579..b2b2db4 100644
--- a/src/orca/scripts/default.py
+++ b/src/orca/scripts/default.py
@@ -33,6 +33,8 @@ __license__ = "LGPL"
import locale
import time
+print "INTENTOOOOOO"
+
import orca.orca as orca
_settingsManager = getattr(orca, '_settingsManager')
@@ -91,6 +93,7 @@ class Script(script.Script):
"""
script.Script.__init__(self, app)
+ self.app = app
self.flatReviewContext = None
self.windowActivateTime = None
self.lastReviewCurrentEvent = None
@@ -145,12 +148,6 @@ class Script(script.Script):
"""Defines InputEventHandler fields for this script that can be
called by the key and braille bindings."""
- from plugin_manager import plugmanager
- plugmanager.scan_plugins()
- plugmanager.get_plugins()
-
- from plug_event_manager import EventManager, Event, plug_event_manager as pem
-
self.inputEventHandlers["routePointerToItemHandler"] = \
input_event.InputEventHandler(
Script.routePointerToItem,
@@ -1073,11 +1070,22 @@ class Script(script.Script):
#
_("Toggle mouse review mode."))
- testPluginObj = plugmanager.get_plugin_object_by_name("test")
+ from plugin_manager import plugmanager
- if testPluginObj:
- self.inputEventHandlers["presentTimeHandler"] = testPluginObj.getPresentTimeHandler(Script.presentTime)
- self.inputEventHandlers["presentDateHandler"] = testPluginObj.getPresentDateHandler(Script.presentDate)
+ plugmanager.scan_plugins()
+ plugmanager.get_plugins()
+
+ plugin_active = plugmanager.is_plugin_enabled("test")
+
+ if plugin_active is True:
+ testPluginObj = plugmanager.get_plugin_object_by_name("test")
+
+ if testPluginObj:
+ self.inputEventHandlers["presentTimeHandler"] = testPluginObj.getPresentTimeHandler(Script.presentTime)
+ self.inputEventHandlers["presentDateHandler"] = testPluginObj.getPresentDateHandler(Script.presentDate)
+
+ # my checks
+ testPluginObj.registerEvent("event1", self.presentTime)
# self.inputEventHandlers["presentTimeHandler"] = \
# input_event.InputEventHandler(
@@ -1111,6 +1119,9 @@ class Script(script.Script):
self.inputEventHandlers.update(notification_messages.inputEventHandlers)
+ def sayHello():
+ print "Hello from default!"
+
def getInputEventHandlerKey(self, inputEventHandler):
"""Returns the name of the key that contains an inputEventHadler
passed as argument
diff --git a/src/orca/settings_manager.py b/src/orca/settings_manager.py
index 5aa4aa6..4231b0c 100644
--- a/src/orca/settings_manager.py
+++ b/src/orca/settings_manager.py
@@ -595,3 +595,7 @@ def getRealValues(prefs):
#for key in prefs.keys():
# prefs[key] = getValueForKey(prefs, key)
return prefs
+
+from plugin_manager import plugmanager
+plugmanager.scan_plugins()
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]