From 0998651f61c3491f5cb95c31b6d3416a10dbd5a5 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 1 Oct 2017 10:40:09 +0200 Subject: [PATCH] Aka: Escape the command in help strings, so they can be copy-pasted into @aka add. --- plugins/Aka/plugin.py | 7 +++++-- plugins/Aka/test.py | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/plugins/Aka/plugin.py b/plugins/Aka/plugin.py index 7e47879b5..edcea4a62 100644 --- a/plugins/Aka/plugin.py +++ b/plugins/Aka/plugin.py @@ -507,12 +507,15 @@ class Aka(callbacks.Plugin): lock = ' ' + _('Locked by %s at %s') % (locked_by, locked_at) else: lock = '' + escaped_command = original.replace('\\', '\\\\').replace('"', '\\"') if channel == 'global': doc = format(_('\n\nAlias for %q.%s'), - flexargs, (biggestDollar, _('argument')), original, lock) + flexargs, (biggestDollar, _('argument')), + escaped_command, lock) else: doc = format(_('\n\nAlias for %q.%s'), - channel, flexargs, (biggestDollar, _('argument')), original, lock) + channel, flexargs, (biggestDollar, _('argument')), + escaped_command, lock) f = utils.python.changeFunctionName(f, name, doc) return f diff --git a/plugins/Aka/test.py b/plugins/Aka/test.py index c12bdc7cb..1d4bcc810 100644 --- a/plugins/Aka/test.py +++ b/plugins/Aka/test.py @@ -66,10 +66,10 @@ class AkaChannelTestCase(ChannelPluginTestCase): self.assertError('aka add unlock "echo foo bar baz"') def testAkaHelp(self): - self.assertNotError('aka add slashdot foo') - self.assertRegexp('help slashdot', "Alias for .*foo") + self.assertNotError(r'aka add slashdot "foo \"bar\" baz"') + self.assertRegexp('help slashdot', r'Alias for "foo \\"bar\\" baz".') self.assertNotError('aka add nonascii echo éé') - self.assertRegexp('help nonascii', "Alias for .*echo éé") + self.assertRegexp('help nonascii', r'Alias for "echo éé".') self.assertNotError('aka remove slashdot') self.assertNotError('aka add --channel %s slashdot foo' % self.channel)