Commit graph

643 commits

Author SHA1 Message Date
jesopo
ad8f66c00e Remove debug print 2019-07-28 18:14:44 +01:00
jesopo
163e979f95 move socket creation to it's own function, send event just prior to .connect 2019-07-28 18:07:23 +01:00
jesopo
9827feeabd 'name' -> 'key' (copypaste fail) 2019-07-28 18:07:01 +01:00
jesopo
25b507e80c Refactor hook kwargs to be stored as a list of tuples to support key duplicates
closes #108
2019-07-28 12:35:04 +01:00
jesopo
77dfc76591 switch to function/module magic being a single object 2019-07-26 11:58:06 +01:00
jesopo
b6844303cb add set_throttle(lines, seconds) function to tweak throttle per-server 2019-07-23 17:46:22 +01:00
jesopo
4babce5357 Only fill throttle when buffer is empty 2019-07-22 13:14:07 +01:00
jesopo
304fcdaebb gotta str()-ify kwargs before logging it 2019-07-15 14:27:55 +01:00
jesopo
4815c1612c don't silently truncate at newline in IRCLine.ParsedLine.truncate() 2019-07-15 14:26:45 +01:00
Mikaela Suomalainen
2f18414cb7
src/EventManager.py: fix typo defualt -> default 2019-07-13 13:04:37 +03:00
jesopo
89c12e845a add --remove-server/-R cli arg 2019-07-12 09:30:22 +01:00
jesopo
ab45c65fb4 'self.channels' -> 'self._channels' 2019-07-11 14:22:33 +01:00
jesopo
02838e4802 Return new Timers 2019-07-09 11:16:34 +01:00
jesopo
32fa999c78 Allow Timer objects to be cancelled 2019-07-09 11:14:05 +01:00
jesopo
c19c6c0e14 asyncio.gather -> asyncio.wait (with timeout) 2019-07-08 14:50:11 +01:00
jesopo
469c725675 tell asyncio.gather which loop to use 2019-07-08 14:41:12 +01:00
jesopo
a1438abf66 close event loop when we're done with it (request_many()) 2019-07-08 13:59:48 +01:00
jesopo
81c7af8ab5 Don't try/except async http exceptions 2019-07-08 13:51:02 +01:00
jesopo
ee0ec0eca1 switch request_many() to use asyncio.gather 2019-07-08 13:46:27 +01:00
jesopo
b62ba469d7 catch async exceptions in utils.http.request_many() 2019-07-08 13:18:59 +01:00
jesopo
078681eddf add missing schema in utils.http.sanitise_url, use in rss.py 2019-07-08 12:54:06 +01:00
jesopo
ecb8364d0d switch to using asyncio's event loop 2019-07-08 12:45:10 +01:00
jesopo
15e143fcff implement utils.http.request_many as a tonado ioloop yield 2019-07-08 11:43:09 +01:00
jesopo
f9d5271762 "paramatered" -> "parametered" 2019-07-04 17:23:36 +01:00
jesopo
43c8ad0ff6 Add !editserver command 2019-07-04 13:15:51 +01:00
jesopo
3afbe5fd82 threading.Lock() around any access to _write_buffer 2019-07-04 06:56:05 +01:00
jesopo
76ab7935a0 return parsed modes from IRCChannel.parse_modes, pass through mode events 2019-07-03 08:13:28 +01:00
jesopo
637067c62c url_validate() -> url_sanitise() 2019-07-02 14:15:49 +01:00
jesopo
534854127b Add utils.http.url_validate() for best-effort url tidying 2019-07-02 14:10:18 +01:00
jan6
b6e9713a14 fixed capabilities 2019-07-01 14:41:47 +03:00
jesopo
19f716ab4c Implemnt _options_factory for OptionsSetting to have dynamic options 2019-06-29 22:26:28 +01:00
jesopo
b4c762eb4e Automatically format example text for OptionsSetting (showing options) 2019-06-29 21:33:26 +01:00
jesopo
7091860e54 Setting.__init__ call in OptionsSetting ctor needs self param 2019-06-28 23:27:56 +01:00
jesopo
756396d758 Implement utils.OptionsSetting 2019-06-28 23:26:42 +01:00
jesopo
ae9d099a41 Refactor set/channelset/serverset/botset in to 'utils.Setting' objects 2019-06-28 23:16:05 +01:00
jesopo
f9eb017466 message arg for HTTPWrongContentTypeException/HTTPParsingException 2019-06-28 23:01:21 +01:00
jesopo
97810db8df Give descriptions to utils.http.HTTPException subclasses 2019-06-27 18:28:08 +01:00
jesopo
3c3f0449b6 add CaseInsensitiveDict.__contains__ 2019-06-26 17:57:49 +01:00
jesopo
16d331dd43 add allow_redirects kwarg to utils.http.request() 2019-06-26 17:53:16 +01:00
jesopo
c5785a2d14 implement @utils.kwarg() magic, use it for command.regex hooks 2019-06-26 14:37:41 +01:00
jesopo
7060a0ac67 Update IRCBot except queue.Empty comment 2019-06-26 13:43:00 +01:00
jesopo
4bf5c4783b Re-add EventManager check to prevent _call() outside main thread 2019-06-26 11:42:23 +01:00
jesopo
bb749b111f Refactor EventManager to only hold hooks on a root object 2019-06-26 11:01:09 +01:00
jesopo
12181bfec6 Add system to have multiple url shorteners and chose which to use 2019-06-25 17:53:00 +01:00
jesopo
a1cc2e778c Return 0 seconds if timeout seconds is negative 2019-06-24 17:22:08 +01:00
jesopo
ef0b3ec64c move _check() after timeouted queue.get() so deadlines are met accurately 2019-06-23 20:50:40 +01:00
jesopo
dd1df4dc05 move get_poll_timeout() to event loop now that it is the one calling _check 2019-06-23 19:00:37 +01:00
jesopo
9673963a8d shift _check() call to event loop function so read_loop needn't call trigger() 2019-06-23 18:53:25 +01:00
jesopo
102aa1dce1 v1.10.0 release 2019-06-23 14:45:56 +01:00
jesopo
afc287f020 Don't print BitBotPanic stacks when we don't need to 2019-06-23 10:01:15 +01:00