diff --git a/README.md b/README.md new file mode 100644 index 0000000..a7fec5f --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# epub2go-web +A simple Website to provide a `NNI (Non-Nerd Interface)` to [epub2go.py](https://github.com/eneller/epub2go.py). \ No newline at end of file diff --git a/src/core/views.py b/src/core/views.py index f7227d3..114a58c 100644 --- a/src/core/views.py +++ b/src/core/views.py @@ -1,21 +1,31 @@ from django.shortcuts import render -from django.http import HttpRequest, HttpResponse +from django.http import HttpRequest, HttpResponse, FileResponse +from django.conf import settings -from epub2go.convert import get_all_books, Book +from epub2go.convert import get_all_books, Book, GBConvert + +import os def index(request: HttpRequest): title = 'epub2go' targetParam = request.GET.get('t', None) books = get_all_books() - if targetParam is not None: - getEpub(targetParam) + if targetParam: + epub = getEpub(targetParam) + fname = os.path.join(settings.MEDIA_ROOT, epub) + file = open(fname, 'rb') + response = FileResponse(file) + response['Content-Type'] = 'application/octet-stream' + response['Content-Disposition'] = f'attachment; filename="{os.path.basename(fname)}"' + return response + return render(request, 'index.html', locals()) def getEpub(param): print(param) # TODO validate / sanitize input # TODO check for existing file and age - # TODO download + #GBConvert(param,downloaddir=settings.MEDIA_ROOT).run() # TODO redirect to loading page # TODO redirect to download page raise NotImplementedError