diff --git a/dss/settings.py b/dss/settings.py index f0a34b9..40db18e 100755 --- a/dss/settings.py +++ b/dss/settings.py @@ -95,7 +95,7 @@ MIDDLEWARE_CLASSES = ( 'django_user_agents.middleware.UserAgentMiddleware', 'pipeline.middleware.MinifyHTMLMiddleware', # 'spa.middleware.uploadify.SWFUploadMiddleware', - #'spa.middleware.sqlprinter.SqlPrintingMiddleware' if DEBUG else None, + 'spa.middleware.sqlprinter.SqlPrintingMiddleware' if DEBUG else None, #'debug_toolbar.middleware.DebugToolbarMiddleware', ) diff --git a/requirements.txt b/requirements.txt index 159bf09..c117c80 100755 --- a/requirements.txt +++ b/requirements.txt @@ -58,4 +58,5 @@ djrill python-shout django-dirtyfields django-storages -django-user-sessions \ No newline at end of file +django-user-sessions +apache-libcloud \ No newline at end of file diff --git a/spa/management/commands/archive_mixes.py b/spa/management/commands/archive_mixes.py index a7f1752..a909526 100755 --- a/spa/management/commands/archive_mixes.py +++ b/spa/management/commands/archive_mixes.py @@ -1,6 +1,7 @@ from django.core.management.base import NoArgsCommand from libcloud.storage.types import Provider from libcloud.storage.providers import get_driver +from core.utils.url import url_path_join from dss import settings from spa.models.mix import Mix from datetime import datetime, timedelta @@ -8,32 +9,36 @@ from django.db.models import Count import os import urlparse + class Command(NoArgsCommand): def handle_noargs(self, **options): try: - FILE_PATH = '/tmp/dss.log' cls = get_driver(Provider.AZURE_BLOBS) driver = cls(settings.AZURE_ACCOUNT_NAME, settings.AZURE_ACCOUNT_KEY) - container = driver.get_container(container_name='mixes') + container = driver.get_container(container_name=settings.AZURE_CONTAINER) + mixes = Mix.objects.filter(slug='lsd') + """ mixes = Mix.objects.filter(upload_date__lte=datetime.today() - timedelta(days=180)) \ - .annotate(num_plays=Count('activity_plays')) \ - .order_by('num_plays')[:10] - + .annotate(num_plays=Count('activity_plays')) \ + .order_by('num_plays')[:1] + """ for mix in mixes: if os.path.isfile(mix.get_absolute_path()): print "Uploading file for: %s" % mix.slug - file_name = "%s%s.mp3" % (urlparse.urljoin(settings.AZURE_ITEM_BASE_URL, "mixes/"), mix.uid) + file_name = "%s.%s" % (mix.uid, mix.filetype) + archive_path = url_path_join(settings.AZURE_ITEM_BASE_URL, settings.AZURE_CONTAINER, file_name) with open(mix.get_absolute_path(), 'rb') as iterator: obj = driver.upload_object_via_stream( iterator=iterator, container=container, - object_name = file_name + object_name=file_name ) - mix.archive_file = file_name; - mix.save() - print "done- file is %s" % file_name + print "Uploaded" + mix.archive_path = archive_path + mix.save() + print "done- file is %s" % mix.archive_path except Exception, ex: print "Debug exception: %s" % ex.message diff --git a/spa/models/mix.py b/spa/models/mix.py index 0769316..bdf34c7 100755 --- a/spa/models/mix.py +++ b/spa/models/mix.py @@ -163,13 +163,10 @@ class Mix(BaseModel): return super(Mix, self).get_image_url(self.mix_image, settings.STATIC_URL + 'img/default-track.png') def get_stream_path(self): - ret = url_path_join(localsettings.STREAM_URL, "%s.mp3" % self.uid) - """ if self.archive_path in [None, '']: ret = url_path_join(localsettings.STREAM_URL, "%s.mp3" % self.uid) else: ret = self.archive_path - """ return ret #used for podcast xml