diff --git a/apps/establishment/transfer_data.py b/apps/establishment/transfer_data.py index 8366ed94..84052089 100644 --- a/apps/establishment/transfer_data.py +++ b/apps/establishment/transfer_data.py @@ -1,11 +1,12 @@ from pprint import pprint +import requests from django.db.models import Q, F -from transfer.models import Establishments, Dishes -from transfer.serializers.establishment import EstablishmentSerializer from establishment.models import Establishment from location.models import Address +from transfer.models import Establishments, Dishes +from transfer.serializers.establishment import EstablishmentSerializer from transfer.serializers.plate import PlateSerializer @@ -126,6 +127,28 @@ def transfer_establishment_addresses(): establishment.save() +def fix_establishment_preview_image(): + + updated = 0 + not_updated = 0 + + qs = Establishment.objects.filter(image_url__isnull=False, + preview_image_url__isnull=False, + old_id__isnull=False) + for e in qs: + image_urlpath_1 = e.preview_image_url.__str__()[:-12] # https://.../gaultmillau.com/photos/.../ + extension = e.preview_image_url.__str__().split('.')[-1:][0] # JPG + image_urlpath_complete = f'{image_urlpath_1}xlarge.{extension}' + response = requests.head(image_urlpath_complete) + if response.status_code == 200: + e.preview_image_url = image_urlpath_complete + e.save() + updated += 1 + else: + not_updated += 1 + print(f'updated: {updated}\nnot_updated: {not_updated}') + + data_types = { "establishment": [ transfer_establishment, @@ -133,6 +156,6 @@ data_types = { "location_establishment": [ transfer_establishment_addresses ], - "menu": [transfer_menu], + "fix_establishment_preview_image": [fix_establishment_preview_image], } diff --git a/apps/transfer/management/commands/transfer.py b/apps/transfer/management/commands/transfer.py index dcfcbea9..9bb4dcde 100644 --- a/apps/transfer/management/commands/transfer.py +++ b/apps/transfer/management/commands/transfer.py @@ -26,7 +26,8 @@ class Command(BaseCommand): ] LONG_DATA_TYPES = [ - 'update_country_flag' + 'update_country_flag', + 'fix_establishment_preview_image' ] def handle(self, *args, **options):