def serve_update(request): """ user_identity - unique user id. System for updating game files. url: /request-update?version={version} :param request: GET :return: """ version = int(request.GET.get('version', '-1')) current_version = GameBuild.objects.get(name="game").version if version >= current_version: response = JsonResponse({"status": "up-to-date"}) response.status_code = 200 else: files = [] all_graphic = Graphic.objects.all() all_sounds = Sound.objects.all() zip_name = f"update_{current_version}.zip" [ files.append(db_object.path) for db_object in all_graphic if db_object.version > version ] [ files.append(db_object.path) for db_object in all_sounds if db_object.version > version ] print(files) response = HttpResponse(content_type='application/zip') zip_file = zipfile.ZipFile(response, 'w') for filename in files: zip_file.write(filename) response['Content-Disposition'] = f'attachment; filename={zip_name}' print(response.items()) return response