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 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 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 addtrack(request,userid): if request.method == 'POST': form = TrackForm(request.POST) if form.is_valid(): track = form.save() track.user = request.user track.save() return render(request, 'postlogin/mainmenu.html') else: form = TrackForm() data = {'form': form} return render(request, 'postlogin/addtrack.html', data)
def add_track(request): """ Add a track to the pianostore. """ track_form = TrackForm() if request.method == "POST": track_form = TrackForm(request.user, request.POST, request.FILES) if track_form.is_valid(): new_track = track_form.save(commit=False) new_track.adder = request.user new_track.save() request.user.message_set.create( message=_("You have successfully " "uploaded track '%(title)s'") % {"title": new_track.title} ) return HttpResponseRedirect(reverse("pianostore.views.tracks")) return render_to_response( "pianostore/add.html", {"track_form": track_form}, context_instance=RequestContext(request) )
def save_audio_post(request): """ Saves a Track """ form = TrackForm(request.POST, request.FILES) if form.is_valid(): the_track_file = request.FILES["file"] meta = metadata_for_filelike(the_track_file) newdoc = Track(docfile = request.FILES["file"]) try: newdoc.title = meta['title'] except: newdoc.title = request.FILES['file'].name try: newdoc.album = meta['album'] except: newdoc.album = 'unspecified' try: newdoc.author = meta['author'] except: newdoc.author = 'unspecified' try: newdoc.duration = meta['duration'] except: newdoc.duration = 'unspecified' try: newdoc.music_genre = meta['music_genre'] except: newdoc.music_genre = 'unspecified' newdoc.meta_data = meta if meta['mime_type'] == 'audio/mpeg': newdoc.body = "Audio track: "+newdoc.title+" was uploaded." if request.POST["body"] != "": newdoc.body = newdoc.body+ request.POST["body"] newdoc.save() else: print form.errors
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 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 index(): form = TrackForm() if form.validate_on_submit(): tracking = Track ( weight = form.weight.data, happy = form.happy.data, diet = form.diet.data, exercise = form.exercise.data, floss = form.floss.data, meditation = form.meditation.data, note = form.note.data, timestamp = datetime.utcnow(), author = g.user.to_dbref()) tracking.save() flash('Your post is now live!') calculate_weightAvg_async(g.user.to_dbref()) return redirect(url_for('index')) posts = Track.objects(author=g.user) analysis = Analysis.objects(author=g.user).first() return render_template("index.html", title = 'Home', form = form, posts = posts, analysis = analysis)
def update_track(request, track_id): """ Update a track given its id. """ track = Track.objects.get(id=track_id) if request.method == "POST": track_form = TrackForm(request.user, request.POST, request.FILES, instance=track) track_form.is_update = True if request.user == track.adder: if track_form.is_valid(): track_form.save() request.user.message_set.create( message=_("You have updated " "track '%(title)s'") % {"title": track.title} ) return HttpResponseRedirect(reverse("pianostore.views.tracks")) else: track_form = TrackForm(instance=track) return render_to_response( "pianostore/update.html", {"track_form": track_form, "track": track}, context_instance=RequestContext(request), )
def lemon_land(): form = TrackForm() return render_template('test-land.html', form=form)
def track_edit(request, track_id=None): errors = [] messages = [] if track_id is not None: track = get_object_or_404(Track, id=track_id) title = u'Редактирование маршрута' else: track=None title = u'Новый маршрут' trans_forms = [] if request.method == "POST": form = TrackForm(request.POST, request.FILES, instance=track) for lang_code, lang_name in settings.LANGUAGES: if lang_code != settings.LANGUAGE_CODE: if track is not None: trans, c = Translation.objects.get_or_create(track=track, language=lang_code) else: trans = None trans_forms.append(TransFormTrack(request.POST, instance=trans, prefix=lang_code)) if form.is_valid() and all([i.is_valid() for i in trans_forms]): _track = form.save() for i in trans_forms: t = i.save() if not t.language: t.language = i.prefix if t.track is None: t.track = _track t.save() xml_file = request.FILES.get('xml_coordinates', None) created = False if track is None: track = form.instance created = True if xml_file: try: t = XMLTrack(xml_file.read()) rout = t.get_track()['rout'] track.coordinates = json.dumps(rout) track.full_coordinates = json.dumps(rout) track.save() except: errors.append(u"Ошибка разбора XML.") if not errors: messages.append(u"Изменения успешно сохранены.") if request.POST.get('submit', 'to_current_page') == 'to_section' and not errors: return HttpResponseRedirect(reverse('manager_tracks')) if created and not errors: return HttpResponseRedirect(reverse('track-edit', args=[form.instance.id])) else: form = TrackForm(instance=track) for lang_code, lang_name in settings.LANGUAGES: if lang_code != settings.LANGUAGE_CODE: if track is not None: trans, c = Translation.objects.get_or_create(track=track, language=lang_code) else: trans = None trans_forms.append(TransFormTrack(instance=trans, prefix=lang_code)) return render_to_response('obj_edit.html', {'form': form, 'comments_instance': track, 'title': title, 'trans_forms': trans_forms, 'back_url': reverse('manager_tracks'), 'info': {'errors': errors, 'messages': messages} }, RequestContext(request))
def test_form_with_valid_spotify_uri_is_valid(self): post_dict = {'spotify_uri': 'spotify:track:5RT0e9PkjBtmvqQzNbe1vA'} form = TrackForm(post_dict) self.assertTrue(form.is_valid())
def test_form_with_random_text_is_invalid(self): post_dict = {'spotify_uri': 'hello'} form = TrackForm(post_dict) self.assertFalse(form.is_valid())
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 }