Rolled in a bunch of fixes for the command system

This commit is contained in:
red-agent 2009-09-13 00:22:17 +03:00
parent 981572f79d
commit cae86299e4
3 changed files with 5 additions and 9 deletions

View File

@ -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(),

View File

@ -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)

View File

@ -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