Commit graph

112 commits

Author SHA1 Message Date
jesopo
19d8f0b497 store and expose reconnection timers on IRCBot.reconnections 2019-09-01 08:38:22 +01:00
jesopo
6a068777d6 v1.11.1 release 2019-08-30 19:10:17 +01:00
jesopo
b037c3076f v1.11.0 release 2019-08-15 13:45:54 +01:00
jesopo
195cb66e26 Update CHANGELOG.md, bump version to v1.11.0-rc3 2019-08-14 15:17:01 +01:00
jesopo
814236915b forgot to update IRCBot.VERSION to v1.11.0-rc2 2019-08-13 15:11:43 +01:00
jesopo
0f4a4d04a1 v1.11.0-rc1 release 2019-08-09 15:02:10 +01:00
jesopo
7060a0ac67 Update IRCBot except queue.Empty comment 2019-06-26 13:43: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
jesopo
7861210495 v1.10.0-rc2 2019-06-23 09:45:47 +01:00
jesopo
7d49826b1a v1.10.0-rc1 2019-06-22 22:41:17 +01:00
jesopo
aa4a15a6dc Add IRCBot.URL (https://bitbot.dev) 2019-06-18 17:33:54 +01:00
jesopo
5c325d9b23 'break' instead of 'continue' so that things in the event queue get discarded 2019-06-17 16:19:20 +01:00
jesopo
9121a868a8 Make sure we exit event loop when there's no servers left 2019-06-17 14:07:06 +01:00
jesopo
dbe0b1f43b Tell servers objects when they are the result of a reconnection 2019-06-17 13:53:17 +01:00
jesopo
ec733e200c Default IRCBot.running to false, set to true at the top of .run() 2019-06-17 11:35:45 +01:00
jesopo
da5d48400d Change panic() reason log from ERROR to CRITICAL 2019-06-17 11:12:04 +01:00
jesopo
9ea356bc49 Raise a BitBotPanic() exception in panic() 2019-06-17 11:11:35 +01:00
jesopo
f8fa529ca5 Add IRCBot.panic() - a nicer interface for killing the whole application 2019-06-17 11:06:03 +01:00
jesopo
b5a467552f CRITICAL log exceptions caught in _loop_catch() 2019-06-15 00:39:52 +01:00
jesopo
0e5ba747a9 Wrap _read_loop() and _write_loop() in a try that kills the main thread 2019-06-13 17:11:46 +01:00
jesopo
512d844a5a Update CHANGELOG, v1.9.2 release 2019-06-09 17:34:45 +01:00
jesopo
a31793c851 Put responsbility of self.running = False on to the event loop 2019-06-09 14:59:28 +01:00
jesopo
55fb9cee3b v1.9.1 release 2019-06-08 11:03:18 +01:00
jesopo
37c74da0f8 v1.9.0 release 2019-06-07 17:13:53 +01:00
jesopo
f822345976 Merge branch 'master' into feature/write-thread 2019-06-07 15:07:31 +01:00
jesopo
38a41a6404 We need to wait for _check to finish so read/writes can be triggered correctly 2019-06-07 11:05:55 +01:00
jesopo
b3b4d07e63 Call _check *after* read epoll call - to make sure timeouts are hit accurately 2019-06-07 10:39:31 +01:00
jesopo
f3b6d6df0a Switch to using threading.Condition to trigger write thread 2019-06-07 10:39:19 +01:00
jesopo
c89bd74a48 select.poll, as opposed to select.epoll, uses milliseconds not seconds for
timeout
2019-06-06 23:45:33 +01:00
jesopo
23d2993b9f Remove debug print 2019-06-06 23:25:03 +01:00
jesopo
6d44f12193 Use .trigger (without triggering read/write threads) to call _check 2019-06-06 23:23:46 +01:00
jesopo
24ca7ed97f use trigger_write() instead of a raw .send(b"") 2019-06-06 23:19:57 +01:00
jesopo
ef0c2c65e0 use _event_queue for _check, don't .disconnect() from outside of respective
loops
2019-06-06 22:36:56 +01:00
jesopo
ae6c65d743 remove _trigger_function code, it's not used any more 2019-06-06 21:43:21 +01:00
jesopo
d9de4fdec2 Lambda scopes are irritating 2019-06-06 21:03:25 +01:00
jesopo
539bebafea select.epoll -> select.poll 2019-06-06 20:26:05 +01:00
jesopo
0f7b040165 call timer callbacks and expire cach objects on main thread 2019-06-06 20:22:56 +01:00
jesopo
5b7d8dea91 Only trigger read/write threads once 2019-06-06 19:21:18 +01:00
jesopo
05fcb33ff7 print lines as soon as they're read, don't wait for _post_send 2019-06-06 19:15:34 +01:00
jesopo
f96378ac07 move immediate-write-trigger to IRCServer.py, trigger _event_loop for
running=False
2019-06-06 17:58:35 +01:00
jesopo
a1ebe8035e Split read/write/process in to 3 different threads 2019-06-06 17:05:44 +01:00
jesopo
ef221f4165 v1.8.0 release 2019-06-03 13:30:39 +01:00
jesopo
e5c11f4aef add 'module-blacklist/whitelist' to bot.conf - use that as well as DB setting 2019-06-01 15:06:57 +01:00
jesopo
f2cf86b8c0 More explicitly require throttle_done() only for _queued_lines 2019-05-31 15:32:55 +01:00
jesopo
a3a61d2e86 Log server name when we see a _send failure 2019-05-30 15:46:01 +01:00