4 from io import StringIO
6 class SHL(shlex.shlex):
7 def __init__(self, *args, **kvargs):
8 shlex.shlex.__init__(self, *args, **kvargs)
9 def read_token(self, *args, **kvargs):
10 x = shlex.shlex.read_token(self, *args, **kvargs)
11 print("read_token <%s>"%x)
13 def get_token(self, *args, **kvargs):
14 x = shlex.shlex.get_token(self, *args, **kvargs)
15 print("get_token <%s>"%x)
17 def __next__(self, *args, **kvargs):
18 x = shlex.shlex.__next__(self, *args, **kvargs)
19 print("__next__ <%s>"%x)
23 def __init__(self, *args, **kvargs):
24 StringIO.__init__(self, *args, **kvargs)
25 def readline(self, *args, **kvargs):
27 return StringIO.readline(self, *args, **kvargs)
28 def read(self, *args, **kvargs):
29 x = StringIO.readline(self, *args, **kvargs)
33 s = SHL("", posix=True)
35 s.whitespace_split = True
38 s.push_source(XIO("xx xx"))
39 print("------------- %s"%list(s))
42 s.push_source(XIO("yy yy"))
43 print("------------- %s"%list(s))
46 s.push_source(XIO('a "c cds cds" d'))
47 print("------------- %s"%list(s))