+ def prepare_for_publish(self):
+ tags = {
+ 'name': self.title,
+ 'url': self.url,
+ 'tags': self.new_publish_tags(),
+ }
+ self.set_mp3_tags(tags)
+ self.set_ogg_tags(tags)
+ self.mp3_status = self.ogg_status = status.WAITING
+ self.save()
+
+ def publish(self, user, publish=True):
+ from . import tasks
+ # isn't there a race here?
+ self.mp3_task = tasks.Mp3Task.delay(user.id, self.pk, publish=publish).task_id
+ self.ogg_task = tasks.OggTask.delay(user.id, self.pk, publish=publish).task_id
+ self.save()
+