From: Jan-Pascal van Best Date: Sat, 20 Feb 2016 20:38:21 +0000 (+0100) Subject: Working on better handling of exporting (streaming) tweets X-Git-Tag: v1.2~2 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=6487429bbee51bf28f49e34a85dc1868917d5bec;p=tweet-django-debian Working on better handling of exporting (streaming) tweets --- diff --git a/tweet/templates/tweet/export_stream.html b/tweet/templates/tweet/export_stream.html new file mode 100644 index 0000000..b78fb70 --- /dev/null +++ b/tweet/templates/tweet/export_stream.html @@ -0,0 +1,45 @@ +{% extends "tweet/base.html" %} + +{% block title %}Download continu{% endblock %} + +{% block content %} + + +

Voortgang

+

Het Excel-bestand wordt nu voor je gemaakt, even geduld aub...

+
+
+ 2% +
+
+ Download Excel + + + +{% endblock %} diff --git a/tweet/templates/tweet/index.html b/tweet/templates/tweet/index.html index 659743d..41e55d1 100644 --- a/tweet/templates/tweet/index.html +++ b/tweet/templates/tweet/index.html @@ -11,9 +11,12 @@ Toon resultaten

Continue zoekactie

- Stel zoektermen in + Stel zoektermen in

- Download resultaten + Overzicht resultaten +
+
+ Download resultaten {% endblock %} diff --git a/tweet/urls.py b/tweet/urls.py index e386241..f32401b 100644 --- a/tweet/urls.py +++ b/tweet/urls.py @@ -19,5 +19,7 @@ urlpatterns = [ url(r'^stream/list$', views.list_stream, name='list_stream'), url(r'^stream/edit_terms$', views.edit_stream_terms, name='edit_stream_terms'), url(r'^stream/download$', views.download_stream, name='download_stream'), + url(r'^stream/export$', views.export_stream, name='export_stream'), + url(r'^stream/export/progress$', views.export_stream_progress, name='export_stream_progress'), url(r'^stream/(?P[0-9]+)/delete$', views.delete_tweet, name='delete_tweet'), ] diff --git a/tweet/views.py b/tweet/views.py index 4ef0bc0..52e8fe6 100644 --- a/tweet/views.py +++ b/tweet/views.py @@ -5,6 +5,7 @@ import logging import os import os.path import tempfile +import threading import time from django.conf import settings @@ -157,7 +158,24 @@ def download_stream(request): logger.info("Exporting stream tweets to excel...") base_path = settings.TWEET_BASEPATH filename = os.path.join(base_path, "tmp.xlsx") - streamrunner.export_tweets(filename) + #streamrunner.export_tweets(filename) response = FileResponse(open(filename, 'rb'), content_type='application/vnd.ms-excel') response['Content-Disposition'] = 'attachment; filename="stream.xlsx"' return response + +def export_stream(request): + logger.info("Exporting stream tweets to excel...") + base_path = settings.TWEET_BASEPATH + filename = os.path.join(base_path, "tmp.xlsx") + #streamrunner.export_tweets(filename) + thread = threading.Thread(target=streamrunner.export_tweets, name="Stream exporter thread", + kwargs={'filename':filename}) + thread.start() + return render(request, "tweet/export_stream.html") + +def export_stream_progress(request): + result = { + "progress": 33, + "finished": True + } + return JsonResponse(result)