Lines Matching refs:code
52 # Python code for object.__reduce_ex__ for protocols 0 and 1
146 # if it is a registered extension code for it. Extension codes are
152 _extension_registry = {} # key -> code
153 _inverted_registry = {} # code -> key
154 _extension_cache = {} # code -> object
158 def add_extension(module, name, code):
159 """Register an extension code."""
160 code = int(code)
161 if not 1 <= code <= 0x7fffffff:
162 raise ValueError("code out of range")
164 if (_extension_registry.get(key) == code and
165 _inverted_registry.get(code) == key):
168 raise ValueError("key %s is already registered with code %s" %
170 if code in _inverted_registry:
171 raise ValueError("code %s is already in use for key %s" %
172 (code, _inverted_registry[code]))
173 _extension_registry[key] = code
174 _inverted_registry[code] = key
176 def remove_extension(module, name, code):
177 """Unregister an extension code. For testing only."""
179 if (_extension_registry.get(key) != code or
180 _inverted_registry.get(code) != key):
181 raise ValueError("key %s is not registered with code %s" %
182 (key, code))
184 del _inverted_registry[code]
185 if code in _extension_cache:
186 del _extension_cache[code]
191 # Standard extension code assignments