diff options
Diffstat (limited to 'pym/_emerge/clear_caches.py')
-rw-r--r-- | pym/_emerge/clear_caches.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pym/_emerge/clear_caches.py b/pym/_emerge/clear_caches.py new file mode 100644 index 000000000..ce903ba08 --- /dev/null +++ b/pym/_emerge/clear_caches.py @@ -0,0 +1,19 @@ +import gc + +try: + import portage +except ImportError: + from os import path as osp + import sys + sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")) + import portage + +def clear_caches(trees): + for d in trees.itervalues(): + d["porttree"].dbapi.melt() + d["porttree"].dbapi._aux_cache.clear() + d["bintree"].dbapi._aux_cache.clear() + d["bintree"].dbapi._clear_cache() + d["vartree"].dbapi.linkmap._clear_cache() + portage.dircache.clear() + gc.collect() |