diff --git a/api/auth.py b/api/auth.py index 9d62d3f..47772fb 100644 --- a/api/auth.py +++ b/api/auth.py @@ -14,7 +14,7 @@ from rest_framework import parsers from social.apps.django_app.utils import psa -logger = logging.getLogger('spa') +logger = logging.getLogger('dss') @psa() diff --git a/api/views.py b/api/views.py index 633a492..7001e4f 100755 --- a/api/views.py +++ b/api/views.py @@ -30,7 +30,7 @@ from spa.models.notification import Notification from spa.models.show import Show from spa.models.userprofile import UserProfile -logger = logging.getLogger('spa') +logger = logging.getLogger('dss') class AnonymousWriteUserDelete(BasePermission): diff --git a/core/realtime/activity.py b/core/realtime/activity.py index 4205ea7..2d3de4a 100755 --- a/core/realtime/activity.py +++ b/core/realtime/activity.py @@ -1,12 +1,16 @@ +import logging import redis import json from dss import settings +logger = logging.getLogger('dss') + def post_activity(channel, session, message): r = redis.StrictRedis(host=settings.REDIS_HOST, port=6379, db=0) - response = r.publish(channel, json.dumps({'session': session, 'message': message})) - print("Message sent: {0}".format(response)) + payload = json.dumps({'session': session, 'message': message}) + response = r.publish(channel, payload) + logger.debug("Message sent: {0}".format(payload)) if __name__ == '__main__': post_activity('site:broadcast', '3a596ca6c97065a67aca3dc4a3ba230d688cf413', 'bargle') diff --git a/core/realtime/chat.py b/core/realtime/chat.py index 6189582..381f4fa 100644 --- a/core/realtime/chat.py +++ b/core/realtime/chat.py @@ -2,6 +2,9 @@ import json import datetime import redis from dss import settings +import logging + +logger = logging.getLogger('dss') def post_chat(session, image, user, message): @@ -14,4 +17,4 @@ def post_chat(session, image, user, message): 'date': datetime.datetime.now().isoformat() }) response = r.publish('chat', payload) - print("Message sent: {0}".format(response)) + logger.debug("Message sent: {0}".format(payload)) diff --git a/dss/logsettings.py b/dss/logsettings.py index a98888a..f591327 100755 --- a/dss/logsettings.py +++ b/dss/logsettings.py @@ -36,7 +36,7 @@ LOGGING = { 'propagate': True, 'level': 'DEBUG', }, - 'spa': { + 'dss': { 'handlers': ['file', 'console'], 'level': 'DEBUG', }, diff --git a/dss/settings.py b/dss/settings.py index 6d6a9f7..e003c7c 100755 --- a/dss/settings.py +++ b/dss/settings.py @@ -204,6 +204,7 @@ DEFAULT_TRACK_IMAGE = 'assets/images/dyn/default-track-200.png' DEFAULT_USER_IMAGE = 'assets/images/dyn/default-avatar-32.png' DEFAULT_USER_NAME = 'Anonymouse' DEFAULT_USER_TITLE = 'Just another DSS lover' +DEFAULT_WAVEFORM_GENERATING = '/assets/images/waveform-interstitial.gif' SITE_NAME = 'Deep South Sounds' THUMBNAIL_PREFIX = '_tn/' diff --git a/spa/management/commands/tidy_cdn.py b/spa/management/commands/tidy_cdn.py index c3477c6..24c4109 100755 --- a/spa/management/commands/tidy_cdn.py +++ b/spa/management/commands/tidy_cdn.py @@ -14,6 +14,8 @@ class Command(NoArgsCommand): uid, type = os.path.splitext(item) try: Mix.objects.get(uid=uid) + except Mix.MultipleObjectsReturned: + print('uid: {0} is duplicated'.format(uid)) except Mix.DoesNotExist: # no mix found - delete the blob cdn.delete_object('mixes', item) diff --git a/spa/models/mix.py b/spa/models/mix.py index 3fc887d..47e5603 100755 --- a/spa/models/mix.py +++ b/spa/models/mix.py @@ -152,6 +152,11 @@ class Mix(BaseModel): return os.path.join(settings.MEDIA_ROOT, "waveforms/", "%s.%s" % (self.uid, "png")) 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)): + self.waveform_generated = True + self.save() + if self.waveform_generated: waveform_root = localsettings.WAVEFORM_URL \ if hasattr(localsettings, @@ -160,7 +165,7 @@ class Mix(BaseModel): ret = "%s/%s%s.%s" % (waveform_root, self.uid, waveform_type, "png") return url.urlclean(ret) else: - return "Invalid Waveform" + return settings.DEFAULT_WAVEFORM_GENERATING def get_waveform_progress_url(self): return self.get_waveform_url(waveform_type="_progress") diff --git a/spa/tasks.py b/spa/tasks.py index aad980b..f23ef2d 100755 --- a/spa/tasks.py +++ b/spa/tasks.py @@ -24,7 +24,6 @@ def create_waveform_task(in_file, uid): generate_waveform(in_file, out_file) if os.path.isfile(out_file): logger.info("Waveform generated successfully") - waveform_generated_signal.send(sender=None, uid=uid, path=in_file) return out_file else: logger.error("Outfile is missing") @@ -33,11 +32,12 @@ def create_waveform_task(in_file, uid): @task(time_limit=3600) def upload_to_cdn_task(filetype, uid, container_name): source_file = os.path.join(settings.CACHE_ROOT, '{0}/{1}.{2}'.format(container_name, uid, filetype)) - logger.info("Sending {0} to azure".format(uid)) try: file_name = "{0}.{1}".format(uid, filetype) + logger.info("Sending {0} to azure".format(source_file)) print(source_file) cdn.upload_file_to_azure(source_file, file_name, container_name) + logger.info("Sent {0} to azure".format(source_file)) return source_file except Exception as ex: logger.error("Unable to upload: {0}".format(ex))