Commit Graph

135 Commits

Author SHA1 Message Date
jesopo 383d3acc8d don't leave old _wait_for_futs lying around 2020-06-13 00:28:27 +01:00
jesopo b9a543031a simplify reading lines, simplify wait_for, wait_for from outside reads 2020-06-13 00:21:39 +01:00
jesopo db851e0ba2 whois.idle is an int, change whois.channels to ChannelUser objects (modes!) 2020-06-12 14:23:04 +01:00
jesopo c4df2e2175 replace List with Sequence in matching/responses.py 2020-06-12 14:22:39 +01:00
jesopo 8f552a7d6f update ircstates to v0.9.18, catch ERR_NOSUCHSERVER (remote whois) 2020-06-07 20:46:05 +01:00
jesopo 544d5de023 again, ERR_NOSUCHUSER -> ERR_NOSUCHNICK 2020-06-07 20:31:07 +01:00
jesopo 2245ba23a2 ERR_NOSUCHUSER -> ERR_NOSUCHNICK 2020-06-07 19:41:26 +01:00
jesopo 06afec2738 WHOIS should have nick, user/host/real are required, handle NOSUCHUSER 2020-06-07 17:46:38 +01:00
jesopo 17ecd1416a glob.py.compile should have a return type 2020-06-07 17:45:47 +01:00
jesopo 63878e75cd :Optional, not =Optional 2020-06-03 21:38:27 +01:00
jesopo 5b04a5d1fd allow Formatless and Folded to be nested 2020-06-01 14:17:19 +01:00
jesopo 97c4a616c9 `channels` needs to be a list and needs enumerate() 2020-06-01 11:04:22 +01:00
jesopo 33bcba8001 add basic code for using labeled-responses as wait_for matches 2020-05-24 01:05:51 +01:00
jesopo fae9acb288 parse out RPL_WHOISCHANNELS when available (send_whois()) 2020-05-01 15:30:10 +01:00
jesopo 7ce706a0ab .defer() needs to actually return Future result 2020-05-01 15:26:15 +01:00
jesopo bc70afe04b move setting wait_for_fut result to WaitFor await in case it isn't awaited 2020-04-30 11:22:47 +01:00
jesopo e4af62a30c make wait_reads a deque instead of a list 2020-04-29 14:52:22 +01:00
jesopo 8f0a3045c5 self._wait_for is no longer used 2020-04-29 14:31:41 +01:00
jesopo 6d4222b4c1 minor refactor of how we call _next_line() 2020-04-29 12:23:11 +01:00
jesopo 51cfd0f36b rewrite how wait_for works - only one at a time now 2020-04-29 12:13:06 +01:00
jesopo a3abae811a we don't need to prefold `channel` 2020-04-28 11:45:46 +01:00
jesopo 04354c7d36 add send_message() - optionally await echo 2020-04-28 01:41:20 +01:00
jesopo 9d4572edcc handle failure in send_joins() 2020-04-28 01:41:05 +01:00
jesopo 20290807d9 Self -> MaskSelf, add Self for param 2020-04-28 01:40:13 +01:00
jesopo 6b2b3d71c8 add send_nick() - optionally await success 2020-04-28 00:35:32 +01:00
jesopo 33e191b980 better Nick repr, add Mask repr 2020-04-27 23:29:09 +01:00
jesopo 22b549708d add matching Hostmask type for Self, Nickname->Nick 2020-04-27 23:27:24 +01:00
jesopo ab66df4d43 add backtracking irc glob matching 2020-04-27 23:26:41 +01:00
jesopo 0921cb8086 allow ResponseOr to be shorthanded as a Set[IMatchResponse] 2020-04-27 01:28:46 +01:00
jesopo 8afadd1fdf add start of hostmask matching: mask collapsing 2020-04-27 00:41:17 +01:00
jesopo c25f6d2a00 SCRAM should take mechanisms as Enum values 2020-04-26 17:08:03 +01:00
jesopo e26190c283 rectify TimeoutError namespace 2020-04-26 15:17:08 +01:00
jesopo 60dfda48e0 ping_sent doesn't have to be global 2020-04-26 15:14:13 +01:00
jesopo ba57d06a56 implement client-to-server read timeout PINGs 2020-04-26 15:07:05 +01:00
jesopo f33a0ad369 add ConnectionParams.reconnect - we'll use this for exponential backoff 2020-04-26 01:19:16 +01:00
jesopo f18efda31b isinstance for SASL types, so EXTERNAL doesn't have blank user/pass 2020-04-26 01:08:47 +01:00
jesopo 5b927beb25 enact provided ResumePolicy (incl. cancelling handshake) 2020-04-25 20:13:46 +01:00
jesopo 15b97ab3da implement draft/resume-0.5 2020-04-25 19:30:36 +01:00
jesopo 064c786db7 minor codestyling 2020-04-23 15:30:33 +01:00
jesopo 955c284282 object-ify WaitFor future stuff 2020-04-23 15:22:30 +01:00
jesopo f48aaded5a _line_or_await *after* checking wait_fors so we don't match current line 2020-04-23 14:53:28 +01:00
jesopo 45269a98a9 change wait_for to not spin up nested next_line() loops 2020-04-23 14:42:42 +01:00
jesopo d51fcf0987 update ircstates, now only one (maybe Optional) Emit 2020-04-22 18:05:23 +01:00
jesopo 4286e75749 add matching.params.Regex 2020-04-21 21:59:20 +01:00
jesopo 2246236e83 add Formatless matching param 2020-04-21 21:54:51 +01:00
jesopo 89c7ac15dd rename some matching Params, restructure matching 2020-04-21 21:40:46 +01:00
jesopo b4f9cc02b9 `source` should be on Response as well as Responses 2020-04-21 21:16:18 +01:00
jesopo b00ecf6e86 replace ParamLiteral with string literals 2020-04-21 21:11:19 +01:00
jesopo f14f2b2e6b break, not continue; continue does not refer to parent for loop 2020-04-21 21:05:41 +01:00
jesopo a425077c29 put overriddable methods in Server not just IServer 2020-04-21 16:24:18 +01:00