import mezzanine.blog.models as blog_models
+# Check mp3 in media upload path
+def check_mp3(file_list, file_path):
+ file_exists = [os.path.exists(os.path.join(file_path, file_name))
+ for file_name in file_list]
+
+ missing_files = [file_name for (file_name, ok) in zip(file_list, file_exists) if not ok]
+ if missing_files:
+ print "Missing files in path : %s\n" % file_path
+ print '\n'.join(missing_files)
+ else:
+ print "No missing MP3 Mix files"
+ return missing_files
class Command(BaseCommand):
help = 'Populate the new database from the original backup'
self.stdout.write("\t%d new country objects" % count)
self.stdout.write("\t%d countries in DB ( %d in old DB)" % (len(Country.objects.all()), len(old_country)))
+
+
+
+ # PODCAST FROM MIX
+ def populate_podcast(self, user):
+ MIX_CATEGORY = 'Podcast'
+ blog_models.BlogCategory.objects.get_or_create(title=MIX_CATEGORY)
+
+ PODCAST_IMG_PATH = os.path.join('uploads/blog/mixes')
+ PODCAST_AUDIO_PATH = os.path.join('uploads/audio/mixes')
+
+ self.stdout.write('Podcast\n-------\n')
+
+ # MP3 for mix
+ mp3_mix_list = [mix.mp3 for mix in rec_models.Mix.objects.all()]
+
+ check_mp3(mp3_mix_list, PODCAST_AUDIO_PATH)
+
+ ordered_mix_list = sorted(rec_models.Mix.objects.all(), key=lambda mix: mix.ordre)
+ count = 0
+ for mix in ordered_mix_list:
+ if mix.visu1:
+ img_file = str(mix.id) + '.jpg'
+ img_path = os.path.join(PODCAST_IMG_PATH, img_file)
+ else:
+ img_path = ''
+
+ audio_path = os.path.join(PODCAST_AUDIO_PATH, mix.mp3)
+ #status=mix.published+1,
+ #featured_image=img_path,
+ #user=digger)
+ if mix.titre:
+ obj, created = rec_models.Podcast.objects.get_or_create(pk=mix.pk,
+ title=parser.unescape(mix.titre),
+ user=user)
+ if created:
+ count += 1
+ obj.audio=audio_path
+ obj.genre=mix.genre
+ obj.old_date=mix.date
+ desc = parser.unescape(mix.desc)
+ obj.description=desc
+ obj.content=desc # duplicate description in content
+ obj.status=mix.published+1
+ obj.featured_image=img_path
+ obj.save()
+
+ self.stdout.write("\t%d new Podcast objects" % count)
+ self.stdout.write("\t%d Podcast in DB ( %d in old DB)" % (len(rec_models.Podcast.objects.all()), len(ordered_mix_list)))
+
+ ## audio = FileField(verbose_name=_("Audio File"), max_length=200, format="audio",
+ ## upload_to=upload_to("records.Podcast.audio", "audio/mixes"))
+ ## genre = models.CharField(max_length=128)
+ ## # titre --> title
+ ## date = models.CharField(max_length=64)
+ ## # desc --> description
+ ## # mp3 --> audio
+ ## #visu1 = models.IntegerField() si 1 --> featured_image
+ ## # ordre : on laisse tombé ?
+ ## # published --> status / 0 --> CONTENT_STATUS_DRAFT = 1 / 1 CONTENT_STATUS_PUBLISHED = 2
+
+
def handle(self, *args, **options):
## for poll_id in options['poll_id']:
## poll.save()
## self.stdout.write('Successfully closed poll "%s"' % poll_id)
+ from django.contrib.auth import models as auth_models
+ digger, created = auth_models.User.objects.get_or_create(username=u'digger',
+ password=u'admin',
+ is_staff=True,
+ email=u'')
+
self.populate_label()
self.populate_artist()
self.populate_country()
+ self.populate_podcast(user=digger)
# MP3
mp3_shop_list = [shop.mp3 for shop in rec_models.Shop.objects.all()]
-# MP3 for mix
-mp3_mix_list = [mix.mp3 for mix in rec_models.Mix.objects.all()]
AUDIO_PATH = os.path.join(settings.MEDIA_ROOT, 'uploads/audio/')
MIX_PATH = os.path.join(AUDIO_PATH, 'mixes')
RECORDS_PATH = os.path.join(AUDIO_PATH, "records")
-# Check mp3 in media upload path
-def check_mp3(file_list, file_path):
- file_exists = [os.path.exists(os.path.join(file_path, file_name))
- for file_name in file_list]
-
- missing_files = [file_name for (file_name, ok) in zip(file_list, file_exists) if not ok]
- if missing_files:
- print "Missing files in path : %s\n" % file_path
- print '\n'.join(missing_files)
- else:
- print "No missing MP3 Mix files"
- return missing_files
-
-
-# check_mp3(mp3_mix_list, MIX_PATH)
-
-
-# PODCAST FROM MIX
-def populate_podcast(self):
- MIX_CATEGORY = 'Podcast'
- blog_models.BlogCategory.objects.get_or_create(title=MIX_CATEGORY)
-
- PODCAST_IMG_PATH = os.path.join('uploads/blog/mixes')
- PODCAST_AUDIO_PATH = os.path.join('uploads/audio/mixes')
- from django.contrib.auth import models as auth_models
- digger, created = auth_models.User.objects.get_or_create(username=u'digger',
- password=u'admin',
- is_staff=True,
- email=u'')
-
-
-
-
- for mix in rec_models.Mix.objects.all():
- if mix.visu1:
- img_file = str(mix.id) + '.jpg'
- img_path = os.path.join(PODCAST_IMG_PATH, img_file)
- else:
- img_path = ''
-
- audio_path = os.path.join(PODCAST_AUDIO_PATH, mix.mp3)
- print '---------------------------'
- print 'pk :\t %d' % mix.pk
- print 'audio :\t %s' % audio_path
- print 'genre :\t %s' % mix.genre
- print "old_date :\t %s" % mix.date
- print "title :\t %s" % parser.unescape(mix.titre)
- #status=mix.published+1,
- #featured_image=img_path,
- #user=digger)
- obj, created = rec_models.Podcast.objects.get_or_create(pk=mix.pk,
- title=parser.unescape(mix.titre),
- user=digger)
- if created:
- obj.audio=audio_path
- obj.genre=mix.genre
- obj.old_date=mix.date
- obj.description=parser.unescape(mix.desc)
- obj.status=mix.published+1
- obj.featured_image=img_path
- obj.save()
-
- for podcast in rec_models.Podcast.objects.filter(title=''):
- podcast.delete()
- ## audio = FileField(verbose_name=_("Audio File"), max_length=200, format="audio",
- ## upload_to=upload_to("records.Podcast.audio", "audio/mixes"))
- ## genre = models.CharField(max_length=128)
- ## # titre --> title
- ## date = models.CharField(max_length=64)
- ## # desc --> description
- ## # mp3 --> audio
- ## #visu1 = models.IntegerField() si 1 --> featured_image
- ## # ordre : on laisse tombé ?
- ## # published --> status / 0 --> CONTENT_STATUS_DRAFT = 1 / 1 CONTENT_STATUS_PUBLISHED = 2
-