Ticket #198: caching-class-alias.diff
| File caching-class-alias.diff, 1.8 KB (added by nick, 11 months ago) |
|---|
-
pyamf/__init__.py
131 131 self.objects = [] 132 132 self.rev_objects = {} 133 133 134 self.class_aliases = {} 135 134 136 def getObject(self, ref): 135 137 """ 136 138 Gets an object based on a reference. … … 170 172 171 173 return idx 172 174 175 def getClassAlias(self, klass): 176 """ 177 Gets a class alias based on the supplied C{klass}. 178 """ 179 if klass not in self.class_aliases: 180 try: 181 self.class_aliases[klass] = get_class_alias(klass) 182 except UnknownClassAlias: 183 self.class_aliases[klass] = None 184 185 return self.class_aliases[klass] 186 173 187 def __copy__(self): 174 188 raise NotImplementedError 175 189 -
pyamf/amf0.py
699 699 except pyamf.ReferenceError: 700 700 self.context.addObject(o) 701 701 702 try: 703 alias = pyamf.get_class_alias(o) 704 except pyamf.UnknownClassAlias: 705 alias = None 702 alias = self.context.getClassAlias(o.__class__) 706 703 707 704 if alias is None: 708 705 self.writeType(ASTypes.OBJECT) -
pyamf/amf3.py
1492 1492 """ 1493 1493 encoding = ObjectEncoding.DYNAMIC 1494 1494 1495 try: 1496 alias = pyamf.get_class_alias(obj) 1497 except pyamf.UnknownClassAlias: 1498 alias = None 1495 alias = self.context.getClassAlias(obj.__class__) 1499 1496 1500 1497 if alias: 1501 1498 if 'dynamic' in alias.metadata:
