예제 #1
0
def test_eval_nan():
    s = T.reprLRData(float('nan'))
    n = T.evalLRData(s)
    assert math.isnan(n)

    s2 = T.reprLRData((float('nan'), 'this is a test'))
    n2, _ = T.evalLRData(s2)
    assert math.isnan(n2)
예제 #2
0
def test_eval_nan():
    s = T.reprLRData(float('nan'))
    n = T.evalLRData(s)
    assert math.isnan(n)

    s2 = T.reprLRData((float('nan'), 'this is a test'))
    n2, _ = T.evalLRData(s2)
    assert math.isnan(n2)
예제 #3
0
def test_eval_negative_infinity():
    s = T.reprLRData(float('-inf'))
    n = T.evalLRData(s)
    assert math.isinf(n)
    assert n < 0

    s2 = T.reprLRData((float('-inf'), 'this is a test'))
    n2, _ = T.evalLRData(s2)
    assert math.isinf(n2)
    assert n2 < 0
예제 #4
0
def test_eval_positive_infinity():
    s = T.reprLRData(float('inf'))
    n = T.evalLRData(s)
    assert math.isinf(n)
    assert n > 0

    s2 = T.reprLRData((float('inf'), 'this is a test'))
    n2, _ = T.evalLRData(s2)
    assert math.isinf(n2)
    assert n2 > 0
예제 #5
0
def test_eval_negative_infinity():
    s = T.reprLRData(float('-inf'))
    n = T.evalLRData(s)
    assert math.isinf(n)
    assert n < 0

    s2 = T.reprLRData((float('-inf'), 'this is a test'))
    n2, _ = T.evalLRData(s2)
    assert math.isinf(n2)
    assert n2 < 0
예제 #6
0
def test_eval_positive_infinity():
    s = T.reprLRData(float('inf'))
    n = T.evalLRData(s)
    assert math.isinf(n)
    assert n > 0

    s2 = T.reprLRData((float('inf'), 'this is a test'))
    n2, _ = T.evalLRData(s2)
    assert math.isinf(n2)
    assert n2 > 0
예제 #7
0
 def getPar(i):
     sec = 'Parameter %d' % (i+1)
     label = S.get(sec, 'Label', raw=True)
     raw = S.get(sec, 'Data', raw=True)
     if raw.startswith(DATA_URL_PREFIX):
         # decode parameter data from dataurl
         all_bytes = base64.urlsafe_b64decode(raw[len(DATA_URL_PREFIX):])
         t, data_bytes = T.unflatten(all_bytes, 'ss')
         data = T.unflatten(data_bytes, t)
     else:
         # old parameters may have been saved using repr
         try:
             data = T.evalLRData(raw)
         except RuntimeError:
             if raw.endswith('None)'):
                 data = T.evalLRData(raw[0:-5] + '"")')
             else:
                 raise
     return dict(label=label, data=data)
예제 #8
0
파일: backend.py 프로젝트: YulinWu/servers
 def getPar(i):
     sec = 'Parameter {}'.format(i+1)
     label = S.get(sec, 'Label', raw=True)
     raw = S.get(sec, 'Data', raw=True)
     if raw.startswith(DATA_URL_PREFIX):
         # decode parameter data from dataurl
         data = labrad_urldecode(raw)
     else:
         # old parameters may have been saved using repr
         try:
             data = T.evalLRData(raw)
         except RuntimeError:
             # This is a hack to parse some very old data that seems to
             # have been created by converting delphi data to python
             # format. '1.#IND' was produced by old versions of the
             # delphi labrad api when stringifying NaN.
             if '1.#IND' in raw:
                 data = T.evalLRData(raw.replace('1.#IND', 'nan'))
             else:
                 raise Exception('unable to parse parameter {}: {}'.format(label, raw))
     return dict(label=label, data=data)
 def getPar(i):
     sec = 'Parameter {}'.format(i + 1)
     label = S.get(sec, 'Label', raw=True)
     raw = S.get(sec, 'Data', raw=True)
     if raw.startswith(DATA_URL_PREFIX):
         # decode parameter data from dataurl
         data = labrad_urldecode(raw)
     else:
         # old parameters may have been saved using repr
         try:
             data = T.evalLRData(raw)
         except RuntimeError:
             # This is a hack to parse some very old data that seems to
             # have been created by converting delphi data to python
             # format. '1.#IND' was produced by old versions of the
             # delphi labrad api when stringifying NaN.
             if '1.#IND' in raw:
                 data = T.evalLRData(raw.replace('1.#IND', 'nan'))
             else:
                 raise Exception(
                     'unable to parse parameter {}: {}'.format(
                         label, raw))
     return dict(label=label, data=data)
예제 #10
0
 def getPar(i):
     sec = 'Parameter %d' % (i + 1)
     label = S.get(sec, 'Label', raw=True)
     # TODO: big security hole! eval can execute arbitrary code
     data = T.evalLRData(S.get(sec, 'Data', raw=True))
     return dict(label=label, data=data)
예제 #11
0
def test_eval_value_with_none_for_units():
    assert T.evalLRData("""Value(1.0, None)""") == Value(1.0, '')
예제 #12
0
def test_eval_cluster_with_value_and_complex():
    assert (T.evalLRData("""(Value(1.0, None), Complex(2.0, None))""") ==
            (Value(1.0, ''), Complex(2.0, '')))
예제 #13
0
def test_eval_value_with_none_for_units():
    assert T.evalLRData("""Value(1.0, None)""") == Value(1.0, '')
예제 #14
0
 def testEvalDatetime(self):
     data = datetime.now()
     data2 = T.evalLRData(repr(data))
     self.assertEquals(data, data2)
예제 #15
0
def test_eval_complex_with_none_for_units():
    assert T.evalLRData("""Complex(1.1, None)""") == Complex(1.1, '')
예제 #16
0
 def testEvalDatetime(self):
     data = datetime.now()
     data2 = T.evalLRData(repr(data))
     self.assertEquals(data, data2)
예제 #17
0
def test_eval_cluster_with_value_and_complex():
    assert (T.evalLRData("""(Value(1.0, None), Complex(2.0, None))""") == (
        Value(1.0, ''), Complex(2.0, '')))
예제 #18
0
 def getPar(i):
     sec = 'Parameter %d' % (i + 1)
     label = S.get(sec, 'Label', raw=True)
     # TODO: big security hole! eval can execute arbitrary code
     data = T.evalLRData(S.get(sec, 'Data', raw=True))
     return dict(label=label, data=data)
예제 #19
0
def test_eval_complex_with_none_for_units():
    assert T.evalLRData("""Complex(1.1, None)""") == Complex(1.1, '')