jesopo
|
577fae7cea
|
Don't pass None around as tag default, fix some missing return type args
|
2019-02-19 15:57:00 +00:00 |
|
jesopo
|
3f8ac871ed
|
typo, 'utls' -> 'utils' (utils.irc)
|
2019-02-19 15:44:23 +00:00 |
|
jesopo
|
114d1054a5
|
Add .message( and .notice( to IRCSendBatch
|
2019-02-19 15:41:17 +00:00 |
|
jesopo
|
bc772ef5cc
|
Default IRCParsedLine.tags to empty dict, not None
|
2019-02-19 15:40:56 +00:00 |
|
jesopo
|
53e5a7fe7e
|
contextualise JOIN key check, otherwise it doesn't send channel_name
|
2019-02-19 09:32:17 +00:00 |
|
jesopo
|
9f946e236d
|
copy paste fail, batch end should be "-" not "+"
|
2019-02-19 08:25:25 +00:00 |
|
jesopo
|
81ae0cc889
|
Add make_batch and send_batch to IRCServer
|
2019-02-18 23:16:47 +00:00 |
|
jesopo
|
b76b153672
|
Add batch_start and batch_end to utils.irc.protocol
|
2019-02-18 23:11:36 +00:00 |
|
jesopo
|
509a7ff42e
|
Default tags to null for utils.irc.protocol's message and notice
|
2019-02-18 23:06:41 +00:00 |
|
jesopo
|
07cb14d98c
|
utils.irc.protocol.join()'s keys param should be typing.Optional
|
2019-02-18 23:03:21 +00:00 |
|
jesopo
|
3bb917b619
|
Add src/utils/irc/__init__.py that should have been added some commits ago
|
2019-02-18 23:00:50 +00:00 |
|
jesopo
|
cd97a653cc
|
Don't try to use keys if we try to join a channel without any keys
|
2019-02-18 15:00:05 +00:00 |
|
jesopo
|
186b6b82a2
|
Shift formatting protocol data to it's own file: utils.irc.protocol
|
2019-02-18 14:58:27 +00:00 |
|
jesopo
|
d937145f93
|
Add missing :
|
2019-02-18 13:54:09 +00:00 |
|
jesopo
|
6da35a899b
|
don't pass around has_arbitrary - we don't need it.
|
2019-02-18 12:42:52 +00:00 |
|
jesopo
|
cb0314da67
|
Put a helper function in utils to do iso8601 formatting. change IRCServer's
last-read setting to use it.
|
2019-02-17 14:15:40 +00:00 |
|
jesopo
|
be495344d4
|
How did this newline get here
|
2019-02-17 12:40:31 +00:00 |
|
jesopo
|
716568c21d
|
'src/IRCServer.capabilities' -> 'src/IRCServer.agreed_capabilities'
|
2019-02-16 09:12:43 +00:00 |
|
jesopo
|
23b0e58665
|
Send CAP REQ in 10-item chunks (src/IRCServer.py)
|
2019-02-16 08:21:42 +00:00 |
|
jesopo
|
ed99d66163
|
Don't add a space after a formatted tagmsg in _tag_str (src/IRCServer.py)
|
2019-02-14 21:59:26 +00:00 |
|
jesopo
|
8d97e51bf3
|
Add IRCServer.send_tagmsg, to send TAGMSG commands
|
2019-02-14 21:36:59 +00:00 |
|
jesopo
|
708ba2ddc7
|
Support one-shot event hooks (src/EventManager.py)
|
2019-02-14 10:36:11 +00:00 |
|
jesopo
|
1136162057
|
Fix 'Optional[str]!=str' type hinting issue in utils.irc line parsing
|
2019-02-13 11:00:22 +00:00 |
|
jesopo
|
e1de8cd9be
|
We were just checking if arbitrary was falsey, thus losing empty trailing args
(' :' with nothing after it) (utils.irc)
|
2019-02-12 20:42:09 +00:00 |
|
jesopo
|
b4092a14ca
|
Also strip \x01 off the start of CTCP commands, if it's there (utils.irc)
|
2019-02-12 16:49:24 +00:00 |
|
jesopo
|
86bc49a0a1
|
Only put a ":" on trailing args when it's required
|
2019-02-12 13:55:57 +00:00 |
|
jesopo
|
01a7c05687
|
Change arg types of constant_time_compare to typing.AnyStr (utils.security)
|
2019-02-12 11:59:55 +00:00 |
|
jesopo
|
9667b8a6e0
|
Move constant-time compare function to utils.security
|
2019-02-12 11:57:49 +00:00 |
|
jesopo
|
144182868c
|
Upgrade resume.py to draft/resume-0.3 and support sending last-read timestamp
|
2019-02-12 11:14:36 +00:00 |
|
jesopo
|
8c9626f0a9
|
Put an strf format for ISO8601 in utils
|
2019-02-12 11:08:24 +00:00 |
|
jesopo
|
2f5a232c4e
|
Hold on to tags and type for BATCHes
|
2019-02-11 22:15:12 +00:00 |
|
jesopo
|
b37a50ed7a
|
IRCServer should handle ping_sent, not IRCSocket
|
2019-02-11 21:23:52 +00:00 |
|
jesopo
|
a8d9365442
|
last_read/last_send is now handled by IRCSocket.py
|
2019-02-11 20:49:53 +00:00 |
|
jesopo
|
6c6f1f9c2b
|
socket.getpeername() can return more than 2 values (IRCSocket)
|
2019-02-11 20:34:15 +00:00 |
|
jesopo
|
137d5b1a58
|
connected status is now tracked by IRCSockets
|
2019-02-11 20:34:02 +00:00 |
|
jesopo
|
48fe6b7391
|
Add IRCSocket.connected_ip to hold on to the IP address we connected to (e.g.
so we know which IP we picked from a round robin DNS)
|
2019-02-11 16:10:23 +00:00 |
|
jesopo
|
9b44b6cd13
|
Shift socket.socket related logic to IRCSocket.py
|
2019-02-11 10:00:41 +00:00 |
|
jesopo
|
b6b7345764
|
We don't need to send writebuffer.empty event any more (src/IRCServer.py)
|
2019-02-11 00:00:58 +00:00 |
|
jesopo
|
63dc5009f7
|
Actually return str object from IRCLine.__str__
|
2019-02-10 23:57:38 +00:00 |
|
jesopo
|
1d48f6f19d
|
Add _char_limit return type hint, fix decoded_data return type hint
(src/IRCLine.py)
|
2019-02-10 23:52:25 +00:00 |
|
jesopo
|
ecb197858e
|
Import IRCServer in IRCLine so type hint comment is valid (src/IRCLine.py)
|
2019-02-10 23:51:28 +00:00 |
|
jesopo
|
f8e6a55ada
|
Add a comment as to why IRCLine's LINE_CUTOFF is 470, not 510
|
2019-02-10 22:52:23 +00:00 |
|
jesopo
|
fc5ade7112
|
Change LINE_CUTOFF to 470, now that we compute max char counts (src/IRCLine.py)
|
2019-02-10 20:54:12 +00:00 |
|
jesopo
|
bb4ec082dd
|
Let IRCLine.Line handle truncating command output
|
2019-02-10 20:49:59 +00:00 |
|
jesopo
|
abf5679b68
|
Parse sent data in IRCServer._send, not IRCServer.send
|
2019-02-10 20:49:03 +00:00 |
|
jesopo
|
89f035fdcf
|
Add IRCServer.hostmask() to construct our nick!user@host hostmask
|
2019-02-10 20:44:29 +00:00 |
|
jesopo
|
a3b9be3d3d
|
Shift encoding/truncating IRC lines to src/IRCLine.py
|
2019-02-10 18:43:04 +00:00 |
|
jesopo
|
bd9eaad0b2
|
Return truncted data from encode_truncate and hold it in IRCLine.Line
|
2019-02-10 18:16:19 +00:00 |
|
jesopo
|
7952d4c366
|
Make use of utils.truncate_encode, to avoid cutting utf8 sequences in half
|
2019-02-10 16:48:08 +00:00 |
|
jesopo
|
f2c762a2d0
|
add utils.truncate_encode , to encode and truncate a string while respecting utf8 multi-byte encoding
|
2019-02-10 16:41:56 +00:00 |
|