@@ -85,27 +85,25 @@ def _parse_key1(key, s):
85
85
while not ret and s < len (key ):
86
86
if key [s ] == '\\ ' :
87
87
c = key [s + 1 ].lower ()
88
- if _escapes . has_key ( c ) :
88
+ if c in _escapes :
89
89
ret = _escapes [c ]
90
90
s += 2
91
91
elif c == "c" :
92
92
if key [s + 2 ] != '-' :
93
- raise KeySpecError , \
94
- "\\ C must be followed by `-' (char %d of %s)" % (
95
- s + 2 , repr (key ))
93
+ raise KeySpecError ("\\ C must be followed by `-' (char %d of %s)" % (
94
+ s + 2 , repr (key )))
96
95
if ctrl :
97
- raise KeySpecError , "doubled \\ C- (char %d of %s)" % (
98
- s + 1 , repr (key ))
96
+ raise KeySpecError ( "doubled \\ C- (char %d of %s)" % (
97
+ s + 1 , repr (key )))
99
98
ctrl = 1
100
99
s += 3
101
100
elif c == "m" :
102
101
if key [s + 2 ] != '-' :
103
- raise KeySpecError , \
104
- "\\ M must be followed by `-' (char %d of %s)" % (
105
- s + 2 , repr (key ))
102
+ raise KeySpecError ("\\ M must be followed by `-' (char %d of %s)" % (
103
+ s + 2 , repr (key )))
106
104
if meta :
107
- raise KeySpecError , "doubled \\ M- (char %d of %s)" % (
108
- s + 1 , repr (key ))
105
+ raise KeySpecError ( "doubled \\ M- (char %d of %s)" % (
106
+ s + 1 , repr (key )))
109
107
meta = 1
110
108
s += 3
111
109
elif c .isdigit ():
@@ -119,28 +117,25 @@ def _parse_key1(key, s):
119
117
elif c == '<' :
120
118
t = key .find ('>' , s )
121
119
if t == - 1 :
122
- raise KeySpecError , \
123
- "unterminated \\ < starting at char %d of %s" % (
124
- s + 1 , repr (key ))
120
+ raise KeySpecError ("unterminated \\ < starting at char %d of %s" % (
121
+ s + 1 , repr (key )))
125
122
try :
126
123
ret = _keynames [key [s + 2 :t ].lower ()]
127
124
s = t + 1
128
125
except KeyError :
129
- raise KeySpecError , \
130
- "unrecognised keyname `%s' at char %d of %s" % (
131
- key [s + 2 :t ], s + 2 , repr (key ))
126
+ raise KeySpecError ("unrecognised keyname `%s' at char %d of %s" % (
127
+ key [s + 2 :t ], s + 2 , repr (key )))
132
128
if ret is None :
133
129
return None , s
134
130
else :
135
- raise KeySpecError , \
136
- "unknown backslash escape %s at char %d of %s" % (
137
- `c` , s + 2 , repr (key ))
131
+ raise KeySpecError ("unknown backslash escape %s at char %d of %s" % (
132
+ repr (c ), s + 2 , repr (key )))
138
133
else :
139
134
if ctrl :
140
135
ret = chr (ord (key [s ]) & 0x1f ) # curses.ascii.ctrl()
141
- ret = unicode (ret )
136
+ ret = str (ret )
142
137
else :
143
- ret = unicode (key [s ])
138
+ ret = str (key [s ])
144
139
s += 1
145
140
return (ret , meta , ctrl ), s
146
141
@@ -156,13 +151,12 @@ def parse_keys(key):
156
151
157
152
def _compile_keymap (keymap ):
158
153
r = {}
159
- for key , value in keymap .items ():
154
+ for key , value in list ( keymap .items () ):
160
155
r .setdefault (key [0 ], {})[key [1 :]] = value
161
- for key , value in r .items ():
162
- if value .has_key (()):
163
- if len (value ) <> 1 :
164
- raise KeySpecError , \
165
- "key definitions for %s clash" % (value .values (),)
156
+ for key , value in list (r .items ()):
157
+ if () in value :
158
+ if len (value ) != 1 :
159
+ raise KeySpecError ("key definitions for %s clash" % (list (value .values ()),))
166
160
else :
167
161
r [key ] = value [()]
168
162
else :
@@ -173,7 +167,7 @@ def compile_keymap(keymap):
173
167
r = {}
174
168
for key , value in keymap :
175
169
k = parse_keys (key )
176
- if value is None and r . has_key ( k ) :
170
+ if value is None and k in r :
177
171
del r [k ]
178
172
if k is not None :
179
173
r [k ] = value
@@ -182,7 +176,7 @@ def compile_keymap(keymap):
182
176
def keyname (key ):
183
177
longest_match = ''
184
178
longest_match_name = ''
185
- for name , keyseq in keyset .items ():
179
+ for name , keyseq in list ( keyset .items () ):
186
180
if keyseq and key .startswith (keyseq ) and \
187
181
len (keyseq ) > len (longest_match ):
188
182
longest_match = keyseq
@@ -202,7 +196,7 @@ def unparse_key(keyseq):
202
196
return ''
203
197
name , s = keyname (keyseq )
204
198
if name :
205
- if name <> 'escape' or s == len (keyseq ):
199
+ if name != 'escape' or s == len (keyseq ):
206
200
return '\\ <' + name + '>' + unparse_key (keyseq [s :])
207
201
else :
208
202
return '\\ M-' + unparse_key (keyseq [1 :])
@@ -211,7 +205,7 @@ def unparse_key(keyseq):
211
205
r = keyseq [1 :]
212
206
if c == '\\ ' :
213
207
p = '\\ \\ '
214
- elif _unescapes . has_key ( c ) :
208
+ elif c in _unescapes :
215
209
p = _unescapes [c ]
216
210
elif ord (c ) < ord (' ' ):
217
211
p = '\\ C-%s' % (chr (ord (c )+ 96 ),)
@@ -226,7 +220,7 @@ def _unparse_keyf(keyseq):
226
220
return []
227
221
name , s = keyname (keyseq )
228
222
if name :
229
- if name <> 'escape' or s == len (keyseq ):
223
+ if name != 'escape' or s == len (keyseq ):
230
224
return [name ] + _unparse_keyf (keyseq [s :])
231
225
else :
232
226
rest = _unparse_keyf (keyseq [1 :])
@@ -236,7 +230,7 @@ def _unparse_keyf(keyseq):
236
230
r = keyseq [1 :]
237
231
if c == '\\ ' :
238
232
p = '\\ '
239
- elif _unescapes . has_key ( c ) :
233
+ elif c in _unescapes :
240
234
p = _unescapes [c ]
241
235
elif ord (c ) < ord (' ' ):
242
236
p = 'C-%s' % (chr (ord (c )+ 96 ),)
0 commit comments