From 462074664e6452d7d065d407320e0a9ecb8c7c74 Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Sun, 25 Oct 2015 20:53:51 +0000 Subject: [PATCH 1/9] Removed azure uninstall --- .gitignore | 1 + Dockerfile | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b68b21f..4f4b50d 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ build/* _working/* static/CACHE/* dss/localsettings.py +dss/localsettings.py.dev dss/storagesettings.py dss/celery_settings.py dss.conf diff --git a/Dockerfile b/Dockerfile index ed49c85..f6e5191 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,10 +19,9 @@ ADD . /code/ RUN apt-get update && apt-get install -y sox lame vim \ libboost-program-options-dev libsox-fmt-mp3 postgresql-client rsync openssh-client -RUN pip uninstall azure RUN pip install -r requirements.txt RUN adduser --disabled-password --gecos '' djworker RUN chown djworker /files -R RUN chown djworker /srv/logs -R -RUN export PATH=$PATH:/mnt/bin/ \ No newline at end of file +RUN export PATH=$PATH:/mnt/bin/ From bd10dce7f4614d45f5e2f706106232d210d20bf7 Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Wed, 28 Oct 2015 20:45:47 +0000 Subject: [PATCH 2/9] Moved secrets to env file --- api/views.py | 2 +- dss/celeryconf.py | 2 -- dss/settings.py | 30 ++++++++++++++++++++++++++++++ spa/models/mix.py | 6 +++--- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/api/views.py b/api/views.py index ca58883..fae35c7 100755 --- a/api/views.py +++ b/api/views.py @@ -217,7 +217,7 @@ class PartialMixUploadView(views.APIView): ( tasks.create_waveform_task.s(input_file, uid) | tasks.upload_to_cdn_task.subtask(('mp3', uid, 'mixes'), immutable=True) | - tasks.upload_to_cdn_task.subtask(('png', uid, 'waveforms'), immutable=True) | + tasks.upload_to_cdn_task.subtask (('png', uid, 'waveforms'), immutable=True) | tasks.notify_subscriber.subtask((session_id, uid), immutable=True) ).delay() logger.debug("Waveform task started") diff --git a/dss/celeryconf.py b/dss/celeryconf.py index 8499c10..5a1a57a 100644 --- a/dss/celeryconf.py +++ b/dss/celeryconf.py @@ -1,5 +1,3 @@ - - import os import logging diff --git a/dss/settings.py b/dss/settings.py index 305ee76..837b219 100755 --- a/dss/settings.py +++ b/dss/settings.py @@ -4,6 +4,7 @@ import mimetypes from datetime import timedelta from django.core.urlresolvers import reverse_lazy from django.conf import global_settings +from dss import storagesettings from utils import here @@ -211,3 +212,32 @@ JWT_AUTH = { 'JWT_ALLOW_REFRESH': True, 'JWT_REFRESH_EXPIRATION_DELTA': timedelta(days=30), } + +""" static settings """ +CDN_URL = storagesettings.AZURE_ITEM_BASE_URL +MIXIMAGE_URL = '{0}miximages/'.format(CDN_URL) +WAVEFORM_URL = '{0}waveforms/'.format(CDN_URL) +STREAM_URL = '{0}mixes/'.format(CDN_URL) +AUDIO_URL = '{0}mixes/'.format(CDN_URL) + +MEDIA_URL = 'http://home.bitchmints.com/DSSMedia/' # '{0}media/'.format(CDN_URL) + +NOTIFICATIONS_FROM_ADDRESS = "admin@deepsouthsounds.com" + +CORS_ORIGIN_ALLOW_ALL = True +CORS_ALLOW_CREDENTIALS = True +CORS_ALLOW_HEADERS = ( + 'x-requested-with', + 'content-type', + 'cache-control', + 'accept', + 'origin', + 'authorization', + + 'upload-hash', + 'session-id', + 'auth-backend', + 'x-csrftoken' +) + +""" End static settings """ \ No newline at end of file diff --git a/spa/models/mix.py b/spa/models/mix.py index 743dc3c..679f747 100755 --- a/spa/models/mix.py +++ b/spa/models/mix.py @@ -103,7 +103,7 @@ class Mix(BaseModel): self.clean_image('mix_image', Mix) # Check for the unlikely event that the waveform has been generated - if cdn.file_exists('{0}{1}.png'.format(localsettings.WAVEFORM_URL, self.uid)): + if cdn.file_exists('{0}{1}.png'.format(settings.WAVEFORM_URL, self.uid)): self.waveform_generated = True try: self.duration = mp3_length(self.get_absolute_path()) @@ -153,12 +153,12 @@ class Mix(BaseModel): def get_waveform_url(self, waveform_type=""): # TODO: Design better flow for this sort of thing - if not self.waveform_generated and cdn.file_exists('{0}{1}.png'.format(localsettings.WAVEFORM_URL, self.uid)): + if not self.waveform_generated and cdn.file_exists('{0}{1}.png'.format(settings.WAVEFORM_URL, self.uid)): self.waveform_generated = True self.save() if self.waveform_generated: - waveform_root = localsettings.WAVEFORM_URL \ + waveform_root = settings.WAVEFORM_URL \ if hasattr(localsettings, 'WAVEFORM_URL') else "%swaveforms" % settings.MEDIA_URL From 0b5995a11e88183756f020e25eb07a79289a267d Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Wed, 28 Oct 2015 21:07:06 +0000 Subject: [PATCH 3/9] Added localsettings --- .gitignore | 1 - dss/localsettings.py | 52 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100755 dss/localsettings.py diff --git a/.gitignore b/.gitignore index 4f4b50d..ba820fb 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,6 @@ media/* build/* _working/* static/CACHE/* -dss/localsettings.py dss/localsettings.py.dev dss/storagesettings.py dss/celery_settings.py diff --git a/dss/localsettings.py b/dss/localsettings.py new file mode 100755 index 0000000..ed46508 --- /dev/null +++ b/dss/localsettings.py @@ -0,0 +1,52 @@ +import os + +DEBUG = True +DSS_TEMP_PATH = os.environ.get('DSS_TEMP_PATH', '/tmp/') +DSS_LAME_PATH = os.environ.get('DSS_LAME_PATH', '/usr/bin/sox') +DSS_WAVE_PATH = os.environ.get('DSS_WAVE_PATH', + '/home/fergalm/Dropbox/development/deepsouthsounds.com/dss.lib/wav2png/bin/Linux/wav2png') +GEOIP_PATH = os.environ.get('GEOIP_PATH', '/home/fergalm/Dropbox/Private/deepsouthsounds.com/working/geolite') + +DATABASE_PASSWORD = os.environ.get('DATABASE_PASSWORD', 'deepsouthsounds') +DATABASE_NAME = os.environ.get('DATABASE_NAME', 'deepsouthsounds') +DATABASE_USER = os.environ.get('DATABASE_USER', 'deepsouthsounds') +DATABASE_HOST = os.environ.get('DATABASE_HOST', 'localhost') + +STATIC_URL = '/assets/' +MEDIA_ROOT = os.environ.get('MEDIA_ROOT', '/files/media') +STATIC_ROOT = os.environ.get('STATIC_ROOT', '/files/static') +CACHE_ROOT = os.environ.get('CACHE_ROOT', '/files/cache') + +REDIS_HOST = 'localhost' +BROKER_URL = os.environ.get('BROKER_URL', 'amqp://guest:guest@localhost:5672//') +CELERY_ACCEPT_CONTENT = ['pickle', 'msgpack', 'json'] + +SECRET_KEY = os.environ.get('SECRET_KEY', '') +LIVE_ENABLED = os.environ.get('LIVE_ENABLED', False) + +ICE_HOST = os.environ.get('ICE_HOST', 'localhost') +ICE_MOUNT = os.environ.get('ICE_MOUNT =', 'dss') +ICE_PORT = os.environ.get('ICE_PORT', 8000) + +RADIO_HOST = os.environ.get('RADIO_HOST', 'localhost') +RADIO_PORT = os.environ.get('RADIO_PORT', 8888) + +MANDRILL_API_KEY = os.environ.get('MANDRILL_API_KEY', '') + +SOCIAL_AUTH_FACEBOOK_KEY = os.environ.get('MANDRILL_API_KEY', '') +SOCIAL_AUTH_FACEBOOK_SECRET = os.environ.get('MANDRILL_API_KEY', '') + +SOCIAL_AUTH_TWITTER_KEY = os.environ.get('MANDRILL_API_KEY', '') +SOCIAL_AUTH_TWITTER_SECRET = os.environ.get('MANDRILL_API_KEY', '') + +SOCIAL_AUTH_GOOGLE_OAUTH_KEY = os.environ.get('MANDRILL_API_KEY', '') +SOCIAL_AUTH_GOOGLE_OAUTH_SECRET = os.environ.get('MANDRILL_API_KEY', '') + +SOCIAL_AUTH_GOOGLE_PLUS_KEY = os.environ.get('MANDRILL_API_KEY', '') +SOCIAL_AUTH_GOOGLE_PLUS_SECRET = os.environ.get('MANDRILL_API_KEY', '') + +DSS_DB_BACKUP_KEY = os.environ.get('MANDRILL_API_KEY', '') +DSS_DB_BACKUP_SECRET = os.environ.get('MANDRILL_API_KEY', '') +DSS_DB_BACKUP_TOKEN = os.environ.get('MANDRILL_API_KEY', '') + +AZURE_ACCOUNT_KEY = os.environ.get('MANDRILL_API_KEY', '') From 3f49076251108d4b43966d25d08cfdbc5f78b470 Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Wed, 28 Oct 2015 21:07:29 +0000 Subject: [PATCH 4/9] Mod gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ba820fb..a1e853a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ build/* _working/* static/CACHE/* dss/localsettings.py.dev +dss/localsettings.py.docker dss/storagesettings.py dss/celery_settings.py dss.conf From c3a94b2104de626e269f8e5f22bd307119615555 Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Thu, 29 Oct 2015 20:58:53 +0000 Subject: [PATCH 5/9] Added storage settings --- .gitignore | 1 - dss/localsettings.py | 2 ++ dss/settings.py | 1 - dss/storagesettings.py | 6 ++++++ 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100755 dss/storagesettings.py diff --git a/.gitignore b/.gitignore index a1e853a..1ec4988 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,6 @@ _working/* static/CACHE/* dss/localsettings.py.dev dss/localsettings.py.docker -dss/storagesettings.py dss/celery_settings.py dss.conf dss/debugsettings.py diff --git a/dss/localsettings.py b/dss/localsettings.py index ed46508..9b99123 100755 --- a/dss/localsettings.py +++ b/dss/localsettings.py @@ -17,6 +17,8 @@ MEDIA_ROOT = os.environ.get('MEDIA_ROOT', '/files/media') STATIC_ROOT = os.environ.get('STATIC_ROOT', '/files/static') CACHE_ROOT = os.environ.get('CACHE_ROOT', '/files/cache') +MEDIA_URL = os.environ.get('MEDIA_URL', 'http://deepsouthsounds.com/media') # '{0}media/'.format(CDN_URL) + REDIS_HOST = 'localhost' BROKER_URL = os.environ.get('BROKER_URL', 'amqp://guest:guest@localhost:5672//') CELERY_ACCEPT_CONTENT = ['pickle', 'msgpack', 'json'] diff --git a/dss/settings.py b/dss/settings.py index 837b219..099c0b5 100755 --- a/dss/settings.py +++ b/dss/settings.py @@ -220,7 +220,6 @@ WAVEFORM_URL = '{0}waveforms/'.format(CDN_URL) STREAM_URL = '{0}mixes/'.format(CDN_URL) AUDIO_URL = '{0}mixes/'.format(CDN_URL) -MEDIA_URL = 'http://home.bitchmints.com/DSSMedia/' # '{0}media/'.format(CDN_URL) NOTIFICATIONS_FROM_ADDRESS = "admin@deepsouthsounds.com" diff --git a/dss/storagesettings.py b/dss/storagesettings.py new file mode 100755 index 0000000..2e30c6b --- /dev/null +++ b/dss/storagesettings.py @@ -0,0 +1,6 @@ +from dss import localsettings + +AZURE_ACCOUNT_NAME = 'dsscdn' +AZURE_CONTAINER = 'media' +AZURE_ACCOUNT_KEY = localsettings.AZURE_ACCOUNT_KEY +AZURE_ITEM_BASE_URL = 'https://dsscdn.blob.core.windows.net/' From 6e0b118cd8329e08ee73b15b9231b6c04f45447d Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Thu, 29 Oct 2015 21:52:06 +0000 Subject: [PATCH 6/9] Fixed waveform url --- dss/localsettings.py | 2 +- spa/models/mix.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/dss/localsettings.py b/dss/localsettings.py index 9b99123..61aae0e 100755 --- a/dss/localsettings.py +++ b/dss/localsettings.py @@ -17,7 +17,7 @@ MEDIA_ROOT = os.environ.get('MEDIA_ROOT', '/files/media') STATIC_ROOT = os.environ.get('STATIC_ROOT', '/files/static') CACHE_ROOT = os.environ.get('CACHE_ROOT', '/files/cache') -MEDIA_URL = os.environ.get('MEDIA_URL', 'http://deepsouthsounds.com/media') # '{0}media/'.format(CDN_URL) +MEDIA_URL = os.environ.get('MEDIA_URL', 'http://deepsouthsounds.com/media/') # '{0}media/'.format(CDN_URL) REDIS_HOST = 'localhost' BROKER_URL = os.environ.get('BROKER_URL', 'amqp://guest:guest@localhost:5672//') diff --git a/spa/models/mix.py b/spa/models/mix.py index 679f747..bde24ac 100755 --- a/spa/models/mix.py +++ b/spa/models/mix.py @@ -159,8 +159,7 @@ class Mix(BaseModel): if self.waveform_generated: waveform_root = settings.WAVEFORM_URL \ - if hasattr(localsettings, - 'WAVEFORM_URL') else "%swaveforms" % settings.MEDIA_URL + if hasattr(settings, 'WAVEFORM_URL') else "%swaveforms" % settings.MEDIA_URL ret = "%s/%s%s.%s" % (waveform_root, self.uid, waveform_type, "png") return url.urlclean(ret) From 124a3c31bd66eae7ff2796826883993e00fcd3de Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Fri, 30 Oct 2015 22:12:43 +0000 Subject: [PATCH 7/9] Fixed broken keys --- dss/localsettings.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/dss/localsettings.py b/dss/localsettings.py index 61aae0e..1455792 100755 --- a/dss/localsettings.py +++ b/dss/localsettings.py @@ -23,7 +23,7 @@ REDIS_HOST = 'localhost' BROKER_URL = os.environ.get('BROKER_URL', 'amqp://guest:guest@localhost:5672//') CELERY_ACCEPT_CONTENT = ['pickle', 'msgpack', 'json'] -SECRET_KEY = os.environ.get('SECRET_KEY', '') +SECRET_KEY = os.environ.get('SECRET_KEY', 'AAA') LIVE_ENABLED = os.environ.get('LIVE_ENABLED', False) ICE_HOST = os.environ.get('ICE_HOST', 'localhost') @@ -35,20 +35,20 @@ RADIO_PORT = os.environ.get('RADIO_PORT', 8888) MANDRILL_API_KEY = os.environ.get('MANDRILL_API_KEY', '') -SOCIAL_AUTH_FACEBOOK_KEY = os.environ.get('MANDRILL_API_KEY', '') -SOCIAL_AUTH_FACEBOOK_SECRET = os.environ.get('MANDRILL_API_KEY', '') +SOCIAL_AUTH_FACEBOOK_KEY = os.environ.get('SOCIAL_AUTH_FACEBOOK_KEY', '') +SOCIAL_AUTH_FACEBOOK_SECRET = os.environ.get('SOCIAL_AUTH_FACEBOOK_SECRET', '') -SOCIAL_AUTH_TWITTER_KEY = os.environ.get('MANDRILL_API_KEY', '') -SOCIAL_AUTH_TWITTER_SECRET = os.environ.get('MANDRILL_API_KEY', '') +SOCIAL_AUTH_TWITTER_KEY = os.environ.get('SOCIAL_AUTH_TWITTER_KEY', '') +SOCIAL_AUTH_TWITTER_SECRET = os.environ.get('SOCIAL_AUTH_TWITTER_SECRET', '') -SOCIAL_AUTH_GOOGLE_OAUTH_KEY = os.environ.get('MANDRILL_API_KEY', '') -SOCIAL_AUTH_GOOGLE_OAUTH_SECRET = os.environ.get('MANDRILL_API_KEY', '') +SOCIAL_AUTH_GOOGLE_OAUTH_KEY = os.environ.get('SOCIAL_AUTH_GOOGLE_OAUTH_KEY', '') +SOCIAL_AUTH_GOOGLE_OAUTH_SECRET = os.environ.get('SOCIAL_AUTH_GOOGLE_OAUTH_SECRET', '') -SOCIAL_AUTH_GOOGLE_PLUS_KEY = os.environ.get('MANDRILL_API_KEY', '') -SOCIAL_AUTH_GOOGLE_PLUS_SECRET = os.environ.get('MANDRILL_API_KEY', '') +SOCIAL_AUTH_GOOGLE_PLUS_KEY = os.environ.get('SOCIAL_AUTH_GOOGLE_PLUS_KEY', '') +SOCIAL_AUTH_GOOGLE_PLUS_SECRET = os.environ.get('SOCIAL_AUTH_GOOGLE_PLUS_SECRET', '') -DSS_DB_BACKUP_KEY = os.environ.get('MANDRILL_API_KEY', '') -DSS_DB_BACKUP_SECRET = os.environ.get('MANDRILL_API_KEY', '') -DSS_DB_BACKUP_TOKEN = os.environ.get('MANDRILL_API_KEY', '') +DSS_DB_BACKUP_KEY = os.environ.get('DSS_DB_BACKUP_KEY', '') +DSS_DB_BACKUP_SECRET = os.environ.get('DSS_DB_BACKUP_SECRET', '') +DSS_DB_BACKUP_TOKEN = os.environ.get('DSS_DB_BACKUP_TOKEN', '') -AZURE_ACCOUNT_KEY = os.environ.get('MANDRILL_API_KEY', '') +AZURE_ACCOUNT_KEY = os.environ.get('AZURE_ACCOUNT_KEY', '') From a38401efe2a80120fe1b8928721028653b53c3a0 Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Fri, 30 Oct 2015 22:47:04 +0000 Subject: [PATCH 8/9] Added redis host to settings --- dss/localsettings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dss/localsettings.py b/dss/localsettings.py index 1455792..9c82de2 100755 --- a/dss/localsettings.py +++ b/dss/localsettings.py @@ -19,7 +19,7 @@ CACHE_ROOT = os.environ.get('CACHE_ROOT', '/files/cache') MEDIA_URL = os.environ.get('MEDIA_URL', 'http://deepsouthsounds.com/media/') # '{0}media/'.format(CDN_URL) -REDIS_HOST = 'localhost' +REDIS_HOST = os.environ.get('REDIS_HOST', 'localhost') BROKER_URL = os.environ.get('BROKER_URL', 'amqp://guest:guest@localhost:5672//') CELERY_ACCEPT_CONTENT = ['pickle', 'msgpack', 'json'] From 08241d31272d31999bc59b3da30aec7eeb9b63b1 Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Sun, 1 Nov 2015 16:13:00 +0000 Subject: [PATCH 9/9] Changed azure import --- spa/management/commands/get_avatars.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spa/management/commands/get_avatars.py b/spa/management/commands/get_avatars.py index 32d71de..e8cdf30 100755 --- a/spa/management/commands/get_avatars.py +++ b/spa/management/commands/get_avatars.py @@ -1,7 +1,7 @@ +from azure.storage.blob import BlobService import urllib.request, urllib.error, urllib.parse from allauth.socialaccount.models import SocialAccount -from azure.storage import BlobService from django.core.files.base import File from django.core.files.temp import NamedTemporaryFile from django.core.management.base import NoArgsCommand