Ben Kurtovic
b290582dbf
added a bunch of new methods to User in wikitools; added one user-related exception to wikitools; moved .get_rights() call in IRC command !rights to .get_groups(), because get_rights() now returns actual rights (thanks to the API)
пре 13 година
Ben Kurtovic
28cbbd7221
afcAFCStatus and Rights IRC commands now use wikitools
пре 13 година
Ben Kurtovic
76113a3f6a
Cleaning up slightly and adding some more methods:
User: added .get_rights() (working) and .exists() (skeleton).
Page: added .exists() (skeleton); store text as ._content; get() has a force_reload argument.
Category: fixed missing self in .get_members().
Site: self.__api -> self._api; self.__sql -> self._sql
пре 13 година
Ben Kurtovic
f4219ffad0
More work on the early stages of wikitools:
tools.get_site() returns an actual Site object, thanks to tools.functions._get_site_object_from_dict().
Site objects now have a working (but primitive) .api_query(), .get_page(), .get_category(), and .get_user().
Page objects now have a working .get(), for getting page content from the API.
Category is now a subclass of Page, and has its own .get_members(), which returns a list of titles.
Still need to implement proper namespace logic in pages.
пре 13 година
Ben Kurtovic
edfa1d2d9e
beginning wikitools core development with a few skeleton classes and one (nearly) working function, tools.get_site() (doesn't return a Site object yet)
пре 13 година
Ben Kurtovic
a84d25bc9d
clarify what verify_config() returns
пре 13 година
Ben Kurtovic
50f1f38fe3
list, not tuple
пре 13 година
Ben Kurtovic
f81229a999
don't give a status report to ourselves when we join the AFC channel
пре 13 година
Ben Kurtovic
5be9dea1d5
docstrings in Tasks command; make !task work with !tasks and !threads; make the afc_statistics task skeleton print kwargs in run() for testing
пре 13 година
Ben Kurtovic
7bbffaed92
cleaning up existing task skeletons and making task_name class-wide instead of instance-wide
пре 13 година
Ben Kurtovic
5756e99085
making task_name class-wide instead of instance-wide; better docs for BaseTask; slight cleanup in task_manager
пре 13 година
Ben Kurtovic
e6b3f4c616
tweaking aggregate algorithm to better match {{AFC status}}; cleanup and docstringing on methods
пре 13 година
Ben Kurtovic
b6873cf992
missed a couple selfs
пре 13 година
Ben Kurtovic
bbc5cc6e7c
adding a new command, !report, as AFCReport in irc/commands/afc_report.py
пре 13 година
Ben Kurtovic
c44bc87b93
http://en.wikipedia.org/wiki/ -> http://enwp.org/
пре 13 година
Ben Kurtovic
21e87d9d3c
in AFCStatus, use 'if x.y and x.z in [a, b, c]' instead of 'if x.y and (x.z == a or x.z == b or x.z ==c)'
пре 13 година
Ben Kurtovic
e5ba64bef8
content -> message, oops
пре 13 година
Ben Kurtovic
12c71675d3
adding a !remind command from old EarwigBot, which spawns a new thread that sleeps until its time is up, so impimplementing in !tasks list; {} -> {0}, etc in tasks.py for Python 2.6 support; stripping indentation on blank lines in tasks.py
пре 13 година
Ben Kurtovic
413f6c840b
saying user is redundant - removing
пре 13 година
Ben Kurtovic
b99a24fbbd
forgot that I need to insert a space when joining data.args; typo fix
пре 13 година
Ben Kurtovic
ffe05d3463
adding a !rights command to get user rights/groups
пре 13 година
Ben Kurtovic
56738eaede
argh - bugfix in lib/blowfish.py
пре 13 година
Ben Kurtovic
bea5a3bc7e
update message in README to be a tad more verbose (and to match the github description)
пре 13 година
Ben Kurtovic
7dc33cb9af
Merge branch 'feature/config_rewrite' into develop
пре 13 година
Ben Kurtovic
e11cbffa92
uh, right...
пре 13 година
Ben Kurtovic
7311ae4bb8
switching from XML config to JSON config - it's just much easier to parse and little easier on the eyes (not to mention shorter in length)
пре 13 година
Ben Kurtovic
a06e35ecef
moving IRC class modules (base_command.py, connection.py, data.py, rc.py) to irc/classes/
пре 13 година
Ben Kurtovic
d57f2623d2
parse remaining parts of config.xml; getting rid of config.watcher and moving to irc/watcher_logic.py; convert irc/watcher.py and wiki/task_manager.py to new config system; other changes/fixes/whatever
пре 13 година
Ben Kurtovic
e21a4dfb76
converting four IRC command classes to use new config system; everything's been converted except for irc/watcher.py and everything in wiki/
пре 13 година
Ben Kurtovic
430ba061af
store config differently (in five separate global variables instead of one) to make accessing it cleaner; convert core/main.py to new config system as well as irc/frontend.py -- both seem to be working
пре 13 година
Ben Kurtovic
848ac58e7a
dramatically simplify error handling with !encrypt/!decrypt irc commands, thanks to previous commit
пре 13 година
Ben Kurtovic
814c9efdce
nicer error message that actually tells us what's going on, thanks to the changes in lib.blowfish upstream (on develop)
пре 13 година
Ben Kurtovic
2c7b684fa0
simplify exceptions into four classes instead of eight; make error messages more verbose
пре 13 година
Ben Kurtovic
8e5af3dff8
import lib.blowfish in core.config and decrypt passwords correctly; Exception -> Error in custom config exception names
пре 13 година
Ben Kurtovic
db0b125897
specify core/main.py as an absolute path, so we don't have to run 'python earwigbot.py' from within earwigbot/, but we can also do 'python /path/to/earwigbot.py'
пре 13 година
Ben Kurtovic
d9dd0a8bd8
Merge branch 'feature/cryptography' into develop
пре 13 година
Ben Kurtovic
f90167e8e7
blowfish.encrypt(key, plaintext), blowfish.decrypt(key, cyphertext); clean up certain things; 'python lib/blowfish.py' is interactive; implement blowfish in Cryptography()
пре 13 година
Ben Kurtovic
1e89d2a06f
new blowfish.py module, some changes in Cryptography(), LICENSE cleanup
пре 13 година
Ben Kurtovic
02b8fbdd1b
ugh I am an idiot
пре 13 година
Ben Kurtovic
369b60b823
adding Cryptography() IRC command class with hash functions via hashlib
пре 13 година
Ben Kurtovic
94848ab0bc
wrap parse_config() to catch ConfigParseExceptions and report them to the user cleanly; some minor doc changes.
пре 13 година
Ben Kurtovic
6869900b65
core/config.py can now parse the <irc> tag fully; added some new functions that I pulled out of parse_components(); added stubs for encrypting/decrypting passwords; nitpick in core/main.py
пре 13 година
Ben Kurtovic
7c8d3a33ab
more config-parsing backbone work; parsing the <components> tag is functional; some other cleanup/changes
пре 13 година
Ben Kurtovic
26e0058ca3
allow a default value for attribute_to_bool(); rework config.xml structure slightly
пре 13 година
Ben Kurtovic
a568ec6777
lots of work on config.py, earwigbot.py, and main.py; TODO: actually parse config files; convert components to new config format; make_new_config()
пре 13 година
Ben Kurtovic
c8add512f4
dropping config/ subdirectory in favor of a single config.xml file, located in the bot's root dir, with encrypted passwords instead of a secure.xml file
пре 13 година
Ben Kurtovic
13cfffb5c0
making entire config/ folder ignored by git; there's no reason to track this bot-specific information
пре 13 година
Ben Kurtovic
e105a8dd78
some stuff; nothing really substantial and probably doesn't work, but I wanted to get this out on paper
пре 13 година
Ben Kurtovic
d3abfc3370
convert README to markdown (hopefully)
пре 13 година
Ben Kurtovic
e96189593d
removed config check from earwigbot.py launcher
пре 13 година