示例#1
0
def numwordsen(pre, value):
    value = value.strip()
    value = value.lower()
    if value in { "nil", "none", "", "no", "null" }:
        value = 0
    else:
        value = number_parser.parse(value)
    f = Float(float(value) * pre.scale)
    if pre.unit: f.unit = pre.unit
    return f
示例#2
0
def parse_durwordsen(val):

    delta = datetime.timedelta()
    num = None

    val = number_parser.parse(val)

    val = val.replace("\xa0", " ")

    res = re.split(r'[ ,.:;-]+', val)

    for v in res:

        v = v.lower()

        if num == None:
            if v in {"and", "plus", "with", "then"}: continue
            try:
                num = int(v)
            except:
                raise RuntimeError("Not a number: %s" % v)
        else:
            if v == "year" or v == "years":
                delta += datetime.timedelta(days=(num * 356))
            elif v == "month" or v == "months":
                delta += datetime.timedelta(days=(num * 30))
            elif v == "day" or v == "days":
                delta += datetime.timedelta(days=num)
            elif v == "hour" or v == "hours":
                delta += datetime.timedelta(hours=num)
            elif v == "minute" or v == "minutes":
                delta += datetime.timedelta(minutes=num)
            elif v == "second" or v == "seconds":
                delta += datetime.timedelta(seconds=num)
            else:
                raise RuntimeError("Stalled on token %s" % v)
            num = None

    return delta
示例#3
0
def test_parse_ambiguity_in_multipliers(expected, test_input):
    assert parse(test_input, LANG) == expected
示例#4
0
def test_parse_ambiguity_in_separators(expected, test_input):
    assert parse(test_input, LANG) == expected
示例#5
0
def test_parse_basic_sentences(expected, test_input):
    assert parse(test_input, LANG) == expected
示例#6
0
    def generate_signal(self, signal=None):
        option = self.selectedFunction.get()
        option = option.encode('ascii', 'ignore')
        if signal == None:
            if option == "szum gaussowski":
                signal = noise_generator.gaussian(
                    name=self.nameEntry.get(),
                    A=number_parser.parse(self.amplitudeEntry.get()),
                    t1=number_parser.parse(self.t1Entry.get()),
                    d=number_parser.parse(self.dEntry.get()),
                    sampling_freq=number_parser.parse(
                        self.sampFreqEntry.get()))
            elif option == "szum o rozkadzie jednostajnym":
                signal = noise_generator.uniform(
                    name=self.nameEntry.get(),
                    A=number_parser.parse(self.amplitudeEntry.get()),
                    t1=number_parser.parse(self.t1Entry.get()),
                    d=number_parser.parse(self.dEntry.get()),
                    sampling_freq=number_parser.parse(
                        self.sampFreqEntry.get()))
            elif option == "sinusoidalny":
                signal = sig_gen.sine(
                    name=self.nameEntry.get(),
                    A=number_parser.parse(self.amplitudeEntry.get()),
                    T=number_parser.parse(self.TEntry.get()),
                    t1=number_parser.parse(self.t1Entry.get()),
                    d=number_parser.parse(self.dEntry.get()),
                    sampling_freq=number_parser.parse(
                        self.sampFreqEntry.get()))
            elif option == "sin. wyprostowany jednopowkowo":
                signal = sig_gen.half_wave_rect_sine(
                    name=self.nameEntry.get(),
                    A=number_parser.parse(self.amplitudeEntry.get()),
                    T=number_parser.parse(self.TEntry.get()),
                    t1=number_parser.parse(self.t1Entry.get()),
                    d=number_parser.parse(self.dEntry.get()),
                    sampling_freq=number_parser.parse(
                        self.sampFreqEntry.get()))
            elif option == "sin. wyprostowany dwupowkowo":
                signal = sig_gen.full_wave_rect_sine(
                    name=self.nameEntry.get(),
                    A=number_parser.parse(self.amplitudeEntry.get()),
                    T=number_parser.parse(self.TEntry.get()),
                    t1=number_parser.parse(self.t1Entry.get()),
                    d=number_parser.parse(self.dEntry.get()),
                    sampling_freq=number_parser.parse(
                        self.sampFreqEntry.get()))
            elif option == "prostoktny":
                signal = sig_gen.square(
                    name=self.nameEntry.get(),
                    A=number_parser.parse(self.amplitudeEntry.get()),
                    T=number_parser.parse(self.TEntry.get()),
                    kW=number_parser.parse(self.KwEntry.get()),
                    t1=number_parser.parse(self.t1Entry.get()),
                    d=number_parser.parse(self.dEntry.get()),
                    sampling_freq=number_parser.parse(
                        self.sampFreqEntry.get()))
            elif option == "prostoktny symetryczny":
                signal = sig_gen.square_symmetrical(
                    name=self.nameEntry.get(),
                    A=number_parser.parse(self.amplitudeEntry.get()),
                    T=number_parser.parse(self.TEntry.get()),
                    kW=number_parser.parse(self.KwEntry.get()),
                    t1=number_parser.parse(self.t1Entry.get()),
                    d=number_parser.parse(self.dEntry.get()),
                    sampling_freq=number_parser.parse(
                        self.sampFreqEntry.get()))
            elif option == "trjktny":
                signal = sig_gen.triangular(
                    name=self.nameEntry.get(),
                    A=number_parser.parse(self.amplitudeEntry.get()),
                    T=number_parser.parse(self.TEntry.get()),
                    kW=number_parser.parse(self.KwEntry.get()),
                    t1=number_parser.parse(self.t1Entry.get()),
                    d=number_parser.parse(self.dEntry.get()),
                    sampling_freq=number_parser.parse(
                        self.sampFreqEntry.get()))
            elif option == "skok jednostkowy":
                signal = sig_gen.step_function(
                    name=self.nameEntry.get(),
                    A=number_parser.parse(self.amplitudeEntry.get()),
                    t1=number_parser.parse(self.t1Entry.get()),
                    d=number_parser.parse(self.dEntry.get()),
                    sampling_freq=number_parser.parse(
                        self.sampFreqEntry.get()),
                    tS=number_parser.parse(self.tsEntry.get()))
            elif option == "impuls jednostkowy":
                signal = sig_gen.kronecker(
                    name=self.nameEntry.get(),
                    A=number_parser.parse(self.amplitudeEntry.get()),
                    nS=number_parser.parse(self.nSEntry.get()),
                    n1=number_parser.parse(self.n1Entry.get()),
                    l=number_parser.parse(self.dEntry.get()),
                    sampling_freq=number_parser.parse(
                        self.sampFreqEntry.get()))
            elif option == "szum impulsowy":
                signal = noise_generator.impulse(
                    name=self.nameEntry.get(),
                    A=number_parser.parse(self.amplitudeEntry.get()),
                    t1=number_parser.parse(self.t1Entry.get()),
                    d=number_parser.parse(self.dEntry.get()),
                    sampling_freq=number_parser.parse(
                        self.sampFreqEntry.get()),
                    p=number_parser.parse(self.pEntry.get()))

        self.formWindow.destroy()
        self.add_to_menu_grid(signal, signal.name)
        self.draw_signal(signal)
def test_parse(expected, test_input):
    assert parse(test_input, LANG) == expected
示例#8
0
 def test_parse_basic_sentences(self, expected, test_input):
     assert parse(test_input) == expected
示例#9
0
def test_parse_case_of_string(expected, test_input, lang):
    assert parse(test_input, lang) == expected
示例#10
0
def test_parse_basic_sentences(expected, test_input, lang):
    assert parse(test_input, lang) == expected
示例#11
0
def test_parse_sentences_ordinal(expected, test_input, lang):
    assert parse(test_input, lang) == expected
示例#12
0
 def test_parse_sentences_ordinal(self, expected, test_input):
     assert parse(test_input, LANG) == expected
示例#13
0
 def cvt(row, lang):
     return parse(row, language=lang)
示例#14
0
def parseNumber():
    data = request.form['data']
    ret = str(parse(data))
    ret = ret.replace(" ", "")
    return ret
示例#15
0
def test_parse_basic_sentences_lang_auto(expected, test_input):
    assert parse(test_input) == expected