Moved QueueMessage and subclasses from hooke.ui to the more central hooke.engine.
[hooke.git] / hooke / ui / __init__.py
index ad09e0236135c6b8fa0b91e0ede1f74e0c407dbc..1b939144b6f2c1c1f693bca8088891507661e982 100644 (file)
 import ConfigParser as configparser
 
 from .. import version
-from ..license import short_license
 from ..config import Setting
+from ..engine import CloseEngine, CommandMessage
 from ..util.pluggable import IsSubclass, construct_odict
 
+try:
+    from ..license import short_license
+except ImportError, e:
+    import logging
+    logging.warn('Could not load short_license from hooke.license')
+    from .. import __license__
+    def short_license(extra_info, **kwargs):
+        return __license__
+
 
 USER_INTERFACE_MODULES = [
     'commandline',
@@ -39,25 +48,6 @@ USER_INTERFACE_SETTING_SECTION = 'user interfaces'
 """
 
 
-class QueueMessage (object):
-    def __str__(self):
-        return self.__class__.__name__
-
-class CloseEngine (QueueMessage):
-    pass
-
-class CommandMessage (QueueMessage):
-    """A message storing a command to run, `command` should be a
-    :class:`hooke.command.Command` instance, and `arguments` should be
-    a :class:`dict` with `argname` keys and `value` values to be
-    passed to the command.
-    """
-    def __init__(self, command, arguments=None):
-        self.command = command
-        if arguments == None:
-            arguments = {}
-        self.arguments = arguments
-
 class UserInterface (object):
     """A user interface to drive the :class:`hooke.engine.CommandEngine`.
     """
@@ -103,7 +93,7 @@ Hooke version %s
 
     def _playlist_status(self, playlist):
         if len(playlist) > 0:
-            return '%s (%s/%s)' % (playlist.name, playlist._index + 1,
+            return '%s (%s/%s)' % (playlist.name, playlist.index() + 1,
                                    len(playlist))
         return 'The playlist %s does not contain any valid force curve data.' \
             % self.name