def kosten(self): """ Gib die Kosten für die Leihe in der Waehrung des Kunden zurueck. Wenn keine spezielle Waehrung für den Kunden gefunden wird oder die Berechnung fehlschlaegt, gib den Betrag in Euro zuraeck. Für die Berechnung wir :py:func:`wsgi.soapclient.convert_currency_via_wsdl` verwendet. :return: (string) - Wert und Währungskuerzel. zB: 1.12 EUR, 3.9 CHF """ tage = (self.bis - self.von).days _kosten = self.car.price * tage * 1.0 try: kunde_country = self.kunde.country except AttributeError: kunde_country = u'Österreich' from flaskapp import COUNTRIES country = [c for c in COUNTRIES if c[1] == kunde_country] print country if country and len(country) == 1: currency = country[0][2] value = convert_currency_via_wsdl(_kosten, u"EUR", currency) value = value.replace('.', ',') if value == '-1,0': return "%s EUR" % splitThousands(_kosten) return "%s " \ "%s" % (splitThousands(value), currency) else: return "%s EUR" % splitThousands(_kosten)
def convert_currency(): """ REST Service, dass den Currency Converter in :py:func:`wsgi.soapclient.convert_currency_via_wsdl` fur die Umrechnung selbst nutzt. """ if u"value" in request.args and u"von" in request.args and u"nach" in request.args: try: value = float(request.args[u"value"]) ergebnis = convert_currency_via_wsdl(value, request.args[u"von"], request.args[u"nach"]) d = {"value" : ergebnis} return jsonify(d) except ValueError: d = { u"content" : u"%s ist kein Float" % request.args[u"value"], u"message" : u"%s ist kein Float" % request.args[u"value"] } response = jsonify(d) response.status_code = 400 return response else: d = { u"content" : u"Parameter value, von und nach müssen gesetzt sein", u"message": u"Parameter value, von und nach müssen gesetzt sein" } response = jsonify(d) response.status_code = 400 return response