Ben Kurtovic
7639b76d1c
Merge branch 'develop' into feature/wikitools-core
il y a 13 ans
Ben Kurtovic
f1171ed452
Committing changes made while working on feature/wikitools-core that don't apply to wikitools:
Adding .DS_Store to .gitignore (pesky OS X)
Adding a is_config_loaded() function to core/config.py
Some cleanup in core/config.py: doc clarification, misc fixes...
il y a 13 ans
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)
il y a 13 ans
Ben Kurtovic
28cbbd7221
afcAFCStatus and Rights IRC commands now use wikitools
il y a 13 ans
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
il y a 13 ans
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.
il y a 13 ans
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)
il y a 13 ans
Ben Kurtovic
a84d25bc9d
clarify what verify_config() returns
il y a 13 ans
Ben Kurtovic
50f1f38fe3
list, not tuple
il y a 13 ans
Ben Kurtovic
f81229a999
don't give a status report to ourselves when we join the AFC channel
il y a 13 ans
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
il y a 13 ans
Ben Kurtovic
7bbffaed92
cleaning up existing task skeletons and making task_name class-wide instead of instance-wide
il y a 13 ans
Ben Kurtovic
5756e99085
making task_name class-wide instead of instance-wide; better docs for BaseTask; slight cleanup in task_manager
il y a 13 ans
Ben Kurtovic
e6b3f4c616
tweaking aggregate algorithm to better match {{AFC status}}; cleanup and docstringing on methods
il y a 13 ans
Ben Kurtovic
b6873cf992
missed a couple selfs
il y a 13 ans
Ben Kurtovic
bbc5cc6e7c
adding a new command, !report, as AFCReport in irc/commands/afc_report.py
il y a 13 ans
Ben Kurtovic
c44bc87b93
http://en.wikipedia.org/wiki/ -> http://enwp.org/
il y a 13 ans
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)'
il y a 13 ans
Ben Kurtovic
e5ba64bef8
content -> message, oops
il y a 13 ans
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
il y a 13 ans
Ben Kurtovic
413f6c840b
saying user is redundant - removing
il y a 13 ans
Ben Kurtovic
b99a24fbbd
forgot that I need to insert a space when joining data.args; typo fix
il y a 13 ans
Ben Kurtovic
ffe05d3463
adding a !rights command to get user rights/groups
il y a 13 ans
Ben Kurtovic
56738eaede
argh - bugfix in lib/blowfish.py
il y a 13 ans
Ben Kurtovic
bea5a3bc7e
update message in README to be a tad more verbose (and to match the github description)
il y a 13 ans
Ben Kurtovic
7dc33cb9af
Merge branch 'feature/config_rewrite' into develop
il y a 13 ans
Ben Kurtovic
e11cbffa92
uh, right...
il y a 13 ans
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)
il y a 13 ans
Ben Kurtovic
a06e35ecef
moving IRC class modules (base_command.py, connection.py, data.py, rc.py) to irc/classes/
il y a 13 ans
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
il y a 13 ans
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/
il y a 13 ans
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
il y a 13 ans
Ben Kurtovic
848ac58e7a
dramatically simplify error handling with !encrypt/!decrypt irc commands, thanks to previous commit
il y a 13 ans
Ben Kurtovic
814c9efdce
nicer error message that actually tells us what's going on, thanks to the changes in lib.blowfish upstream (on develop)
il y a 13 ans
Ben Kurtovic
2c7b684fa0
simplify exceptions into four classes instead of eight; make error messages more verbose
il y a 13 ans
Ben Kurtovic
8e5af3dff8
import lib.blowfish in core.config and decrypt passwords correctly; Exception -> Error in custom config exception names
il y a 13 ans
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'
il y a 13 ans
Ben Kurtovic
d9dd0a8bd8
Merge branch 'feature/cryptography' into develop
il y a 13 ans
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()
il y a 13 ans
Ben Kurtovic
1e89d2a06f
new blowfish.py module, some changes in Cryptography(), LICENSE cleanup
il y a 13 ans
Ben Kurtovic
02b8fbdd1b
ugh I am an idiot
il y a 13 ans
Ben Kurtovic
369b60b823
adding Cryptography() IRC command class with hash functions via hashlib
il y a 13 ans
Ben Kurtovic
94848ab0bc
wrap parse_config() to catch ConfigParseExceptions and report them to the user cleanly; some minor doc changes.
il y a 13 ans
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
il y a 13 ans
Ben Kurtovic
7c8d3a33ab
more config-parsing backbone work; parsing the <components> tag is functional; some other cleanup/changes
il y a 13 ans
Ben Kurtovic
26e0058ca3
allow a default value for attribute_to_bool(); rework config.xml structure slightly
il y a 13 ans
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()
il y a 13 ans
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
il y a 13 ans
Ben Kurtovic
13cfffb5c0
making entire config/ folder ignored by git; there's no reason to track this bot-specific information
il y a 13 ans
Ben Kurtovic
e105a8dd78
some stuff; nothing really substantial and probably doesn't work, but I wanted to get this out on paper
il y a 13 ans