@@ -85,27 +85,25 @@ def _parse_key1(key, s):
8585 while not ret and s < len (key ):
8686 if key [s ] == '\\ ' :
8787 c = key [s + 1 ].lower ()
88- if _escapes . has_key ( c ) :
88+ if c in _escapes :
8989 ret = _escapes [c ]
9090 s += 2
9191 elif c == "c" :
9292 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 )))
9695 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 )))
9998 ctrl = 1
10099 s += 3
101100 elif c == "m" :
102101 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 )))
106104 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 )))
109107 meta = 1
110108 s += 3
111109 elif c .isdigit ():
@@ -119,28 +117,25 @@ def _parse_key1(key, s):
119117 elif c == '<' :
120118 t = key .find ('>' , s )
121119 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 )))
125122 try :
126123 ret = _keynames [key [s + 2 :t ].lower ()]
127124 s = t + 1
128125 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 )))
132128 if ret is None :
133129 return None , s
134130 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 )))
138133 else :
139134 if ctrl :
140135 ret = chr (ord (key [s ]) & 0x1f ) # curses.ascii.ctrl()
141- ret = unicode (ret )
136+ ret = str (ret )
142137 else :
143- ret = unicode (key [s ])
138+ ret = str (key [s ])
144139 s += 1
145140 return (ret , meta , ctrl ), s
146141
@@ -156,13 +151,12 @@ def parse_keys(key):
156151
157152def _compile_keymap (keymap ):
158153 r = {}
159- for key , value in keymap .items ():
154+ for key , value in list ( keymap .items () ):
160155 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 ()),))
166160 else :
167161 r [key ] = value [()]
168162 else :
@@ -173,7 +167,7 @@ def compile_keymap(keymap):
173167 r = {}
174168 for key , value in keymap :
175169 k = parse_keys (key )
176- if value is None and r . has_key ( k ) :
170+ if value is None and k in r :
177171 del r [k ]
178172 if k is not None :
179173 r [k ] = value
@@ -182,7 +176,7 @@ def compile_keymap(keymap):
182176def keyname (key ):
183177 longest_match = ''
184178 longest_match_name = ''
185- for name , keyseq in keyset .items ():
179+ for name , keyseq in list ( keyset .items () ):
186180 if keyseq and key .startswith (keyseq ) and \
187181 len (keyseq ) > len (longest_match ):
188182 longest_match = keyseq
@@ -202,7 +196,7 @@ def unparse_key(keyseq):
202196 return ''
203197 name , s = keyname (keyseq )
204198 if name :
205- if name <> 'escape' or s == len (keyseq ):
199+ if name != 'escape' or s == len (keyseq ):
206200 return '\\ <' + name + '>' + unparse_key (keyseq [s :])
207201 else :
208202 return '\\ M-' + unparse_key (keyseq [1 :])
@@ -211,7 +205,7 @@ def unparse_key(keyseq):
211205 r = keyseq [1 :]
212206 if c == '\\ ' :
213207 p = '\\ \\ '
214- elif _unescapes . has_key ( c ) :
208+ elif c in _unescapes :
215209 p = _unescapes [c ]
216210 elif ord (c ) < ord (' ' ):
217211 p = '\\ C-%s' % (chr (ord (c )+ 96 ),)
@@ -226,7 +220,7 @@ def _unparse_keyf(keyseq):
226220 return []
227221 name , s = keyname (keyseq )
228222 if name :
229- if name <> 'escape' or s == len (keyseq ):
223+ if name != 'escape' or s == len (keyseq ):
230224 return [name ] + _unparse_keyf (keyseq [s :])
231225 else :
232226 rest = _unparse_keyf (keyseq [1 :])
@@ -236,7 +230,7 @@ def _unparse_keyf(keyseq):
236230 r = keyseq [1 :]
237231 if c == '\\ ' :
238232 p = '\\ '
239- elif _unescapes . has_key ( c ) :
233+ elif c in _unescapes :
240234 p = _unescapes [c ]
241235 elif ord (c ) < ord (' ' ):
242236 p = 'C-%s' % (chr (ord (c )+ 96 ),)
0 commit comments