def process_file(f, source_id): extension = splitext(f)[1].lower() if extension == '.mp3': # found a MP3! id3 = id3reader.Reader(f) album = id3.getValue('album') artist = id3.getValue('performer') or album title = id3.getValue('title') try: m = Music.objects.get(filename=f) except Music.DoesNotExist: # new one m = Music() if title is not None and artist is not None: m.album = album or "Unknown Album" m.artist = artist m.title = title else: info = MUSIC_MATCH_REGEX.search(f) if info is None: return 0 m.album = "Unknown Album" m.artist = "%s - %s" % (info.groupdict()['folder'], info.groupdict()['subfolder']) m.title = info.groupdict()['title'] m.filename = f m.source_id = source_id try: m.save() return 1 except IntegrityError: # probably missing information, skip it pass return 0
if name and year: album = Album() album.name = name album.album_date = year + '-01-01' album.create_date = datetime.now() album.slug = slugify(name) album.band = band album.user = user album.save() sys.stdout.write(name + " - " + year + "\n") sys.stdout.flush() i = 1 for music in d['songs']: m_name = music music = Music() music.name = m_name music.slug = slugify(m_name) music.number = str(i) music.user = user music.date = datetime.now() music.album = Album.objects.latest('id') music.save() sys.stdout.write(str(i) + " - " + m_name + "\n") sys.stdout.flush() i = i + 1 band.robot = 1 band.save()