Ejemplo n.º 1
0
    def get(self, request, format=None):
        try:
            usd_list = request.QUERY_PARAMS.get('amount_usd')
            usd_list = usd_list.split(',')
            currency_list = request.QUERY_PARAMS.get('currency')
            currency_list = currency_list.split(',')

            local_conversions = {}
            for currency in currency_list:
                if(currency) not in CURRENCIES:
                    raise PricingException
                conversion = {}
                for amount_usd in usd_list:
                    amount_usd = float(amount_usd)
                    if amount_usd != round(amount_usd, 2):
                        raise PricingException

                    conversion[amount_usd] = \
                        Transaction.calculate_local_price(amount_usd, currency)
                local_conversions[currency] = conversion
            return Response(local_conversions)
        except (AttributeError, ValueError, PricingException):
            return Response(
                {'detail': 'Invalid parameters'},
                status=status.HTTP_400_BAD_REQUEST
            )
Ejemplo n.º 2
0
    def get(self, request, format=None):
        try:
            usd_list = request.QUERY_PARAMS.get('amount_usd')
            usd_list = usd_list.split(',')
            currency_list = request.QUERY_PARAMS.get('currency')
            currency_list = currency_list.split(',')

            local_conversions = {}
            for currency in currency_list:
                if (currency) not in CURRENCIES:
                    raise PricingException
                conversion = {}
                for amount_usd in usd_list:
                    amount_usd = float(amount_usd)
                    if amount_usd != round(amount_usd, 2):
                        raise PricingException

                    conversion[amount_usd] = \
                        Transaction.calculate_local_price(amount_usd, currency)
                local_conversions[currency] = conversion
            return Response(local_conversions)
        except (AttributeError, ValueError, PricingException):
            return Response({'detail': 'Invalid parameters'},
                            status=status.HTTP_400_BAD_REQUEST)