Home | History | Annotate | Download | only in Lib

Lines Matching refs:code

57 # Python code for object.__reduce_ex__ for protocols 0 and 1
145 # if it is a registered extension code for it. Extension codes are
151 _extension_registry = {} # key -> code
152 _inverted_registry = {} # code -> key
153 _extension_cache = {} # code -> object
157 def add_extension(module, name, code):
158 """Register an extension code."""
159 code = int(code)
160 if not 1 <= code <= 0x7fffffff:
161 raise ValueError, "code out of range"
163 if (_extension_registry.get(key) == code and
164 _inverted_registry.get(code) == key):
167 raise ValueError("key %s is already registered with code %s" %
169 if code in _inverted_registry:
170 raise ValueError("code %s is already in use for key %s" %
171 (code, _inverted_registry[code]))
172 _extension_registry[key] = code
173 _inverted_registry[code] = key
175 def remove_extension(module, name, code):
176 """Unregister an extension code. For testing only."""
178 if (_extension_registry.get(key) != code or
179 _inverted_registry.get(code) != key):
180 raise ValueError("key %s is not registered with code %s" %
181 (key, code))
183 del _inverted_registry[code]
184 if code in _extension_cache:
185 del _extension_cache[code]
190 # Standard extension code assignments