mirror of
https://github.com/Kunsi/pretalx-plugin-broadcast-tools
synced 2024-11-15 16:45:48 +00:00
23 lines
839 B
Python
23 lines
839 B
Python
|
from django.http import FileResponse, Http404
|
||
|
from django.views import View
|
||
|
from pretalx.common.text.path import safe_filename
|
||
|
from pretalx.common.views.mixins import EventPermissionRequired
|
||
|
|
||
|
from pretalx_broadcast_tools.management.commands.export_voctomix_lower_thirds import (
|
||
|
get_export_targz_path,
|
||
|
)
|
||
|
|
||
|
|
||
|
class BroadcastToolsLowerThirdsVoctomixDownloadView(EventPermissionRequired, View):
|
||
|
permission_required = "agenda.view_schedule"
|
||
|
|
||
|
def get(self, request, *args, **kwargs):
|
||
|
targz_path = get_export_targz_path(self.request.event)
|
||
|
if not targz_path.exists():
|
||
|
raise Http404()
|
||
|
response = FileResponse(open(targz_path, "rb"), as_attachment=True)
|
||
|
response["Content-Disposition"] = (
|
||
|
f"attachment; filename={safe_filename(targz_path.name)}"
|
||
|
)
|
||
|
return response
|