From 48c27d56e44e38b13f52f757f79563b409f84bf6 Mon Sep 17 00:00:00 2001 From: Yohan Boniface Date: Wed, 21 Jun 2023 10:48:29 +0200 Subject: [PATCH] Allow to set the lang while generating an anonymous_edit_url fix #993 --- .../management/commands/anonymous_edit_url.py | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/umap/management/commands/anonymous_edit_url.py b/umap/management/commands/anonymous_edit_url.py index 41c4c0a4..6413f696 100644 --- a/umap/management/commands/anonymous_edit_url.py +++ b/umap/management/commands/anonymous_edit_url.py @@ -1,27 +1,37 @@ import sys +from django.conf import settings from django.core.management.base import BaseCommand +from django.utils import translation from umap.models import Map class Command(BaseCommand): - help = ('Retrieve anonymous edit url of a map. ' - 'Eg.: python manage.py anonymous_edit_url 1234') + help = ( + "Retrieve anonymous edit url of a map. " + "Eg.: python manage.py anonymous_edit_url 1234" + ) def add_arguments(self, parser): - parser.add_argument('pk', help='PK of the map to retrieve.') + parser.add_argument("pk", help="PK of the map to retrieve.") + parser.add_argument( + "--lang", + help="Language code to use in the URL.", + default=settings.LANGUAGE_CODE, + ) def abort(self, msg): self.stderr.write(msg) sys.exit(1) def handle(self, *args, **options): - pk = options['pk'] + translation.activate(options["lang"]) + pk = options["pk"] try: map_ = Map.objects.get(pk=pk) except Map.DoesNotExist: - self.abort('Map with pk {} not found'.format(pk)) + self.abort("Map with pk {} not found".format(pk)) if map_.owner: - self.abort('Map is not anonymous (owner: {})'.format(map_.owner)) + self.abort("Map is not anonymous (owner: {})".format(map_.owner)) print(map_.get_anonymous_edit_url())