aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Actually, don't give contexts to timers that aren't contextual. (e.g. pesistentGravatar jesopo2018-10-131-2/+2
| | | | timers)
* Timers._add takes a "context" paramGravatar jesopo2018-10-131-1/+1
|
* a Timer object can have a context yet not be a contextual timerGravatar jesopo2018-10-131-1/+1
|
* Correctly remove contextual timers from src/Timers.pyGravatar jesopo2018-10-131-3/+9
|
* Use Timers.get_timers() instead of Timers.timersGravatar jesopo2018-10-121-1/+1
|
* Pass context-wrapped timers to each module, add ModuleManager.BaseModule.on_loadGravatar jesopo2018-10-122-4/+7
|
* Add TimersContext, to be able to purge timers when modules are unloadedGravatar jesopo2018-10-122-8/+41
|
* Use decimal.Decimal in utils.parse_numberGravatar jesopo2018-10-121-9/+12
|
* Actually pass format args to ValueErrors in utils.parse_numberGravatar jesopo2018-10-121-2/+2
|
* int(number) after we've checked .isdigit() in utils.parse_numberGravatar jesopo2018-10-121-0/+1
|
* Add utils.parse_number, to turn 1k/1m/1b in to 1_000/1_000_000/1_000_000_000Gravatar jesopo2018-10-121-0/+19
|
* Improve "non-complete line" TRACE logGravatar jesopo2018-10-111-2/+2
|
* TRACE log when we receive and buffer a non-complete lineGravatar jesopo2018-10-111-0/+3
|
* Add !syncmodes in modules/auto_mode.py, fire internal.identified inGravatar jesopo2018-10-111-0/+3
| | | | | modules/permissions.py and catch it in modules/auto_mode.py to give users modes when they identify using the internal identity mechanism
* Add fallback_encoding to utils.http.get_url, in case a page has no implicitGravatar jesopo2018-10-101-2/+3
| | | | encoding
* .decode data prior to json.loads in utils.http.get_urlGravatar jesopo2018-10-101-2/+1
|
* Fix syntax error for throwing a timeout when signal.alarm firesGravatar jesopo2018-10-101-1/+3
|
* .decode plaintext returns from utils.http.get_urlGravatar jesopo2018-10-101-0/+1
|
* Use signal.alarm to Deadline utils.http.get_url and throw useful exceptionsGravatar jesopo2018-10-101-16/+28
|
* Set a max size of 100mb for utils.http.get_urlGravatar jesopo2018-10-101-3/+7
|
* Change utils.http to use requestsGravatar jesopo2018-10-101-83/+30
|
* Remove debug print in src.utils.httpGravatar jesopo2018-10-091-1/+0
|
* Return response code from utils.http.get_url when code=True and soup=TrueGravatar jesopo2018-10-091-4/+11
|
* Don't continue trying to use None dataGravatar jesopo2018-10-081-0/+2
|
* Support post_data in utils.http.get_urlGravatar jesopo2018-10-081-2/+7
|
* Support multiple types of comments in utils.get_hashflagsGravatar jesopo2018-10-071-3/+11
|
* clear _trigger_functions after we've called all the waiting functionsGravatar jesopo2018-10-071-0/+3
|
* Optionally take a function in IRCBot.trigger, a function to be called on theGravatar jesopo2018-10-071-1/+8
| | | | main thread
* Socket on_read functions take 2 args (socket, string)Gravatar jesopo2018-10-071-1/+1
|
* This is a far less complicated way of triggering epoll.pollGravatar jesopo2018-10-072-45/+5
|
* Research suggests _config and config are not synonymousGravatar Evelyn2018-10-061-1/+1
|
* Add control-socket to bot.conf.example, only start up control socket is a unixGravatar jesopo2018-10-061-5/+6
| | | | domain socket location is provided
* 'control_socket_client' -> '_control_client' in src/IRCBot.pyGravatar jesopo2018-10-061-3/+3
|
* Remove debug print in src/ControlSocket.pyGravatar jesopo2018-10-061-1/+0
|
* Add a ControlSocket client to IRCBot.py, use it to trigger the epoll loop when aGravatar jesopo2018-10-061-1/+8
| | | | github webhook has been caught!
* Add a way to track non-IRC sockets within the main epoll loop; use this for aGravatar jesopo2018-10-064-16/+139
| | | | unix domain control socket!
* Add database.find_by_setting, send github commits to interested channelsGravatar jesopo2018-10-061-0/+13
|
* 'ssl-certificate'/'ssl-key' -> 'tls-certificate'/'tls-key'Gravatar jesopo2018-10-051-2/+2
|
* Typo in utils, 'line.replace[3:]' -> 'line[3:]'Gravatar jesopo2018-10-041-1/+1
|
* Checking for the presence of the seperator in the return from .partition is aGravatar jesopo2018-10-041-2/+2
| | | | more "correct" way of doing this
* Non-present hashflag values should be None, not empty stringGravatar jesopo2018-10-041-1/+1
|
* Simplify hashflag parsingGravatar jesopo2018-10-041-6/+1
|
* Try calling module.unload() (if it exists) when unloading a moduleGravatar jesopo2018-10-041-0/+5
|
* IRCChannel.send_part should have a `self` param!Gravatar jesopo2018-10-041-1/+1
|
* `self.lock.acquire()` should be after epoll.poll has returnedGravatar jesopo2018-10-041-1/+1
|
* Move 'top 10' logic to utils, add !wordiest to modules/words.pyGravatar jesopo2018-10-041-0/+11
|
* Typo in src/IRCChannel.py. 'del self.user_modes' -> 'del self.user_modes[user]'Gravatar jesopo2018-10-041-1/+1
|
* Print user status symbols in modules/print_activity.pyGravatar jesopo2018-10-031-5/+10
|
* 'mode_prefixes' -> prefix_modes and prefix_symbolsGravatar jesopo2018-10-032-8/+9
|
* Use docstring key, not value, as a key.Gravatar jesopo2018-10-031-3/+3
|