Exemple #1
0
    def post(self, request, slug):
        """ post request handles update from PictureForm """

        picture = get_object_or_404(models.Picture, slug__iexact=slug)
        playit = utility.object_path(picture)

        bound_form = self.form_class(request.POST,
                                     instance=picture,
                                     initial=query.my_preference_dict(
                                         picture, request.user))

        if 'UpdateObject' in request.POST:
            if bound_form.is_valid():
                new_picture = bound_form.save()
                picture.title = new_picture.title
                picture.year = new_picture.year

                #### this was not such a great idea -- too slow
                #                cast = bound_form.cleaned_data['cast']
                #                if len(cast):
                #                    #print('cast %s' % cast)
                #                    try:
                #                        message = u'success'
                #                        #print('view calls cast_picture')
                #                        chromecast.cast_picture(cast,picture)
                #                    except rutils.MyException as ex:
                #                        message = ex.message
                #                        #print('Caught %s' % ex.message)
                #########################################################
                # tag
                tq = bound_form.cleaned_data['tag']
                if len(tq):
                    tqSlug = slugify(str(tq))
                    new_tag = collection.add_tag(tq, tqSlug)
                    picture.tags.add(new_tag)

                pref = bound_form.cleaned_data['pref']
                # user selected a preference
                if len(pref):
                    query.handle_pref(picture, pref, request.user)

                picture.save()
                bound_form = self.form_class(instance=picture,
                                             initial=query.my_preference_dict(
                                                 picture, request.user))

                formContext = {
                    'picture': picture,
                    'playit': playit,
                    'objectForm': bound_form
                }
                return render(request, self.template_name, formContext)

        pictureContext = {
            'picture': picture,
            'playit': playit,
            'objectForm': bound_form
        }
        return render(request, self.template_name, pictureContext)
Exemple #2
0
    def get(self, request, slug):
        """ setup picture form   """

        picture = get_object_or_404(models.Picture, slug__iexact=slug)
        playit = utility.object_path(picture)

        myform = self.form_class(instance=picture,
                                 initial=query.my_preference_dict(
                                     picture, request.user))

        context = {'picture': picture, 'playit': playit, 'objectForm': myform}
        return render(request, self.template_name, context)
Exemple #3
0
    def get(self, request, slug):
        """
        display form with initial values
        """
        song = get_object_or_404(models.Song, slug__iexact=slug)
        playit = utility.object_path(song)

        myform = self.form_class(instance=song,
                                 initial=query.my_preference_dict(
                                     song, request.user))

        context = {'song': song, 'playit': playit, 'objectForm': myform}
        return render(request, self.template_name, context)
Exemple #4
0
    def post(self, request, slug):
        """
        Post handles updates from the SongForm
        as well as requests from kodi playback
        """
        song = get_object_or_404(models.Song, slug__iexact=slug)
        playit = utility.object_path(song)

        bound_form = self.form_class(request.POST, instance=song)
        if 'UpdateObject' in request.POST:
            if bound_form.is_valid():
                new_song = bound_form.save()
                song.title = new_song.title
                song.year = new_song.year

                # tag
                tq = bound_form.cleaned_data['tag']
                if len(tq):
                    tqSlug = slugify(str(tq))
                    new_tag = collection.add_tag(tq, tqSlug)
                    song.tags.add(new_tag)
                # new musician
                mus = bound_form.cleaned_data['musician']
                if len(mus):
                    mSlug = slugify(str(mus + '-mus'))
                    new_mus = collection.add_musician(mus, mSlug)
                    new_mus.songs.add(song)

                pref = bound_form.cleaned_data['pref']
                # user selected a preference
                if len(pref):
                    query.handle_pref(song, pref, request.user)

                song.save()
                bound_form = self.form_class(instance=song,
                                             initial=query.my_preference_dict(
                                                 song, request.user))
                formContext = {
                    'song': song,
                    'playit': playit,
                    'objectForm': bound_form
                }
                return render(request, self.template_name, formContext)
        _ = kodi.playback_requests(song, request)

        songContext = {
            'song': song,
            'playit': playit,
            'objectForm': bound_form
        }
        return render(request, self.template_name, songContext)
Exemple #5
0
    def get(self, request, slug):
        """
        get responds to tags (actor, director, tag, musician,preferences)
        """
        movie = get_object_or_404(models.Movie, slug__iexact=slug)

        # real path required for playback
        playit = utility.object_path(movie)

        myform = self.form_class(instance=movie,
                                 initial=query.my_preference_dict(
                                     movie, request.user))
        context = {'movie': movie, 'playit': playit, 'objectForm': myform}
        return render(request, self.template_name, context)
Exemple #6
0
    def post(self, request, slug):
        """
        post handles object update from the MovieForm
        """
        movie = get_object_or_404(models.Movie, slug__iexact=slug)

        #print ("MovieDetail POST for slug %s movie %s " % (slug,movie.title))
        playit = utility.object_path(movie)

        bound_form = self.form_class(request.POST,
                                     instance=movie,
                                     initial=query.my_preference_dict(
                                         movie, request.user))

        if 'UpdateObject' in request.POST:
            if bound_form.is_valid():
                new_movie = bound_form.save()
                movie.title = new_movie.title
                movie.year = new_movie.year

                # tag
                tq = bound_form.cleaned_data['tag']
                if len(tq):
                    tqSlug = slugify(str(tq))
                    new_tag = collection.add_tag(tq, tqSlug)
                    movie.tags.add(new_tag)
                # new actor
                act = bound_form.cleaned_data['actor']
                if len(act):
                    actSlug = slugify(str(act + '-act'))
                    new_actor = collection.add_actor(act, actSlug)
                    new_actor.movies.add(movie)
                # new director
                dtr = bound_form.cleaned_data['director']
                if len(dtr):
                    dtrSlug = slugify(str(dtr + '-dtr'))
                    new_dtr = collection.add_director(dtr, dtrSlug)
                    new_dtr.movies.add(movie)
                # new musician - for concerts
                mus = bound_form.cleaned_data['musician']
                if len(mus):
                    mSlug = slugify(str(mus + '-mus'))
                    new_mus = collection.add_musician(mus, mSlug)
                    new_mus.concerts.add(movie)

                pref = bound_form.cleaned_data['pref']
                # user selected a preference
                if len(pref):
                    query.handle_pref(movie, pref, request.user)

                movie.save()
                bound_form = self.form_class(instance=movie,
                                             initial=query.my_preference_dict(
                                                 movie, request.user))
                formContext = {
                    'movie': movie,
                    'playit': playit,
                    'objectForm': bound_form
                }
                return render(request, self.template_name, formContext)
        message = ''
        try:
            message = u'success'
            vlcPlugin = kodi.playback_requests(movie, request)
        except rutils.MyException as ex:
            message = ex.message
            print('Caught %s' % ex.message)
            vlcPlugin = False

        movieContext = {
            'movie': movie,
            'playit': playit,
            'objectForm': self.form_class(instance=movie),
            'vlcPlugin': vlcPlugin,
            'message': message
        }
        #print('render with message %s' % message)
        return render(request, self.template_name, movieContext)