def save(self, request, commit=True): super(TracksForm, self).save(commit=commit) if commit: tracks_on_album = Track.objects.filter( album=self.instance).count() + 1 for file in self.cleaned_data['tracks']: try: file_path = file.temporary_file_path() metadata = mutagen.File(file_path, easy=True) if metadata and metadata.get('title'): title = metadata.get('title')[0] except: title = "untitled" try: track = Track(audio=file, title=title, order=tracks_on_album, album=self.instance) track.full_clean() track.set_upload_to_info( username=self.instance.artist_profile.profile.user. username, track_type="albums", album_title=self.instance.title) tracks_on_album += 1 track.save() except ValidationError as e: messages.error(request, e.messages[0] + " : " + str(file)) return self.instance
def mutate(self, info, title, description, url): user = info.context.user if user.is_anonymous: raise Exception('Login to add track!') track = Track(title=title, description=description, url=url, traxx_user=user) track.save() return CreateTrack(track=track)
def add_track(data, album): try: Track.objects.get(deezer_id=data.get('id')) print(f'\tTrack "{data.get("title")}" already exists') except Track.DoesNotExist: track = Track(title=data.get('title'), deezer_id=data.get('id'), album=album) track.preview = data.get('preview') track.rank = data.get('rank') track.release_date = album.release_date track.save() print(f'\tTrack "{data.get("title")}" has been created')
def mutate(self, info, title, description, url): user = info.context.user if not user.is_authenticated: raise GraphQLError("Not logged in") track = Track( title=title, description=description, url=url, posted_by=user, ) track.save() return CreateTrack(track=track)
def handle(self, *args, **options): for dir in options['dir_name']: print("Importing", dir) event = Event() event.name = 'Próba ' + dir event.date = parser.parse(dir) event.save() track_names = os.listdir('tracks/static/audio/' + dir) for track_name in track_names: track = Track() track.name = track_name track.path = dir + '/' + track_name track.date = event.date track.event = event track.save()