Exemple #1
0
def leihe_neu1(kunde_id):
    """
    Klickt man bei der Kunden-Detail View auf "Neue Leihe" werden in dieser View anhand der Adresse des Kunden
    die Distanzen zu unseren Verleihstationen berechnet und als Tabelle angezeigt.
    """
    kunde = Kunde.query.get_or_404(kunde_id)
    stationen = Station.query.all()
    cachehits = 0
    for station in stationen:
        station.distance, cachehit = get_distance(kunde.adresse, station.adresse)
        if cachehit:
            cachehits += 1
    stationen.sort(key=lambda x: x.distance['duration']['value'])
    flash("Cachehits bei der Distanzberechnung: %d" % cachehits)
    return render_template("neue_leihe_kunde1.html", kunde=kunde, stationen=stationen)
def leihe_neu1(kunde_id):
    """
    Klickt man bei der Kunden-Detail View auf "Neue Leihe" werden in dieser View anhand der Adresse des Kunden
    die Distanzen zu unseren Verleihstationen berechnet und als Tabelle angezeigt.
    """
    try:
        kunde = Kunde(**rest_get_id("kunden", kunde_id))
        stationen = [Station(**d) for d in rest_get_all("stations")]
        cachehits = 0
        for station in stationen:
            try:
                station.distance, cachehit = get_distance(kunde.adresse, station.adresse)
            except DistanceServiceError:
                station.distance = {'distance' : { 'text' : 'Unavailable', 'value' : -1}, 'duration' : { 'text' : "bis ans Ende der Zeit", 'value' : -1}}
                cachehit = False
            if cachehit:
                cachehits += 1
        stationen.sort(key=lambda x: x.distance['duration']['value'])
        flash("Cachehits bei der Distanzberechnung: %d" % cachehits)
        return render_template("neue_leihe_kunde1.html", kunde=kunde, stationen=stationen)
    except HTTPError, e:
        return errorpage(e)