mirror of
https://github.com/Mikaela/Limnoria.git
synced 2025-02-19 23:20:57 +01:00
Alias: Allow pipes in name.
This commit is contained in:
parent
5f94da8660
commit
62d56dee18
@ -113,6 +113,9 @@ def escapeAlias(alias):
|
|||||||
if char == '.':
|
if char == '.':
|
||||||
prefix += '%sd' % index
|
prefix += '%sd' % index
|
||||||
prefixes += 1
|
prefixes += 1
|
||||||
|
elif char == '|':
|
||||||
|
prefix += '%sp' % index
|
||||||
|
prefixes += 1
|
||||||
else:
|
else:
|
||||||
new_alias += char
|
new_alias += char
|
||||||
pre_prefix = 'a%ia' % prefixes
|
pre_prefix = 'a%ia' % prefixes
|
||||||
@ -134,6 +137,8 @@ def unescapeAlias(alias):
|
|||||||
alias = alias[1:]
|
alias = alias[1:]
|
||||||
if alias[0] == 'd':
|
if alias[0] == 'd':
|
||||||
char = '.'
|
char = '.'
|
||||||
|
elif alias[0] == 'p':
|
||||||
|
char = '|'
|
||||||
else:
|
else:
|
||||||
char = alias[0]
|
char = alias[0]
|
||||||
alias = alias[1:]
|
alias = alias[1:]
|
||||||
@ -309,8 +314,6 @@ class Alias(callbacks.Plugin):
|
|||||||
def addAlias(self, irc, name, alias, lock=False):
|
def addAlias(self, irc, name, alias, lock=False):
|
||||||
if self._invalidCharsRe.search(name):
|
if self._invalidCharsRe.search(name):
|
||||||
raise AliasError, 'Names cannot contain spaces or square brackets.'
|
raise AliasError, 'Names cannot contain spaces or square brackets.'
|
||||||
if '|' in name:
|
|
||||||
raise AliasError, 'Names cannot contain pipes.'
|
|
||||||
realName = callbacks.canonicalName(name)
|
realName = callbacks.canonicalName(name)
|
||||||
if name != realName:
|
if name != realName:
|
||||||
s = format(_('That name isn\'t valid. Try %q instead.'), realName)
|
s = format(_('That name isn\'t valid. Try %q instead.'), realName)
|
||||||
@ -329,7 +332,7 @@ class Alias(callbacks.Plugin):
|
|||||||
f = new.instancemethod(f, self, Alias)
|
f = new.instancemethod(f, self, Alias)
|
||||||
except RecursiveAlias:
|
except RecursiveAlias:
|
||||||
raise AliasError, 'You can\'t define a recursive alias.'
|
raise AliasError, 'You can\'t define a recursive alias.'
|
||||||
if '.' in name:
|
if '.' in name or '|' in name:
|
||||||
aliasGroup = self.registryValue('escapedaliases', value=False)
|
aliasGroup = self.registryValue('escapedaliases', value=False)
|
||||||
confname = escapeAlias(name)
|
confname = escapeAlias(name)
|
||||||
else:
|
else:
|
||||||
|
@ -141,6 +141,9 @@ class EscapedAliasTestCase(ChannelPluginTestCase):
|
|||||||
self.assertNotError('alias add spam.egg echo hi')
|
self.assertNotError('alias add spam.egg echo hi')
|
||||||
self.assertResponse('spam.egg', 'hi')
|
self.assertResponse('spam.egg', 'hi')
|
||||||
|
|
||||||
|
self.assertNotError('alias add spam|egg echo hey')
|
||||||
|
self.assertResponse('spam|egg', 'hey')
|
||||||
|
|
||||||
def testWriteDatabase(self):
|
def testWriteDatabase(self):
|
||||||
self.assertNotError('alias add fooo.spam echo egg')
|
self.assertNotError('alias add fooo.spam echo egg')
|
||||||
self.assertResponse('fooo.spam', 'egg')
|
self.assertResponse('fooo.spam', 'egg')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user