Rolled in a bunch of fixes for the command system
This commit is contained in:
parent
981572f79d
commit
cae86299e4
|
@ -82,8 +82,6 @@ class ChatControlBase(MessageControl, CommonCommands):
|
||||||
'''A base class containing a banner, ConversationTextview, MessageTextView
|
'''A base class containing a banner, ConversationTextview, MessageTextView
|
||||||
'''
|
'''
|
||||||
|
|
||||||
DISPATCHED_BY = CommonCommands
|
|
||||||
|
|
||||||
def make_href(self, match):
|
def make_href(self, match):
|
||||||
url_color = gajim.config.get('urlmsgcolor')
|
url_color = gajim.config.get('urlmsgcolor')
|
||||||
return '<a href="%s"><span color="%s">%s</span></a>' % (match.group(),
|
return '<a href="%s"><span color="%s">%s</span></a>' % (match.group(),
|
||||||
|
|
|
@ -27,12 +27,11 @@ class CommandInternalError(Exception):
|
||||||
|
|
||||||
class CommandError(Exception):
|
class CommandError(Exception):
|
||||||
def __init__(self, message=None, command=None, name=None):
|
def __init__(self, message=None, command=None, name=None):
|
||||||
|
self.command = command
|
||||||
|
self.name = name
|
||||||
|
|
||||||
if command:
|
if command:
|
||||||
self.command = command
|
|
||||||
self.name = command.first_name
|
self.name = command.first_name
|
||||||
elif name:
|
|
||||||
self.command = None
|
|
||||||
self.name = name
|
|
||||||
|
|
||||||
if message:
|
if message:
|
||||||
super(CommandError, self).__init__(message)
|
super(CommandError, self).__init__(message)
|
||||||
|
@ -343,7 +342,7 @@ class CommandProcessor(object):
|
||||||
|
|
||||||
# Quite complex piece of regular expression logic.
|
# Quite complex piece of regular expression logic.
|
||||||
ARG_PATTERN = re.compile(r'(\'|")?(?P<body>(?(1).+?|\S+))(?(1)\1)')
|
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
|
EXPAND_SHORT_OPTIONS = True
|
||||||
|
|
||||||
|
@ -509,7 +508,7 @@ class CommandProcessor(object):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
text = text[len(self.COMMAND_PREFIX):]
|
text = text[len(self.COMMAND_PREFIX):]
|
||||||
text = text.lstrip()
|
text = text.strip()
|
||||||
|
|
||||||
parts = text.split(' ', 1)
|
parts = text.split(' ', 1)
|
||||||
|
|
||||||
|
|
|
@ -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
|
between the two and a few utility methods so you don't need to dig up the host
|
||||||
code to write basic commands.
|
code to write basic commands.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from types import StringTypes
|
from types import StringTypes
|
||||||
from framework import CommandProcessor, CommandError
|
from framework import CommandProcessor, CommandError
|
||||||
from traceback import print_exc
|
from traceback import print_exc
|
||||||
|
|
Loading…
Reference in New Issue