Merge pull request #1359 from vlegoff/help

Allow to change suggestion_cutoff and suggestion_maxnum in help
This commit is contained in:
Griatch 2017-07-13 22:53:25 +02:00 committed by GitHub
commit 8813e60b06

View file

@ -49,6 +49,12 @@ class CmdHelp(Command):
# 'help_more' flag to False. # 'help_more' flag to False.
help_more = True help_more = True
# suggestion cutoff, between 0 and 1 (1 => perfect match)
suggestion_cutoff = 0.6
# number of suggestions (set to 0 to remove suggestions from help)
suggestion_maxnum = 5
def msg_help(self, text): def msg_help(self, text):
""" """
messages text to the caller, adding an extra oob argument to indicate messages text to the caller, adding an extra oob argument to indicate
@ -178,8 +184,8 @@ class CmdHelp(Command):
query, cmdset = self.args, self.cmdset query, cmdset = self.args, self.cmdset
caller = self.caller caller = self.caller
suggestion_cutoff = 0.6 suggestion_cutoff = self.suggestion_cutoff
suggestion_maxnum = 5 suggestion_maxnum = self.suggestion_maxnum
if not query: if not query:
query = "all" query = "all"
@ -211,6 +217,8 @@ class CmdHelp(Command):
# Try to access a particular command # Try to access a particular command
# build vocabulary of suggestions and rate them by string similarity. # build vocabulary of suggestions and rate them by string similarity.
suggestions = None
if suggestion_maxnum > 0:
vocabulary = [cmd.key for cmd in all_cmds if cmd] + [topic.key for topic in all_topics] + all_categories vocabulary = [cmd.key for cmd in all_cmds if cmd] + [topic.key for topic in all_topics] + all_categories
[vocabulary.extend(cmd.aliases) for cmd in all_cmds] [vocabulary.extend(cmd.aliases) for cmd in all_cmds]
suggestions = [sugg for sugg in string_suggestions(query, set(vocabulary), cutoff=suggestion_cutoff, maxnum=suggestion_maxnum) suggestions = [sugg for sugg in string_suggestions(query, set(vocabulary), cutoff=suggestion_cutoff, maxnum=suggestion_maxnum)