@@ -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_p2 (last_line .strip (), [[], []], False )
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
51
return
52
- elif command [0 ] in keymap .commap :
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 == "" :
60
+ return
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 ] + '"' )
@@ -98,8 +111,7 @@ def main():
98
111
line = file1 .readline ()
99
112
if not line :
100
113
break
101
- pharse (line .strip (), [[], []], False )
102
- last_line = line
114
+ parse_p1 (line )
103
115
file1 .close ()
104
116
else :
105
117
while True :
@@ -109,8 +121,7 @@ def main():
109
121
break
110
122
if not line :
111
123
break
112
- pharse (line .strip (), [[], []], False )
113
- last_line = line
124
+ pharse_p1 (line )
114
125
115
126
116
127
if __name__ == "__main__" :
0 commit comments