from django.shortcuts import reverse, redirect, render, get_object_or_404 from django.http import HttpResponseBadRequest, HttpResponse from django.contrib.auth.decorators import login_required from django.contrib import auth from django.contrib.auth import authenticate from django.core.paginator import Paginator from django.utils.translation import gettext_lazy as _ from django.core.exceptions import ObjectDoesNotExist from django.db.models import Count from .models import User, Report, Preference from .forms import ReportForm from mastodon.api import * from mastodon import mastodon_request_included from common.config import * from common.utils import PageLinksGenerator from management.models import Announcement from mastodon.models import MastodonApplication from django.conf import settings from urllib.parse import quote from openpyxl import Workbook from common.utils import GenerateDateUUIDMediaFilePath from datetime import datetime import os def refresh_mastodon_data_task(user, token=None): if token: user.mastodon_token = token if user.refresh_mastodon_data(): user.save() print(f"{user} mastodon data refreshed") else: print(f"{user} mastodon data refresh failed")