[orca/orca-gnome3: 18/87] Chaos uploaded, trying to import default script from test plugin



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]