@@ -11,13 +11,14 @@ def eprint(*args, **kwargs):
11
11
12
12
def string (string ):
13
13
for char in string :
14
- pharse (char , [[], []], True )
14
+ pharse_p2 (char , [[], []], True )
15
15
sleep (string_delay / 100 )
16
16
17
17
18
- def pharse (line , known , deltrue ):
18
+ def pharse_p1 (line ):
19
19
global default_delay
20
20
global string_delay
21
+ global last_line
21
22
if line == "" :
22
23
return
23
24
elif line == " " :
@@ -32,42 +33,54 @@ def pharse(line, known, deltrue):
32
33
elif command [0 ] == "REPEAT" :
33
34
try :
34
35
for i in range (int (command [1 ])):
35
- pharse (last_line .strip (), [[], []], False )
36
- return # todo
36
+ pharse_p1 (last_line )
37
37
except RecursionError :
38
- eprint ("You can not repeat the repeat " )
38
+ eprint ("RecursionError! " )
39
39
exit (4 )
40
+ return
40
41
elif command [0 ] == "DEFAULTCHARDELAY" :
41
42
string_delay = int (command [1 ])
42
43
return
43
44
elif command [0 ] == "DEFAULTDELAY" :
44
45
default_delay = int (command [1 ])
45
46
return
46
- else :
47
- if not deltrue :
48
- sleep (default_delay / 100 )
49
- if command [0 ] == "STRING" :
47
+ elif command [0 ] == "STRING" :
48
+ sleep (default_delay / 100 ) # DEFAULT_DELAY
50
49
string (line [len (command [0 ] + " " ) :])
50
+ last_line = line
51
+ return
52
+ else :
53
+ pharse_p2 (line , [[], []], False )
54
+ last_line = line
55
+ return
56
+
57
+
58
+ def pharse_p2 (line , known , deltrue ):
59
+ if line == "" :
51
60
return
52
- elif command [0 ] in keymap .commap :
61
+ elif line == " " :
62
+ command = [" " ]
63
+ else :
64
+ command = line .split ()
65
+ if command [0 ] in keymap .commap :
53
66
known [0 ].append (keymap .commap [command [0 ]])
54
67
if len (command ) > 1 :
55
- pharse (" " .join (command [1 :]), known , True )
68
+ pharse_p2 (" " .join (command [1 :]), known , True )
56
69
else :
57
70
out (known )
58
71
return
59
72
elif command [0 ] in keymap .c1map :
60
73
known [1 ].append (keymap .c1map [command [0 ]])
61
74
if len (command ) > 1 :
62
- pharse (" " .join (command [1 :]), known , True )
75
+ pharse_p2 (" " .join (command [1 :]), known , True )
63
76
else :
64
77
out (known )
65
78
return
66
79
elif command [0 ] in keymap .c2map :
67
- pharse (keymap .c2map [command [0 ]] + " " + " " .join (command [1 :]), known , True )
80
+ pharse_p2 (keymap .c2map [command [0 ]] + " " + " " .join (command [1 :]), known , True )
68
81
return
69
82
elif command [0 ] in aliasmap :
70
- pharse (aliasmap [command [0 ]] + " " + " " .join (command [1 :]), known , True )
83
+ pharse_p2 (aliasmap [command [0 ]] + " " + " " .join (command [1 :]), known , True )
71
84
return
72
85
else :
73
86
eprint ('Could not find "' + command [0 ] + '"' )
@@ -91,15 +104,13 @@ def out(ccl):
91
104
92
105
93
106
def main ():
94
- global last_line
95
107
if piargs .input is not None :
96
108
file1 = open (piargs .input , "r" )
97
109
while True :
98
110
line = file1 .readline ()
99
111
if not line :
100
112
break
101
- pharse (line .strip (), [[], []], False )
102
- last_line = line
113
+ parse_p1 (line )
103
114
file1 .close ()
104
115
else :
105
116
while True :
@@ -109,8 +120,7 @@ def main():
109
120
break
110
121
if not line :
111
122
break
112
- pharse (line .strip (), [[], []], False )
113
- last_line = line
123
+ pharse_p1 (line )
114
124
115
125
116
126
if __name__ == "__main__" :
0 commit comments