Пример #1
0
    def respond(self, **kwargs):

        plain_text = kwargs.get('plain_text').lower()
        service = ConversionService()
        units = service.extractUnits(plain_text)

        inf_eng = inflect.engine()

        try:
            original_num = re.findall(r'\d+', plain_text)

            if len(original_num) == 0:
                try:
                    converted_num = service.convert(plain_text)
                    return "Your ans is " + "%.2f" % (float(
                        str(service.convert(plain_text)).split()[0])
                                                      ) + " " + units[1]
                except TypeError:
                    plain_text = "one " + units[0] + " to " + units[1]
                    original_num = [1]

            converted_num = float(
                "%.2f" % (float(str(service.convert(plain_text)).split()[0])))

            output = str(inf_eng.number_to_words(
                original_num[0])) + " " + units[0] + " equals " + str(
                    inf_eng.number_to_words(converted_num)) + " " + units[1]
            return output

        except TypeError:

            return "Sorry, I cannot convert these units."

        except:

            return "Something Wrong!"
Пример #2
0
 def compareConversion(self, inp, target):
     service = ConversionService()
     result = service.convert(inp)
     self.assertEqual(result.magnitude, target.magnitude)
     self.assertEqual(result.units, target.units)