jesopo
|
1ac7f2697e
|
log which URL caused an error in request_many
|
2019-09-17 17:09:19 +01:00 |
|
jesopo
|
98545a9fb4
|
only decode content-types in DECODE_CONTENT_TYPES
|
2019-09-17 16:12:03 +01:00 |
|
jesopo
|
8ca0d30fef
|
Response.__init__() needs encoding now
|
2019-09-17 14:11:12 +01:00 |
|
jesopo
|
b7dd78ef1a
|
restore 5 second (instead of default 10) deadline for http.request
|
2019-09-17 13:44:14 +01:00 |
|
jesopo
|
94c3ff962b
|
use utils.deadline_process() in utils.http._request() so background threads can
call _request()
|
2019-09-17 13:41:11 +01:00 |
|
jesopo
|
fa95eaa9eb
|
add .get() to CaseInsensitiveDict
|
2019-09-17 13:40:37 +01:00 |
|
jesopo
|
d454f9b732
|
use Queue.get() with timeout, not Process.join() for timeout
this was because the threads spawned by multiprocessing.Queue seemed to be
making Process.join() believe the subprocess had not exited.
|
2019-09-17 13:39:23 +01:00 |
|
jesopo
|
1ed14f9a17
|
first draft of multiprocess.Process deadline system
|
2019-09-17 11:56:30 +01:00 |
|
jesopo
|
c23530be89
|
add missing IRCLine import to IRCChannel
|
2019-09-17 10:21:31 +01:00 |
|
jesopo
|
334d580c57
|
'seperate_hostmask()' -> 'parse_hostmask()'
|
2019-09-16 18:43:57 +01:00 |
|
jesopo
|
03892d0ae3
|
topic_setter should be stored as a Hostmask
|
2019-09-16 18:38:46 +01:00 |
|
jesopo
|
a48aececfd
|
EventRoot._hook's kwarg should be a list of tuples
|
2019-09-16 15:34:34 +01:00 |
|
jesopo
|
47735421b8
|
add json_body arg to Request to json-encode body, only return from body if
not null
|
2019-09-16 10:57:18 +01:00 |
|
jesopo
|
f9d13dc373
|
support '0' as an IntSetting value
|
2019-09-15 22:22:30 +01:00 |
|
jesopo
|
60ced118a0
|
get_user_status() -> get_user_modes(), filter in format_activity.py
|
2019-09-12 22:39:21 +01:00 |
|
jesopo
|
d950eb3660
|
add utils.SensitiveSetting, to .format() hide value
|
2019-09-12 12:17:31 +01:00 |
|
jesopo
|
ba0911f2e7
|
add utils.Setting.format() so subtypes can format differently
|
2019-09-12 12:17:09 +01:00 |
|
jesopo
|
9d33354d16
|
translate INVITE from [channel_name, target] to [target, channel_name]
|
2019-09-12 11:24:25 +01:00 |
|
jesopo
|
540c7b8c44
|
Revert "INVITE should be [channel_name, target]"
This reverts commit f3d8ffad2c .
|
2019-09-12 11:23:29 +01:00 |
|
jesopo
|
f3d8ffad2c
|
INVITE should be [channel_name, target]
|
2019-09-12 11:21:29 +01:00 |
|
jesopo
|
77f50187c5
|
allow Requests to specify a useragent
|
2019-09-12 10:41:50 +01:00 |
|
jesopo
|
2c5a2d9db3
|
add IRCChannel.send_invite()
|
2019-09-12 10:24:02 +01:00 |
|
jesopo
|
2bd7d591c3
|
Revert "add IRCBot.http_client(), to allow modules to override default http client"
This reverts commit 81347fbba0 .
|
2019-09-11 18:08:44 +01:00 |
|
jesopo
|
81347fbba0
|
add IRCBot.http_client(), to allow modules to override default http client
|
2019-09-11 17:54:24 +01:00 |
|
jesopo
|
9d6a3982ed
|
add a helper utils.http.Client static object
|
2019-09-11 17:53:49 +01:00 |
|
jesopo
|
51dc26d113
|
add proxy to Request objects
|
2019-09-11 17:53:37 +01:00 |
|
jesopo
|
4a97c9eb0d
|
refactor utils.http.requests to support a Request object
|
2019-09-11 17:44:07 +01:00 |
|
jesopo
|
8f8cf92ae2
|
automatically decode certain http content types
|
2019-09-11 15:28:13 +01:00 |
|
jesopo
|
8d8d9219b8
|
don't return "+" when a channel has no modes
|
2019-09-10 15:10:14 +01:00 |
|
jesopo
|
a9b106c6be
|
Don't try to .decode non-html things, default iso-lat-1 for non-html too
|
2019-09-09 16:17:26 +01:00 |
|
jesopo
|
b83f5d9e30
|
add flag to disable encoding detection
|
2019-09-09 14:59:08 +01:00 |
|
jesopo
|
5ef2b7af27
|
'str.split' -> 's.split'
|
2019-09-09 14:53:11 +01:00 |
|
jesopo
|
1df82c1cb2
|
still default to iso-latin-1 if no on-page or in-header content-type is present
|
2019-09-09 14:48:26 +01:00 |
|
jesopo
|
0a67659637
|
only look for <meta>-related tags when there are meta tags
|
2019-09-09 14:39:19 +01:00 |
|
jesopo
|
0a1077c5cd
|
add explicit None return for _find_encoding (mypy)
|
2019-09-09 14:25:01 +01:00 |
|
jesopo
|
ff9c82bf67
|
change utils.http.request to best-effort detect on-page encoding
closes #113
|
2019-09-09 14:11:18 +01:00 |
|
jesopo
|
dadefeb8f3
|
remove try-rejoin (on 477) logic. will move to a module later
|
2019-09-07 15:21:35 +01:00 |
|
jesopo
|
d973b547e1
|
add a create flag to IRCChannels.get_id() to optionally not create new ids
|
2019-09-05 14:13:58 +01:00 |
|
jesopo
|
d7ae182428
|
cache when a setting isn't set but don't cache "default" value
|
2019-09-04 15:26:36 +01:00 |
|
jesopo
|
473c2723e7
|
only cache get_setting value when it's not the default value
|
2019-09-04 15:24:50 +01:00 |
|
jesopo
|
007bb78d30
|
make utils.from_pretty_time() format much stricter
|
2019-09-04 11:22:56 +01:00 |
|
jesopo
|
397cfa8e7e
|
correctly qualify DeadlineExceededException namespace
|
2019-09-03 14:54:59 +01:00 |
|
jesopo
|
b7b2f31c1c
|
use utils.deadline() in utils.http.request, not raw sigalrm
|
2019-09-02 15:50:21 +01:00 |
|
jesopo
|
d42d694e64
|
move deadline alarm time check inside try/finally
|
2019-09-02 15:50:12 +01:00 |
|
jesopo
|
a160148c2f
|
actually prune non-loadable modules before doing dependency checks
|
2019-09-02 15:46:31 +01:00 |
|
jesopo
|
43a7b7d949
|
add basic caching logic for channel settings
|
2019-09-02 14:07:39 +01:00 |
|
jesopo
|
7959f1ab88
|
change Cache.py to be key:value
|
2019-09-02 14:07:26 +01:00 |
|
jesopo
|
9cc1ee98eb
|
Pass the content of a webpage to HTTPParsingException
|
2019-09-02 13:27:44 +01:00 |
|
jesopo
|
408b89aeb7
|
use \S+ for url regex (for non-ascii chars), use url_sanitize to catch <>
|
2019-09-02 13:25:48 +01:00 |
|
jesopo
|
9e43ea1599
|
add per-user fediverse setting
|
2019-09-02 08:51:56 +01:00 |
|