Ejemplo n.º 1
0
def songs(request):
	if request.method== 'POST':
		form=SongForm(request.POST)
		if form.is_valid():
			form.save()
			return redirect('songs')
	else:
		form=SongForm()
	
	songs=Song.objects.all().order_by('-added_on')
	return render_to_response('songs.html' , locals(), context_instance=RequestContext(request))
Ejemplo n.º 2
0
def new_song_submit(req):
	if req.method == 'POST':
		form = SongForm(req.POST, req.FILES)
        print req
        if form.is_valid():
            handle_uploaded_mp3(req.FILES['mp3_file'])
            form.save()
            return index(req)
        else:
            print 'form is not valid'
            return render_to_response('tabcollection/new_song.html', { 'form': form }, 
								context_instance=RequestContext(req))
Ejemplo n.º 3
0
def addsong(request):
    if request.user.is_authenticated():
        if request.is_ajax():
            form = request.POST.dict()
            response_data = {}
            if form['artist'] and form['song_name']:
                response_data = serializers.serialize(
                    "json",
                    Song.objects.filter(artist__contains=form['artist'],
                                        song_name__contains=form['song_name']))

            elif form['artist']:
                response_data = serializers.serialize(
                    "json",
                    Song.objects.filter(artist__contains=form['artist']))

            elif form['song_name']:
                response_data = serializers.serialize(
                    "json",
                    Song.objects.filter(song_name__contains=form['song_name']))

            return HttpResponse(json.dumps(response_data),
                                content_type="application/json")

        elif request.method == 'POST':
            if u'vote' in request.POST.dict():
                form = request.POST.dict()
                votesong(request.user.id, int(form['song_id']))
                return redirect('mysong')

            else:
                form = SongForm(request.POST)
                if form.is_valid():
                    song = form.save(commit=False)
                    song.user = request.user
                    song.code = get_song_link(song.artist, song.song_name)
                    song.save()
                    SongVoted(user=request.user, song=song).save()
                    return redirect('mysong')

        else:
            form = SongForm()
        return render(request, "addsong.html", {'form': form})
    else:
        return redirect('index')
Ejemplo n.º 4
0
def new_song(request):
    if request.method == "POST":
        form = SongForm(request.POST)
        if form.is_valid():
            data = analyze(form.cleaned_data['lyrics'])
            try :
                artist = Artist.objects.all().filter(name=form.cleaned_data['artist-name'])
            except:
                artist = Artist(name=form.cleaned_data['artist_name'])
                artist.save()
            song = Song(name=form.cleaned_data['song_name'], lyrics = form.cleaned_data['lyrics'], artist=artist,
                        number_of_words= data['total_words'], number_unique_words=data['unique_words'],
                        unique_word_percent=data['percentage'], repeated_rhymes=data['repeated_rhymes'],
                        bad_words=data['bad_words'], thug_rating=data['thug_rating'], avg_syllables=data['thug_rating'])
            song.save()
            return redirect("/")
    form = SongForm()
    return render(request, 'lyrics/new_song.html', { 'form': form })
Ejemplo n.º 5
0
def song_create(request):
    if request.method == 'POST':
        form = SongForm(request.POST)
        unit_id = request.POST.get('album')
        print 'unit_id ', unit_id
        if form.is_valid(
        ):  # coming from save button click, after running clean_title()
            q = Song()
            ar = ''
            for each in form:
                if type(
                        each.field
                ) is forms.ModelChoiceField:  # get the value from 'select'
                    value_needed = form.cleaned_data[each.name]
                    if each.name == 'artist':
                        ar = Artist.objects.get(
                            name=value_needed)  # Artist instance from select
                        setattr(q, each.name, ar)
                    else:
                        alb = ar.album_set.all()  # all albums for this artist
                        title = alb[int(unit_id) - 1]
                        al = Album.objects.get(
                            title=title)  # album instance from select
                        setattr(q, each.name, al)
                else:
                    value_needed = form.cleaned_data[
                        each.name]  # other fields - title field
                    setattr(q, each.name, value_needed)
            q.save()
            print 'valid '
            return redirect('songs')  # you won't see 'form' in url
    else:  # when getting to page at first - Stay, or with 'GET' method
        form = SongForm()  # empty form
        print 'Initial song_create page '
    return render(
        request,
        'mymusic/song_create.html',
        {
            'form':
            form  # show empty form in initial state or filled form in case the user started to type and submitted
        })
Ejemplo n.º 6
0
def addsong(request):
    if request.user.is_authenticated():
        if request.is_ajax():
            form = request.POST.dict()
            response_data = {}
            if form['artist'] and form['song_name']:
                response_data = serializers.serialize("json", Song.objects.filter(
                    artist__contains=form['artist'], song_name__contains=form['song_name']))

            elif form['artist']:
                response_data = serializers.serialize(
                    "json", Song.objects.filter(artist__contains=form['artist']))

            elif form['song_name']:
                response_data = serializers.serialize(
                    "json", Song.objects.filter(song_name__contains=form['song_name']))

            return HttpResponse(json.dumps(response_data), content_type="application/json")

        elif request.method == 'POST':
            if u'vote' in request.POST.dict():
                form = request.POST.dict()
                votesong(request.user.id, int(form['song_id']))
                return redirect('mysong')

            else:
                form = SongForm(request.POST)
                if form.is_valid():
                    song = form.save(commit=False)
                    song.user = request.user
                    song.code = get_song_link(song.artist, song.song_name)
                    song.save()
                    SongVoted(user=request.user, song=song).save()
                    return redirect('mysong')

        else:
            form = SongForm()
        return render(request, "addsong.html", {'form': form})
    else:
        return redirect('index')
Ejemplo n.º 7
0
def create(request):
	if request.method == 'POST':
		url = request.POST.get('playlist_location', '')
		#
		#regexp here!!!!!!!!!
		#
		result = urlfetch.fetch(url + "code/xspf.php")

		if result.status_code == 200:
#			xml = minidom.parseString(unicode(result.content, "utf-8" ))
			try:
				xml = minidom.parseString(result.content.replace("&", "&"))
			except:
				return render_to_response('create.html', {'flash' : "Ops. Something went wrong!!!..."})
			
			tracks = xml.getElementsByTagName('track')
			playlist = Playlist(title="lorem ipsum dolor", location=url)
			playlist.save()

			for song in tracks:
				loc = song.getElementsByTagName('location')[0]
				me = song.getElementsByTagName('meta')[0]
				ti = song.getElementsByTagName('title')[0]
				fo = song.getElementsByTagName('info')[0]

				s = SongForm({
					'location': getText(loc.childNodes),
					'meta': getText(me.childNodes),
					'title': getText(ti.childNodes),
					'info': getText(fo.childNodes),
				})
				if s.is_valid():
					s.playlist = playlist
					s.save()

			return render_to_response('create.html', {'flash' : "Playlist added! <a href=\"/\">Go back to home page.</a>"})

	return render_to_response('create.html')