From 25bd272b6d4ebe8f320b5ebada09b7cf3c9243c0 Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Thu, 15 Oct 2015 21:01:00 +0100 Subject: [PATCH 1/3] Removed broken user agents package --- dss/settings.py | 2 -- requirements.txt | 1 - 2 files changed, 3 deletions(-) diff --git a/dss/settings.py b/dss/settings.py index 878d9f5..305ee76 100755 --- a/dss/settings.py +++ b/dss/settings.py @@ -82,7 +82,6 @@ MIDDLEWARE_CLASSES = ( 'corsheaders.middleware.CorsMiddleware', # 'htmlmin.middleware.HtmlMinifyMiddleware', # 'htmlmin.middleware.MarkRequestMiddleware', - 'django_user_agents.middleware.UserAgentMiddleware', # 'spa.middleware.uploadify.SWFUploadMiddleware', # 'spa.middleware.sqlprinter.SqlPrintingMiddleware', # 'debug_toolbar.middleware.DebugToolbarMiddleware', @@ -120,7 +119,6 @@ INSTALLED_APPS = ( 'gunicorn', 'spa.signals', 'core', - 'django_user_agents', 'storages', 'social.apps.django_app.default', diff --git a/requirements.txt b/requirements.txt index a7809e5..ce09af2 100755 --- a/requirements.txt +++ b/requirements.txt @@ -13,7 +13,6 @@ six==1.6.0 django-filter django-grappelli==2.5.7 django-model_utils -django-user-agents redis git+git://github.com/llazzaro/django-scheduler.git#django-scheduler django-celery From 201313045890afbb92ce27c024667d77981ef799 Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Mon, 19 Oct 2015 19:10:48 +0100 Subject: [PATCH 2/3] Fixed some db stuff and fuck up --- api/helpers.py | 28 ++++++++++++++++++---------- core/radio/ice_scrobbler.py | 4 ++++ spa/management/commands/restore.py | 25 +++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 10 deletions(-) create mode 100644 spa/management/commands/restore.py diff --git a/api/helpers.py b/api/helpers.py index 07d4da2..7065a6b 100644 --- a/api/helpers.py +++ b/api/helpers.py @@ -80,14 +80,22 @@ class RadioHelper(Helper): return Response(data=ret, status=HTTP_200_OK) def post(self, request): - if 'action' in request.query_params: - action = request.query_params.get('action') - if action == 'shuffle': - ice_scrobbler.shuffle() - return Response(status=HTTP_200_OK) - if 'update' in request.query_params and 'url' in request.query_params: - activity.post_activity('site:radio_changed', message={ - 'description': request.query_params.get('update'), - 'url': request.query_params.get('url') - }) + try: + if 'action' in request.query_params: + action = request.query_params.get('action') + if action == 'shuffle': + ice_scrobbler.shuffle() + return Response(status=HTTP_200_OK) + if action == 'play': + m = Mix.objects.get(slug=request.query_params.get('slug')) + ice_scrobbler.play(m.get_stream_url()) + return Response(status=HTTP_200_OK) + if 'update' in request.query_params and 'url' in request.query_params: + activity.post_activity('site:radio_changed', message={ + 'description': request.query_params.get('update'), + 'url': request.query_params.get('url') + }) + except: + pass + return Response(status=HTTP_400_BAD_REQUEST) diff --git a/core/radio/ice_scrobbler.py b/core/radio/ice_scrobbler.py index 61bf26b..fb47d47 100644 --- a/core/radio/ice_scrobbler.py +++ b/core/radio/ice_scrobbler.py @@ -45,6 +45,10 @@ def shuffle(): url = "http://%s:%s/a/shuffle" % (settings.RADIO_HOST, settings.RADIO_PORT) r = requests.post(url) +def play(url): + url = "http://%s:%s/a/shuffle" % (settings.RADIO_HOST, settings.RADIO_PORT) + r = requests.post(url) + if __name__ == '__main__': d = get_server_details("localhost", "8000", "dss") diff --git a/spa/management/commands/restore.py b/spa/management/commands/restore.py new file mode 100644 index 0000000..f9c7bc9 --- /dev/null +++ b/spa/management/commands/restore.py @@ -0,0 +1,25 @@ +from django.core.management.base import LabelCommand +import dropbox +from dss import settings + + +def _restore_database(): + """ find latest database backup """ + client = dropbox.client.DropboxClient(settings.DSS_DB_BACKUP_TOKEN) + + +class Command(LabelCommand): + help = ( + "Handles restoring of items backed up" + ) + missing_args_message = "Enter one of [database, settings, media, all]" + + def handle_label(self, label, **options): + if label == "database": + _restore_database() + if label == "settings": + pass + if label == "media": + pass + if label == "all": + _restore_database() From 8434b49667f57a5ab70721af1650e11428c9aefc Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Mon, 19 Oct 2015 21:06:54 +0100 Subject: [PATCH 3/3] Fixed post flow --- api/helpers.py | 9 +++++++-- core/radio/ice_scrobbler.py | 9 ++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/api/helpers.py b/api/helpers.py index 7065a6b..f41a120 100644 --- a/api/helpers.py +++ b/api/helpers.py @@ -88,14 +88,19 @@ class RadioHelper(Helper): return Response(status=HTTP_200_OK) if action == 'play': m = Mix.objects.get(slug=request.query_params.get('slug')) - ice_scrobbler.play(m.get_stream_url()) + item = { + 'url': m.get_stream_url(), + 'slug': m.get_full_url(), + 'title': str(m) + } + ice_scrobbler.play(item) return Response(status=HTTP_200_OK) if 'update' in request.query_params and 'url' in request.query_params: activity.post_activity('site:radio_changed', message={ 'description': request.query_params.get('update'), 'url': request.query_params.get('url') }) - except: + except Exception as ex: pass return Response(status=HTTP_400_BAD_REQUEST) diff --git a/core/radio/ice_scrobbler.py b/core/radio/ice_scrobbler.py index fb47d47..9be7b93 100644 --- a/core/radio/ice_scrobbler.py +++ b/core/radio/ice_scrobbler.py @@ -42,13 +42,12 @@ def get_server_details(): def shuffle(): - url = "http://%s:%s/a/shuffle" % (settings.RADIO_HOST, settings.RADIO_PORT) - r = requests.post(url) - -def play(url): - url = "http://%s:%s/a/shuffle" % (settings.RADIO_HOST, settings.RADIO_PORT) + url = "http://{}:{}/a/shuffle".format(settings.RADIO_HOST, settings.RADIO_PORT) r = requests.post(url) +def play(item): + url = "http://{}:{}/a/play".format(settings.RADIO_HOST, settings.RADIO_PORT) + r = requests.post(url, data=item) if __name__ == '__main__': d = get_server_details("localhost", "8000", "dss")