def process_task(obj): from atracker.util import create_event process = Process() log = logging.getLogger('exporter.models.process_task') archive_dir = create_archive_dir(obj) archive_cache_dir = os.path.join(archive_dir, 'cache/') archive_path = os.path.join( archive_dir, 'archive') # .zip appended by 'make_archive' #archive_file = ZipFile(archive_path, "w") log.debug('archive_dir: %s' % (archive_dir)) log.debug('archive_cache_dir: %s' % (archive_cache_dir)) log.debug('archive_path: %s' % (archive_path)) # do shizzle for item in obj.export_items.all(): print print 'item: %s' % item.content_type print 'pk: %s' % item.object_id # maybe not too elegant.. switching processing for different types if item.content_type.name.lower() == 'release': t_item = item.content_object filename_format = '%s - %s - %s.%s' print 'GOT RELEAZE!' for media in t_item.media_release.all(): print 'Media: %s' % media.name if obj.fileformat == 'mp3': filename = filename_format % (media.tracknumber, media.name, media.artist.name, 'mp3') filepath = os.path.join(archive_cache_dir, filename) shutil.copyfile(media.get_cache_file('mp3', 'base'), filepath) process.incect_metadata(filepath, media) # just dummy - not possible... if obj.fileformat == 'flac': filename = filename_format % (media.tracknumber, media.name, media.artist.name, 'mp3') filepath = os.path.join(archive_cache_dir, filename) shutil.copyfile(media.get_cache_file('mp3', 'base'), filepath) process.incect_metadata(filepath, media) create_event(obj.user, media, None, 'download') if t_item.main_image: pass #archive_file.write(t_item.main_image.path, 'cover.jpg') print shutil.make_archive(archive_path, 'zip', archive_cache_dir) obj.file = DjangoFile(open(archive_path + '.zip'), u'archive.zip') obj.filesize = os.path.getsize(archive_path + '.zip') # get filesize obj.filename = generate_export_filename(obj.export_items) #obj.filename = 'asdasdas' # update status obj.status = 1 obj.save()
def process_task(obj): from atracker.util import create_event process = Process() log = logging.getLogger('exporter.models.process_task') archive_dir = create_archive_dir(obj) archive_cache_dir = os.path.join(archive_dir, 'cache/') archive_path = os.path.join(archive_dir, 'archive') # .zip appended by 'make_archive' #archive_file = ZipFile(archive_path, "w") log.debug('archive_dir: %s' % (archive_dir)) log.debug('archive_cache_dir: %s' % (archive_cache_dir)) log.debug('archive_path: %s' % (archive_path)) # do shizzle for item in obj.export_items.all(): print print 'item: %s' % item.content_type print 'pk: %s' % item.object_id # maybe not too elegant.. switching processing for different types if item.content_type.name.lower() == 'release': t_item = item.content_object filename_format = '%s - %s - %s.%s' print 'GOT RELEAZE!' for media in t_item.media_release.all(): print 'Media: %s' % media.name if obj.fileformat == 'mp3': filename = filename_format % (media.tracknumber, media.name, media.artist.name, 'mp3') filepath = os.path.join(archive_cache_dir, filename) shutil.copyfile(media.get_cache_file('mp3', 'base'), filepath) process.incect_metadata(filepath, media) # just dummy - not possible... if obj.fileformat == 'flac': filename = filename_format % (media.tracknumber, media.name, media.artist.name, 'mp3') filepath = os.path.join(archive_cache_dir, filename) shutil.copyfile(media.get_cache_file('mp3', 'base'), filepath) process.incect_metadata(filepath, media) create_event(obj.user, media, None, 'download') if t_item.main_image: pass #archive_file.write(t_item.main_image.path, 'cover.jpg') print shutil.make_archive(archive_path, 'zip', archive_cache_dir) obj.file = DjangoFile(open(archive_path + '.zip'), u'archive.zip') obj.filesize = os.path.getsize(archive_path + '.zip') # get filesize obj.filename = generate_export_filename(obj.export_items) #obj.filename = 'asdasdas' # update status obj.status = 1; obj.save()