aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Expand)AuthorAgeFilesLines
* Hold on to tags and type for BATCHesGravatar jesopo2019-02-111-0/+7
* IRCServer should handle ping_sent, not IRCSocketGravatar jesopo2019-02-112-2/+5
* last_read/last_send is now handled by IRCSocket.pyGravatar jesopo2019-02-112-5/+5
* `socket.getpeername()` can return more than 2 values (IRCSocket)Gravatar jesopo2019-02-111-1/+1
* `connected` status is now tracked by IRCSocketsGravatar jesopo2019-02-113-3/+4
* 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) Gravatar jesopo2019-02-111-0/+3
* Shift socket.socket related logic to IRCSocket.pyGravatar jesopo2019-02-113-161/+209
* We don't need to send `writebuffer.empty` event any more (src/IRCServer.py)Gravatar jesopo2019-02-111-3/+0
* Actually return `str` object from IRCLine.__str__Gravatar jesopo2019-02-101-1/+1
* Add _char_limit return type hint, fix decoded_data return type hint•••(src/IRCLine.py) Gravatar jesopo2019-02-101-2/+2
* Import IRCServer in IRCLine so type hint comment is valid (src/IRCLine.py)Gravatar jesopo2019-02-101-1/+1
* Add a comment as to why IRCLine's LINE_CUTOFF is 470, not 510Gravatar jesopo2019-02-101-0/+1
* Change LINE_CUTOFF to 470, now that we compute max char counts (src/IRCLine.py)Gravatar jesopo2019-02-101-1/+1
* Let IRCLine.Line handle truncating command outputGravatar jesopo2019-02-102-5/+23
* Parse sent data in IRCServer._send, not IRCServer.sendGravatar jesopo2019-02-101-2/+6
* Add `IRCServer.hostmask()` to construct our nick!user@host hostmaskGravatar jesopo2019-02-101-0/+3
* Shift encoding/truncating IRC lines to src/IRCLine.pyGravatar jesopo2019-02-102-14/+16
* Return truncted data from encode_truncate and hold it in IRCLine.LineGravatar jesopo2019-02-103-6/+12
* Make use of utils.truncate_encode, to avoid cutting utf8 sequences in halfGravatar jesopo2019-02-101-4/+3
* add `utils.truncate_encode`, to encode and truncate a string while respecting...Gravatar jesopo2019-02-101-0/+10
* Don't send empty space with JOIN if key=="" (src/IRCServer.py)Gravatar jesopo2019-02-101-1/+1
* Return IRCLine object from IRCServer.send() (and functions that call .send())Gravatar jesopo2019-02-101-48/+55
* fix `self.batches` type hint (src/IRCServer.py)Gravatar jesopo2019-02-101-1/+1
* IRCLine's `data` should be bytesGravatar jesopo2019-02-101-1/+1
* Add missing src/IRCLine.py fileGravatar jesopo2019-02-101-0/+20
* `now` isn't defined now that throttle code has been separated out (src/IRCSer...Gravatar jesopo2019-02-101-1/+1
* Track lines-to-be-sent up until they're completely sent, queue up more than 1•••line at a time in write buffer if we've got space (src/IRCServer.py) Gravatar jesopo2019-02-101-14/+43
* rename, 'IRCLine' -> 'IRCParsedLine' (utils.irc)Gravatar jesopo2019-02-101-3/+3
* Make line cutoff character count a const (src/IRCServer.py)Gravatar jesopo2019-02-101-2/+3
* Add TimersContext.find_allGravatar jesopo2019-02-101-0/+2
* Add Timers.find_all, to find all timers of a certain nameGravatar jesopo2019-02-101-0/+10
* Abstract ssl socket wrapping away so we can reuse itGravatar jesopo2019-02-103-14/+28
* Old copypaste fail - we were returning the most recent user id when creating ...•••(Database.py) Gravatar jesopo2019-02-101-1/+1
* Set default values for various types of channel modes (src/IRCServer.py)Gravatar jesopo2019-02-091-4/+9
* Also capture channel setting-related modes (e.g. +f for flood settings)Gravatar jesopo2019-02-091-0/+1
* Return "0s" from utils.to_pretty_time when given 0 secondsGravatar jesopo2019-02-071-0/+3
* Send `CAP LS` after we send `PASS` (if applicable) (src/IRCServer.py)Gravatar jesopo2019-02-071-1/+2
* Add optional `default` param to `Exports.get_one()` (src/Exports.py)Gravatar jesopo2019-02-071-3/+5
* Implement ExportsContext.get_oneGravatar jesopo2019-02-071-0/+2
* Implement `Exports.get_one()`Gravatar jesopo2019-02-071-0/+3
* Fix mypy typing issue with importspec loader Optionalness (src/ModuleManager.py)Gravatar jesopo2019-02-061-1/+2
* If a server has a hostname that's not an IP, use it as SNI server nameGravatar jesopo2019-02-062-2/+14
* Don't break if we try to "finish" a waiting CAP when it's already finishedGravatar jesopo2019-02-061-1/+1
* Don't .lower() nicknames in Database.py, it doesn't know about IRC casemappingGravatar jesopo2019-02-062-4/+5
* STARTTLS was removed long agoGravatar jesopo2019-02-051-2/+0
* Manually count ACK/NAK for REQed CAPs before ENDing CAP negotiationGravatar jesopo2019-02-051-0/+2
* Switch to using __init__.py as main file of directory modules, so they behave•••like a package (also put the modules manually in sys.modules Gravatar jesopo2019-02-051-3/+4
* Switch to a non-deprecated method of loading files by filename•••(`importlib.util.spec_from_file_location`) Gravatar jesopo2019-02-051-2/+4
* Add `make_event(..)` to EventHookContextGravatar jesopo2019-01-301-0/+4
* Make sure to call the specific hook we've decided is valid (commands.py)Gravatar jesopo2019-01-301-0/+2