| 107 | return deco |
| 108 | |
| 109 | def removeCachedEntry(type, ID): |
| 110 | if type not in queryCache: |
| 111 | return |
| 112 | functionCache = queryCache[type] |
| 113 | for _, localCache in functionCache.items(): |
| 114 | toDelete = set() |
| 115 | for cacheKey, info in localCache.items(): |
| 116 | IDs = info[1] |
| 117 | if ID in IDs: |
| 118 | toDelete.add(cacheKey) |
| 119 | |
| 120 | for cacheKey in toDelete: |
| 121 | del localCache[cacheKey] |
| 122 | |
| 123 | if ID in itemCache[type]: |
| 124 | del itemCache[type][ID] |
| 125 | |
| 126 | elif callable(configVal): |
| 127 | cachedQuery, removeCachedEntry = eos.config.gamedataCache |