def _parse(v, sep=_SEP): """ :param v: A string represents some value to parse :param sep: separator between values >>> _parse(r'"foo string"') 'foo string' >>> _parse("a, b, c") ['a', 'b', 'c'] >>> _parse("aaa") 'aaa' """ if (v.startswith('"') and v.endswith('"')) or \ (v.startswith("'") and v.endswith("'")): return v[1:-1] elif sep in v: return [P.parse(x) for x in P.parse_list(v)] else: return P.parse(v)
def _parse(v, sep=_SEP): """ :param v: A string represents some value to parse :param sep: separator between values >>> _parse(r'"foo string"') 'foo string' >>> _parse("a, b, c") ['a', 'b', 'c'] >>> _parse("aaa") 'aaa' """ if (v.startswith('"') and v.endswith('"')) or \ (v.startswith("'") and v.endswith("'")): return v[1:-1] elif sep in v: return [P.parse(x) for x in P.parse_list(v)] else: return P.parse(v)
def _parse(val_s, sep=_SEP): """ FIXME: May be too naive implementation. :param val_s: A string represents some value to parse :param sep: separator between values >>> _parse(r'"foo string"') 'foo string' >>> _parse("a, b, c") ['a', 'b', 'c'] >>> _parse("aaa") 'aaa' """ if (val_s.startswith('"') and val_s.endswith('"')) or \ (val_s.startswith("'") and val_s.endswith("'")): return val_s[1:-1] elif sep in val_s: return [P.parse(x) for x in P.parse_list(val_s)] else: return P.parse(val_s)
def _parse(val_s, sep=_SEP): """ FIXME: May be too naive implementation. :param val_s: A string represents some value to parse :param sep: separator between values >>> _parse(r'"foo string"') 'foo string' >>> _parse("a, b, c") ['a', 'b', 'c'] >>> _parse("aaa") 'aaa' """ if (val_s.startswith('"') and val_s.endswith('"')) or \ (val_s.startswith("'") and val_s.endswith("'")): return val_s[1:-1] if sep in val_s: return [P.parse(x) for x in P.parse_list(val_s)] return P.parse(val_s)
def test_10_parse_list(self): self.run_cases("list", TT.parse_list) # A few special cases: self.assertEqual(TT.parse_list(""), []) self.assertEqual(TT.parse_list("a|b|", "|"), ["a", "b"])
def test_10_parse_list(self): self.run_cases("list", TT.parse_list) # A few special cases: self.assertEqual(TT.parse_list(""), []) self.assertEqual(TT.parse_list("a|b|", "|"), ["a", "b"])
def test_01_parse_list(self): self.assertEquals(P.parse_list(""), []) self.assertEquals(P.parse_list("a,b"), ["a", "b"]) self.assertEquals(P.parse_list("1,2"), [1, 2]) self.assertEquals(P.parse_list("a,b,"), ["a", "b"]) self.assertEquals(P.parse_list("a|b|", "|"), ["a", "b"])