mirror of
https://gitlab.com/brutaldon/brutaldon
synced 2024-12-26 15:53:54 +01:00
Merge branch 'fix/support-gts' into 'main'
pin bleach dep to 4.1, disable mastodon version checks See merge request brutaldon/brutaldon!11
This commit is contained in:
commit
f4f1c19ffb
2
Pipfile
2
Pipfile
@ -5,7 +5,7 @@ name = "pypi"
|
||||
|
||||
[packages]
|
||||
"beautifulsoup4" = "*"
|
||||
bleach = "*"
|
||||
bleach = "~=4.1"
|
||||
certifi = "*"
|
||||
chardet = "*"
|
||||
decorator = "*"
|
||||
|
@ -92,6 +92,7 @@ def get_usercontext(request, feature_set="mainline"):
|
||||
session=get_session(client.api_base_id),
|
||||
ratelimit_method="throw",
|
||||
feature_set=feature_set,
|
||||
version_check_mode='none',
|
||||
)
|
||||
return user, mastodon
|
||||
else:
|
||||
@ -105,6 +106,7 @@ def is_logged_in(request):
|
||||
def _notes_count(account, mastodon):
|
||||
if not mastodon:
|
||||
return ""
|
||||
mastodon.version_check_mode = 'none'
|
||||
notes = mastodon.notifications(limit=40)
|
||||
if account.preferences.filter_notifications:
|
||||
notes = [
|
||||
@ -182,6 +184,7 @@ def user_search(request):
|
||||
|
||||
def user_search_inner(request, query):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
results = mastodon.search(query)
|
||||
return render(
|
||||
request,
|
||||
@ -208,6 +211,7 @@ def timeline(
|
||||
filter_context="home",
|
||||
):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
data = mastodon.timeline(timeline, limit=40, max_id=max_id, min_id=min_id)
|
||||
form = PostForm(
|
||||
initial={"visibility": request.session["active_user"].source.privacy}
|
||||
@ -257,6 +261,7 @@ def timeline(
|
||||
|
||||
def get_filters(mastodon, context=None):
|
||||
try:
|
||||
mastodon.version_check_mode = 'none'
|
||||
if context:
|
||||
return [ff for ff in mastodon.filters() if context in ff.context]
|
||||
else:
|
||||
@ -341,6 +346,7 @@ def forget_account(request, account_name):
|
||||
|
||||
def notes_count(request):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
count = _notes_count(account, mastodon)
|
||||
return render(
|
||||
request,
|
||||
@ -372,6 +378,7 @@ def tag(request, tag):
|
||||
account, mastodon = get_usercontext(request)
|
||||
except NotLoggedInException:
|
||||
return redirect(login)
|
||||
mastodon.version_check_mode = 'none'
|
||||
data = mastodon.timeline_hashtag(tag)
|
||||
notifications = _notes_count(account, mastodon)
|
||||
return render(
|
||||
@ -438,6 +445,7 @@ def login(request):
|
||||
client_id=client.client_id,
|
||||
client_secret=client.client_secret,
|
||||
api_base_url=api_base_url,
|
||||
version_check_mode='none',
|
||||
)
|
||||
client.version = mastodon.instance().get("version")
|
||||
client.save()
|
||||
@ -460,6 +468,7 @@ def oauth_callback(request):
|
||||
client_id=request.session["active_client_id"],
|
||||
client_secret=request.session["active_client_secret"],
|
||||
api_base_url=request.session["active_instance"],
|
||||
version_check_mode="none",
|
||||
)
|
||||
redirect_uri = request.build_absolute_uri(reverse("oauth_callback"))
|
||||
access_token = mastodon.log_in(
|
||||
@ -467,6 +476,7 @@ def oauth_callback(request):
|
||||
)
|
||||
request.session["access_token"] = access_token
|
||||
user = mastodon.account_verify_credentials()
|
||||
|
||||
try:
|
||||
account = Account.objects.get(
|
||||
username=user.username + "@" + request.session["active_instance_hostname"]
|
||||
@ -615,6 +625,7 @@ def note(request, next=None, prev=None):
|
||||
account, mastodon = get_usercontext(request)
|
||||
except NotLoggedInException:
|
||||
return redirect(about)
|
||||
mastodon.version_check_mode = 'none'
|
||||
try:
|
||||
last_seen = mastodon.notifications(limit=1)[0]
|
||||
except IndexError:
|
||||
@ -740,6 +751,7 @@ def user(request, username, prev=None, next=None):
|
||||
except NotLoggedInException:
|
||||
return redirect(about)
|
||||
user_dict = None
|
||||
mastodon.version_check_mode = 'none'
|
||||
# pleroma currently flops if the user's not already locally known
|
||||
# this is a BUG that they MUST FIX
|
||||
# but until then, we might have to fallback to a regular search,
|
||||
@ -855,6 +867,7 @@ def status_post(account, request, mastodon, **kw):
|
||||
@br_login_required
|
||||
def toot(request, mention=None):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
if request.method == "GET":
|
||||
if mention:
|
||||
if not mention.startswith("@"):
|
||||
@ -960,6 +973,7 @@ def toot(request, mention=None):
|
||||
def redraft(request, id):
|
||||
if request.method == "GET":
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
toot = mastodon.status(id)
|
||||
toot_content = get_text(toot.content) # convert to plain text
|
||||
# fix up white space
|
||||
@ -995,6 +1009,7 @@ def redraft(request, id):
|
||||
elif request.method == "POST":
|
||||
form = PostForm(request.POST, request.FILES)
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
toot = mastodon.status(id)
|
||||
if form.is_valid():
|
||||
media_objects = []
|
||||
@ -1081,6 +1096,7 @@ def safe_get_attachment(toot, index):
|
||||
def reply(request, id):
|
||||
if request.method == "GET":
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
try:
|
||||
toot = mastodon.status(id)
|
||||
context = mastodon.status_context(id)
|
||||
@ -1199,6 +1215,7 @@ def reply(request, id):
|
||||
@br_login_required
|
||||
def share(request):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
if request.method == "GET":
|
||||
params = request.GET
|
||||
if request.method == "POST":
|
||||
@ -1231,6 +1248,7 @@ def share(request):
|
||||
@br_login_required
|
||||
def fav(request, id):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
toot = mastodon.status(id)
|
||||
if request.method == "POST":
|
||||
if not request.POST.get("cancel", None):
|
||||
@ -1270,6 +1288,7 @@ def fav(request, id):
|
||||
@br_login_required
|
||||
def boost(request, id):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
toot = mastodon.status(id)
|
||||
if request.method == "POST":
|
||||
if not request.POST.get("cancel", None):
|
||||
@ -1309,6 +1328,7 @@ def boost(request, id):
|
||||
@br_login_required
|
||||
def delete(request, id):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
toot = mastodon.status(id)
|
||||
if request.method == "POST" or request.method == "DELETE":
|
||||
if toot.account.acct != request.session["active_user"].acct:
|
||||
@ -1335,6 +1355,7 @@ def delete(request, id):
|
||||
@br_login_required
|
||||
def follow(request, id):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
try:
|
||||
user_dict = mastodon.account(id)
|
||||
relationship = mastodon.account_relationships(user_dict.id)[0]
|
||||
@ -1381,6 +1402,7 @@ def follow(request, id):
|
||||
@br_login_required
|
||||
def block(request, id):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
try:
|
||||
user_dict = mastodon.account(id)
|
||||
relationship = mastodon.account_relationships(user_dict.id)[0]
|
||||
@ -1419,6 +1441,7 @@ def block(request, id):
|
||||
@br_login_required
|
||||
def mute(request, id):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
try:
|
||||
user_dict = mastodon.account(id)
|
||||
relationship = mastodon.account_relationships(user_dict.id)[0]
|
||||
@ -1456,6 +1479,7 @@ def mute(request, id):
|
||||
@br_login_required
|
||||
def search(request):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
if request.GET.get("ic-request"):
|
||||
return render(
|
||||
request,
|
||||
@ -1487,6 +1511,7 @@ def search_results(request):
|
||||
query = ""
|
||||
account, mastodon = get_usercontext(request)
|
||||
|
||||
mastodon.version_check_mode = 'none'
|
||||
results = mastodon.search(query)
|
||||
notifications = _notes_count(account, mastodon)
|
||||
return render(
|
||||
@ -1523,6 +1548,7 @@ def about(request):
|
||||
@cache_page(60 * 30)
|
||||
def privacy(request):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
if account:
|
||||
preferences = account.preferences
|
||||
else:
|
||||
@ -1541,6 +1567,7 @@ def privacy(request):
|
||||
@br_login_required
|
||||
def emoji_reference(request):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
emojos = mastodon.custom_emojis()
|
||||
notifications = _notes_count(account, mastodon)
|
||||
return render(
|
||||
@ -1558,6 +1585,7 @@ def emoji_reference(request):
|
||||
@br_login_required
|
||||
def list_filters(request):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
filters = mastodon.filters()
|
||||
return render(
|
||||
request,
|
||||
@ -1569,6 +1597,7 @@ def list_filters(request):
|
||||
@br_login_required
|
||||
def create_filter(request):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
if request.method == "POST":
|
||||
form = FilterForm(request.POST)
|
||||
if form.is_valid():
|
||||
@ -1609,6 +1638,7 @@ def create_filter(request):
|
||||
@br_login_required
|
||||
def delete_filter(request, id):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
filter = mastodon.filter(id)
|
||||
|
||||
if request.method == "POST" or request.method == "DELETE":
|
||||
@ -1633,6 +1663,7 @@ def delete_filter(request, id):
|
||||
@br_login_required
|
||||
def edit_filter(request, id):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
filter = mastodon.filter(id)
|
||||
|
||||
contexts = []
|
||||
@ -1696,6 +1727,7 @@ def edit_filter(request, id):
|
||||
@br_login_required
|
||||
def follow_requests(request, id=None):
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
if request.method == "GET":
|
||||
reqs = mastodon.follow_requests()
|
||||
return render(
|
||||
@ -1716,6 +1748,7 @@ def follow_requests(request, id=None):
|
||||
@br_login_required
|
||||
def accounts(request, id=None):
|
||||
active_account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
if request.method == "GET":
|
||||
accounts = [x for x in request.session.get("accounts_dict").values()]
|
||||
return render(
|
||||
@ -1758,6 +1791,7 @@ def vote(request, id):
|
||||
return redirect("thread", id)
|
||||
if request.method == "POST":
|
||||
account, mastodon = get_usercontext(request)
|
||||
mastodon.version_check_mode = 'none'
|
||||
toot = mastodon.status(id)
|
||||
poll = toot.poll
|
||||
if not poll:
|
||||
|
Loading…
Reference in New Issue
Block a user