aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Expand)AuthorAgeFilesLines
* try/except Control socket writesGravatar jesopo2019-10-111-1/+4
* add first real cli functionality: showing logGravatar jesopo2019-10-112-21/+65
* first draft of infrastructure for unix domain control socketGravatar jesopo2019-10-111-0/+81
* LockFile doesn't need to hold on to _database_locationGravatar jesopo2019-10-111-1/+0
* add "poll sources" - objects that can provide additional filenos for pollingGravatar jesopo2019-10-112-5/+48
* Don't exit when there are no connected servers•••closes #175 Gravatar jesopo2019-10-111-5/+0
* only .call() PollHooks when they're "due"Gravatar jesopo2019-10-102-3/+3
* move PoolHook registrations to start.pyGravatar jesopo2019-10-101-6/+5
* v1.12.0 releaseGravatar jesopo2019-10-101-1/+1
* v1.12.0-rc2 releaseGravatar jesopo2019-10-101-1/+1
* 'server.conncect_time' -> 'server.connect_time'Gravatar jesopo2019-10-101-1/+1
* add a fairly basic file locking mechanism with src/LockFile.py•••closes #96 Gravatar jesopo2019-10-103-3/+46
* refactor multi-line-to-line normalisation to utils.parse.line_normalise(), us...•••closes #174 Gravatar jesopo2019-10-101-0/+5
* `-V` command line arg should still effect stdoutGravatar jesopo2019-10-091-1/+1
* stdout output should just be WARN - put INFO in to a daily file•••this is because stdout, in something like systemd, will mess up journalctl output. Gravatar jesopo2019-10-091-1/+8
* we should be catching `timer` as the output of self._timers.addGravatar jesopo2019-10-091-2/+3
* v1.12.0-rc1 releaseGravatar jesopo2019-10-091-1/+1
* self.timers -> self._timersGravatar jesopo2019-10-081-1/+1
* fix IRCChannel.topic_setter type hintGravatar jesopo2019-10-081-1/+1
* transient timers shouldn't use the event systemGravatar jesopo2019-10-082-21/+30
* refactor anything that effects event poll timeout in to PollHook objectsGravatar jesopo2019-10-084-40/+50
* commit FunctionSetting changes i forgot to commit yesterdayGravatar jesopo2019-10-081-2/+7
* combine find_user_settings() and find_user_settings_prefix()Gravatar jesopo2019-10-071-8/+11
* combine find_setting() and find_setting_prefix() on user/channel/server/botGravatar jesopo2019-10-074-31/+42
* parse out content_type in Response ctorGravatar jesopo2019-10-051-5/+3
* parse content-type out in utils.http.request, put it on Response objectGravatar jesopo2019-10-041-9/+13
* Allow utils.Setting_ parse functions to throw detailed errorsGravatar jesopo2019-10-041-0/+3
* 'is_localhost()' -> 'host_permitted()'Gravatar jesopo2019-09-301-4/+4
* use ipaddress is_loopback etc to do better forbidden ranges•••closes #87 Gravatar jesopo2019-09-301-0/+9
* only _kill() when there's no servers *and* the event queue is empty•••this is so that bitbot doesn't exit when you !reconnect but only have 1 server Gravatar jesopo2019-09-301-1/+1
* only return IRCUser.hostmask() when all needed pieces are availableGravatar jesopo2019-09-271-1/+3
* add external_modules directoryGravatar jesopo2019-09-271-17/+28
* forgot to commit kwargs for get_user()Gravatar jesopo2019-09-271-5/+15
* add utils.parse.try_int() because .isdigit() isnt good enoughGravatar jesopo2019-09-261-0/+6
* add IRCBuffer.find_many_from()Gravatar jesopo2019-09-261-2/+8
* assume http fallback_encoding by content-type (utf8 for json)Gravatar jesopo2019-09-251-1/+8
* refactor all checks for channel_type to server.is_channel()Gravatar jesopo2019-09-202-3/+6
* only BeautifulSoup for finding encoding when it's a html-ish typeGravatar jesopo2019-09-201-1/+1
* cache calculated "next expiration" timeGravatar jesopo2019-09-201-1/+12
* Allow passing source Hostmask to IRCBatchGravatar jesopo2019-09-191-1/+2
* log call was replaced with Exception but [] on args remainedGravatar jesopo2019-09-191-1/+1
* give Requests, use them in utils.http.request_many()Gravatar jesopo2019-09-191-12/+25
* utils.http.request_() has no self, let alone self.logGravatar jesopo2019-09-191-3/+4
* should be using pair_start/pair_end throughout `for`Gravatar jesopo2019-09-191-2/+2
* also show "bad" data in HTTPParsingException when a message is providedGravatar jesopo2019-09-181-1/+1
* show "bad" data in HTTPParsingException messageGravatar jesopo2019-09-181-2/+3
* move q.close() to where it will be called even if deadline is hitGravatar jesopo2019-09-181-1/+2
* move _raise_deadline() out of except block to clean up printed stacktraceGravatar jesopo2019-09-181-0/+4
* don't check already-read data when checking for too-large requests•••this check was here because the first read will return empty if it was an invalid byte sequence for e.g. gzip because we needed to receive more data. the second read will always return data (not decoded) so regardless of what the already-read data is, the second read is the only criteria we need. Gravatar jesopo2019-09-171-1/+1
* log which URL caused an error in request_manyGravatar jesopo2019-09-171-1/+6