def profile(request): client = mpd.MPDClient() client.timeout = 10 client.idletimeout = None client.connect(Grooplayer.settings.MPD_SERVER, Grooplayer.settings.MPD_PORT) if request.method == 'POST': form = TrackForm(request.POST, request.FILES, user=request.user) if form.is_valid(): instance = form.save(commit=True) client.update() return HttpResponseRedirect('/profile/') else: form = TrackForm(user=request.user) status = client.status() journal = Action.objects.all().order_by("-date") tracks = Track.objects.filter(user=request.user) return { "status": status, "journal": journal, "tracks": tracks, "form": form }
def track(): form_tr = TrackForm() engine_dropdown = carbon_em.loc[( carbon_em['category_of_vehicle'] == 'bus'), 'engine__cc'] form_tr.engine.choices = [(i.lower().replace(' ', '_'), i.replace('_', ' ')) for i in engine_dropdown] fuel_dropdown = carbon_em.loc[((carbon_em['category_of_vehicle'] == 'bus') & (carbon_em['engine__cc'] == 'none')), 'fuel'] form_tr.fuel.choices = [(i.lower().replace(' ', '_'), i.replace('_', ' ')) for i in fuel_dropdown] if form_tr.is_submitted(): origin = request.form['origin'].replace(' ', '+') destination = request.form['dest'].replace(' ', '+') select_vehicle = request.form['vehicle'] select_engine = request.form['engine'] select_fuel = request.form['fuel'] val = carbon_em.loc[( (carbon_em['category_of_vehicle'] == select_vehicle) & (carbon_em['engine__cc'] == select_engine) & (carbon_em['fuel'] == select_fuel)), 'emission_factor(kgco2perkm)'] print(select_vehicle, select_engine, select_fuel, val) carbon_out = calc_carb(origin, destination, float(val)) return render_template('carbon_out.html', result=carbon_out) return render_template('track.html', form=form_tr)
def edit_track(id): """ Edit a department """ check_admin() add_track = False track = Track.query.get_or_404(id) form = TrackForm(obj=track) if form.validate_on_submit(): track.track_id = form.track_id.data track.name = form.name.data track.description = form.description.data db.session.commit() flash('You have successfully edited the track.') # redirect to the departments page return redirect(url_for('admin.list_tracks')) form.description.data = track.description form.name.data = track.name return render_template('admin/tracks/track.html', action="Edit", add_track=add_track, form=form, track=track, title="Edit track")
def add_track(): """ Add a department to the database """ check_admin() add_track = True form = TrackForm() if form.validate_on_submit(): track = Track(name=form.name.data) try: # add track to the database db.session.add(track) db.session.commit() flash('You have successfully added a new track.') except: # in case department name already exists db.session.rollback() flash('Error: track name already exists.') # redirect to departments page return redirect(url_for('admin.list_tracks')) # load department template return render_template('admin/tracks/track.html', action="Add", add_track=add_track, form=form, title="Add track")
def lemon_land(): form = TrackForm() return render_template('test-land.html', form=form)
def mainpage(request, id=None, action=None): """ :param request: :param id: :param action: :return: """ client = mpd.MPDClient() client.timeout = 10 client.idletimeout = None client.connect(Grooplayer.settings.MPD_SERVER, Grooplayer.settings.MPD_PORT) if request.user.is_authenticated(): profile = user_profile(request.user) carma = profile.carma if action: if request.user.is_authenticated(): if action == "play" and carma > 0: client.play() profile.take(2) log(request.user, "used the play button") elif action == "stop" and carma > 0: client.stop() profile.take(2) log(request.user, "used the stop button") elif action == "pause" and carma > 0: client.pause() profile.take(2) log(request.user, "used the pause button") return HttpResponseRedirect("/") else: return HttpResponseRedirect("/login/") if id: if request.user.is_authenticated(): if carma > 0: client.playid(id) profile.take(2) log(request.user, "changed song to #%s" % id) return HttpResponseRedirect("/") else: return HttpResponseRedirect("/login/") playlist = client.playlistinfo() current_song = client.currentsong() status = client.status() #status['volume'] = str((int(status['volume'])-80)*5) next_song = [{}] try: next_song = client.playlistinfo(status['nextsong']) except: pass client.close() client.disconnect() if request.user.is_authenticated(): carma = profile.carma else: carma = "0" login_form = AuthenticationForm(request=request) registration_form = RegistrationForm() upload_form = TrackForm(user=request.user) csrf_token = get_token(request) return { "playlist": playlist, "current_song": current_song, "next_song": next_song[0], "status": status, "carma": carma, "login_form": login_form, "registration_form": registration_form, "upload_form": upload_form, 'csrf_token': csrf_token }