Commit Graph

45 Commits

Author SHA1 Message Date
Daniel Folkinshteyn
b12d8a8a04 Use the ircutils.standardSubsitute function upon factoid output.
This allows inclusion of the usual standardSubstitute vars within factoids.

There is no config to disable this, since it is possible to escape the substitutions
by simply doubling the dollar signs, as per the python documentation:
http://docs.python.org/library/string.html#template-strings

Thus, if you want a factoid to output a literal "$channel", for example, all
you'd need to do is use "$$channel" in your factoid text, which will come out
as "$channel" when said by the bot.

Also added tests for this new behavior.
2011-02-25 19:18:02 +01:00
Daniel Folkinshteyn
8ed94257ba some enhancements Factoids.rank:
output options: plain key output, and alpha sorting for plain output.
allow an optional argument for how many ranked facts to show.
2011-02-25 19:16:48 +01:00
Daniel Folkinshteyn
d433bfc8f0 for Factoids: make approximate fuzzy key searches also when invoking whatis directly.
also add tests.
while there, remove useless config setting for replyinvalidcommand testing, since it is true by default.
2011-02-25 19:13:27 +01:00
Daniel Folkinshteyn
e46948400d take out getDb override from factoids, since i have changed it upstream, in plugins.__init__.py, to use proper sqlite3 syntax. 2011-02-25 18:54:51 +01:00
Daniel Folkinshteyn
2d718d31bb Fix factoids bug ,Factoids.showFactoidIfOnlyOneMatch feature is broken when used off-channel:
https://sourceforge.net/tracker/?func=detail&aid=2965589&group_id=58965&atid=489447
2011-02-25 18:48:56 +01:00
Daniel Folkinshteyn
b306c5440f add damerau-levenshtein distance to supybot.utils.seq
use it in factoids invalid command to match possible typos
write tests for same.
2011-02-25 18:36:09 +01:00
Daniel Folkinshteyn
9b516480af add tests for factoids.alias 2011-02-25 18:35:37 +01:00
Daniel Folkinshteyn
50ac5a05e1 delete leftover debug-prints 2011-02-25 18:35:30 +01:00
Daniel Folkinshteyn
366c2b7c17 add factoids alias function, to link more keys to existing factoids. 2011-02-25 18:35:17 +01:00
Daniel Folkinshteyn
436d2bade8 mod factoids plugin to use a separate key-value relationship table
this avoids duplication, and allows one to set a bunch of aliases for a factoid, without creating duplicates of the same fact content.
2011-02-25 18:33:40 +01:00
Daniel Folkinshteyn
471921eab6 make 'factoids info' include usage count in output. add test for same. 2011-02-24 21:03:30 +01:00
nanotube
e71ee8fbb1 don't give up too easily with invalid command, instead search factoid keys with wildcard first. 2011-02-24 21:02:39 +01:00
nanotube
b922890b6f add rank test to factoids, update factoids test code to sqlite3 2011-02-24 21:01:19 +01:00
nanotube
5c0596f484 rename factrank to just rank for consistency 2011-02-24 21:01:08 +01:00
Daniel Folkinshteyn
f71464adb3 This merges an old branch i had for sqlite3 factoids+moobotfactoids.
fix up moobotfactoids+factoids to use the sqlite text_factory=str,
also fixed up a test for factoid search, since it now sorts keys alphabetically.
2011-02-24 20:55:24 +01:00
Daniel Folkinshteyn
c0ebdddb47 start factoid rankings from 1 not from 0 2011-02-24 20:09:00 +01:00
Daniel Folkinshteyn
34f8557cfd remove rogue test-print 2011-02-24 20:06:35 +01:00
Daniel Folkinshteyn
7351ec1702 sort keys in factoid search output by alphabetically by key name. 2011-02-24 20:03:28 +01:00
Daniel Folkinshteyn
d2ac0e742a implement factoid usage counter 2011-02-24 20:03:03 +01:00
Valentin Lorentz
3582286658 Fix Factoids 2011-01-02 09:31:07 +01:00
Valentin Lorentz
4d957e858e Factoids: localize a string 2010-11-11 12:39:13 +01:00
Valentin Lorentz
9ca812c83d Merge branch 'i18n' into l10n-fr 2010-11-11 12:38:32 +01:00
Valentin Lorentz
11f7033ee0 Factoids: Internationalize a config variable 2010-11-11 12:37:21 +01:00
Valentin Lorentz
9b67f670c2 Localize Dict, Dunno, Factoids, Filter, and Format 2010-10-27 19:48:46 +02:00
Valentin Lorentz
d14bb0cc16 Internationalize ChannelLogger, Ctcp, Dict, Dunno, Factoids 2010-10-17 11:22:07 +02:00
James Vega
fe07ea1146 Fix the previous Factoids fix.
channel needs to be part of the args list.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-04-11 11:04:45 -04:00
James Vega
209facd242 Factoids: Pass channel to whatis when being called from search
Thanks to Daniel Folkinshteyn for the fix.

Closes: Sf#2965589

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-04-11 10:36:55 -04:00
James Vega
10f5a12b7e Factoids: Prevent empty key or value when adding a factoid.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-02-05 18:50:48 -05:00
James Vega
927c8c963a Use the correct URLs for the PySqlite website.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-21 22:48:04 -04:00
James Vega
f475525237 Update references to PySqlite URL
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-21 22:43:26 -04:00
James Vega
4c9efc044b Replace Factoids.factoidPrefix with Factoids.format
Factoids.format makes use of registry.TemplatedString so the user can specify
excactly how they want the factoid reply to be formed.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-15 22:37:59 -04:00
James Vega
cca36ed9f2 Factoids: Add simpleSyntax argument to getCommandHelp.
It helps to properly override the parent class's method so that Misc.help
doesn't error when trying to get Factoids.learn's help.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-18 11:09:18 -04:00
James Vega
0615846ab3 Fix getCommandHelp's use of dynamic.msg
Default chan to None so we can still retrieve a config value if dynamic.msg
isn't valid (e.g., when running supybot-plugin-doc).

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-28 08:14:46 -04:00
James Vega
4285df0809 Factoids: Fix thinko in getCommandHelp
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-23 16:05:31 -04:00
James Vega
d6f6f32219 Factoids: Add an __init__ function which calls our parents' __init__s
This ensures that we actually get self.dbCache defined in Factoids

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-06 17:30:53 -04:00
James Vega
46a4076988 Add .gitignore
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-02-27 14:17:31 -05:00
James Vega
0bc16641b9 Use the timestamp formatter instead of duplicating the code 2009-03-11 13:37:26 -04:00
James Vega
1f3d9e64a3 Add test to ensure quoted factoids are preserved 2009-03-11 13:37:26 -04:00
James Vega
08a0531bf7 Update Factoids.getCommandHelp to respect supybot.reply.showSimpleSyntax 2009-03-11 13:37:26 -04:00
James Vega
3908e989c5 plugins/Factoids: Dynamically generate the help string using the value of supybot.plugins.Factoids.learnSeparator 2006-08-28 13:14:21 +00:00
James Vega
a3e4fc5b1d Change the modeline to use softtabstop instead of tabstop. 2006-02-11 15:52:51 +00:00
James Vega
5c59539145 Change pysqlite.sf.net references to pysqlite.org 2005-11-03 05:31:24 +00:00
James Vega
116f598caa Re-add manual argument parsing since some stuff is a bit complex for wrap. 2005-04-18 01:58:57 +00:00
James Vega
979cbd551d Fix some bugs in the Factoids conversion. 2005-04-17 21:38:17 +00:00
James Vega
6b38346b5a Factoids should be under plugins/ 2005-04-17 21:01:12 +00:00