kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
22 wiersze
788 B
Python
22 wiersze
788 B
Python
"""
|
|
Compute different sizes of image used for Album covers and User avatars
|
|
"""
|
|
from django.db.utils import IntegrityError
|
|
|
|
from funkwhale_api.users.models import User, create_actor
|
|
|
|
|
|
def main(command, **kwargs):
|
|
qs = User.objects.filter(actor__isnull=True).order_by("username")
|
|
total = len(qs)
|
|
command.stdout.write(f"{total} users found without actors")
|
|
for i, user in enumerate(qs):
|
|
command.stdout.write(f"{i + 1}/{total} creating actor for {user.username}")
|
|
try:
|
|
user.actor = create_actor(user)
|
|
except IntegrityError as e:
|
|
# somehow, an actor with the the url exists in the database
|
|
command.stderr.write(f"Error while creating actor: {str(e)}")
|
|
continue
|
|
user.save(update_fields=["actor"])
|