Commit graph

97 commits

Author SHA1 Message Date
jesopo
d5d097d8ee give str(Exception) when webfinger fails 2020-03-08 18:45:15 +00:00
jesopo
142d181048 tolerate a server not having a host-meta 2020-03-08 18:43:49 +00:00
jesopo
49d9cbdb87 exports.get_one() -> exports.get() 2020-03-08 14:14:00 +00:00
jesopo
8a6270fc97 cryptography is in requirements.txt; we dont need to check for it 2020-02-20 15:12:00 +00:00
jesopo
d0d5cc4d08 split utils.datetime out in to .parse and .format 2020-01-30 21:20:56 +00:00
jesopo
a974134472 tolerate fedi servers that present Notes as application/ld+json 2020-01-18 14:02:47 +00:00
jesopo
47f7c7a595 tolerate fediverse Notes without "cc"s 2020-01-18 14:02:16 +00:00
MineRobber___T
88e82f8f96
Fix empty display names 2020-01-16 11:17:48 -05:00
MineRobber___T
42b632eff3
Fix empty names
Specifically, botsin.space (for sure) returns a display name of `""`. Since that's not meaningful, I just added a check to replace the display name with the username if the display name is empty.
2020-01-16 11:13:23 -05:00
jesopo
89e9122128 retooted account should use username, not display name 2019-12-12 05:35:45 +00:00
jesopo
3848d878a4 use fediverse display names when available 2019-12-10 11:45:29 +00:00
jesopo
8008532b30 note should be jsonified 2019-11-28 07:31:06 +00:00
jesopo
f62fc8c2a1 show username when a toot is CWed 2019-11-27 15:16:46 +00:00
jesopo
8bb20bcb17 default first_item to None or it doesn't exist when there's no toots 2019-11-26 14:31:22 +00:00
jesopo
ed775ddbe3 remove parser from utils.http.Request, add Request.soup() 2019-11-26 11:35:56 +00:00
jesopo
6a6e789ec9 add cookies and .json() to utils.http.Response objects 2019-11-25 18:17:30 +00:00
jesopo
7f7a31720c USERAGENT no longer exists 2019-11-25 05:55:22 +00:00
jesopo
4d30263315 give bitbot a unique User-Agent
closes #206
2019-11-20 14:42:34 +00:00
jesopo
5d01db8514 move all datetime-related code from utils/__init__ to utils.datetime 2019-11-15 13:59:09 +00:00
jesopo
8ccbeb54d7 Show more fediverse errors to the end user 2019-11-14 10:53:34 +00:00
jesopo
2642bd7dac show when a fediverse Note is nothing but an attachment 2019-11-04 13:19:37 +00:00
jesopo
516884acb8 only .decompose() when it's an empty and unknown tag 2019-11-04 12:51:24 +00:00
jesopo
62781badc4 better line normalisation for fediverse Activities 2019-11-04 11:18:34 +00:00
jesopo
8831724af0 'element.contents' -> 'element.children' for consistency 2019-10-31 15:18:45 +00:00
jesopo
5d08a496a4 use lxml for parsing fedi Notes. html.parse is bad and unpredictable 2019-10-31 15:17:39 +00:00
jesopo
c4c076137d fallback ActivityPub data encoding to utf8 2019-10-26 22:43:11 +01:00
jesopo
1c02de8a69 change !fedi "!" arg to still show CW but also show content of Note 2019-10-18 15:54:36 +01:00
jesopo
20a115e71d add "!" arg to !fedi, to denote "dont show content warning" 2019-10-18 15:43:17 +01:00
jesopo
fa97f12689 support AP Notes with content outside of HTML tags (e.g. pleroma) 2019-10-15 16:44:28 +01:00
jesopo
3f4eebf85b show ,fedi latest-tweet also if it's a self-reply 2019-10-15 15:24:57 +01:00
jesopo
f739064d10 show first toot if it's a boost, fix Note boost formatting 2019-10-15 15:13:28 +01:00
jesopo
af1fd37003 actually explicitly strip "unknown" html tags from fedi notes 2019-10-14 10:46:15 +01:00
jesopo
84ec6d812f format multi-line toots on a single line using things like double space 2019-10-09 16:44:54 +01:00
jesopo
44a635b708 prefer url over id as it's usually a more user-friendly url 2019-10-08 16:07:35 +01:00
jesopo
50d1eb6b8c combine find_setting() and find_setting_prefix() on user/channel/server/bot 2019-10-07 12:46:52 +01:00
jesopo
472b5ba9f0 support !fedi with a URL to a Note 2019-10-04 13:06:29 +01:00
jesopo
c6efea3971 non-CWed pleroma posts have content as "", not null 2019-09-25 17:12:55 +01:00
jesopo
6199086dc5 pleroma outbox items don't have an inReplyTo when it's null 2019-09-25 17:11:16 +01:00
jesopo
67cd14da5a only fist first_item once 2019-09-25 16:14:48 +01:00
jesopo
5923602f0a make fediverse module rely on REST API
I didn't want to do this unless we had to but Mastodon is introducing requirming
signed requests soon, so even if a user doesn't use bitbot as an instance, we'll
still need to be able to serve Actor (and key) over the REST API
2019-09-25 16:11:57 +01:00
jesopo
13b21b205d only show non-replies with ,fedi 2019-09-25 16:11:18 +01:00
jesopo
3fa71a75af serve pub key, not cert 2019-09-25 10:43:39 +01:00
jesopo
b18586ba51 don't .strip() tls cert 2019-09-25 10:32:54 +01:00
jesopo
e2ec8afbea _ap_url already array-ifies 2019-09-25 10:17:56 +01:00
jesopo
bb2590734b add missing "import urllib.parse" to ap_utils.py 2019-09-23 11:28:14 +01:00
jesopo
8a3e480ef5 bitbot is a Service (bot), not a Person 2019-09-20 11:44:23 +01:00
jesopo
04d75ec414 make a better "random ID url" function 2019-09-20 11:39:46 +01:00
jesopo
51b8429278 make Accept ID (and Follow ID) our own domain 2019-09-20 10:53:58 +01:00
jesopo
d75d751295 update _ap_*_url() functions to use path-args 2019-09-20 10:46:49 +01:00
jesopo
1b3ee8e336 use path-arg variables for AP urls, not get params 2019-09-20 10:42:08 +01:00