Anonymous avatar Anonymous committed 895b1bd

0.12.2dev: Follow-up to [10342], with a slightly better way of waling the MRO.

Part of #9870.

Comments (0)

Files changed (1)

         CacheManager(instance.env).invalidate(id)
 
     def make_id(self, cls):
+        attr = self.retriever.__name__
         for base in cls.mro():
-            if self in base.__dict__.itervalues():
+            if base.__dict__.get(attr) is self:
                 cls = base
                 break
-        return '%s.%s.%s' % (cls.__module__, cls.__name__,
-                             self.retriever.__name__)
+        return '%s.%s.%s' % (cls.__module__, cls.__name__, attr)
 
 
 def cached(fn_or_id=None):
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.