Exemplo n.º 1
0
 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
Exemplo n.º 2
0
    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')
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
 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()