diff --git a/src/chat_control.py b/src/chat_control.py index dc259dfbef323140c3cfdaf130b7c29b7e69881a..66e13114b2ae7aa2072f0e3dddb1b0a1eeb12514 100644 --- a/src/chat_control.py +++ b/src/chat_control.py @@ -82,8 +82,6 @@ class ChatControlBase(MessageControl, CommonCommands): '''A base class containing a banner, ConversationTextview, MessageTextView ''' - DISPATCHED_BY = CommonCommands - def make_href(self, match): url_color = gajim.config.get('urlmsgcolor') return '<a href="%s"><span color="%s">%s</span></a>' % (match.group(), diff --git a/src/commands/framework.py b/src/commands/framework.py index c5a2fe84c443e93741f687b246b1fe9cdd9795e8..86e890db92ace7dbc61acb29cac7c9f1f2665b93 100644 --- a/src/commands/framework.py +++ b/src/commands/framework.py @@ -27,12 +27,11 @@ class CommandInternalError(Exception): class CommandError(Exception): def __init__(self, message=None, command=None, name=None): + self.command = command + self.name = name + if command: - self.command = command self.name = command.first_name - elif name: - self.command = None - self.name = name if message: super(CommandError, self).__init__(message) @@ -343,7 +342,7 @@ class CommandProcessor(object): # Quite complex piece of regular expression logic. ARG_PATTERN = re.compile(r'(\'|")?(?P<body>(?(1).+?|\S+))(?(1)\1)') - OPT_PATTERN = re.compile(r'--?(?P<key>[\w-]+)(?:(?:=|\s)(\'|")?(?P<value>(?(2)[^-]+?|[^-\s]+))(?(2)\2))?') + OPT_PATTERN = re.compile(r'(?<!\w)--?(?P<key>[\w-]+)(?:(?:=|\s)(\'|")?(?P<value>(?(2)[^-]+?|[^-\s]+))(?(2)\2))?') EXPAND_SHORT_OPTIONS = True @@ -509,7 +508,7 @@ class CommandProcessor(object): return False text = text[len(self.COMMAND_PREFIX):] - text = text.lstrip() + text = text.strip() parts = text.split(' ', 1) diff --git a/src/commands/middleware.py b/src/commands/middleware.py index a0db07bdd71fcf5a3ddb5fe0f25068f4efb9ae67..839c82c3ee2af2bc9ee0694cb48aa83bc841553d 100644 --- a/src/commands/middleware.py +++ b/src/commands/middleware.py @@ -19,7 +19,6 @@ would be dropped in. Defines a little bit of scaffolding to support interaction between the two and a few utility methods so you don't need to dig up the host code to write basic commands. """ - from types import StringTypes from framework import CommandProcessor, CommandError from traceback import print_exc