summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/clear_caches.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-06-23 18:46:38 +0000
committerZac Medico <zmedico@gentoo.org>2009-06-23 18:46:38 +0000
commit6ca0735178ef51c087f35c2bbf2bca415bd4ab55 (patch)
tree2b8a816b6c17e2fd4f2f5c8f00d67db19c0855e1 /pym/_emerge/clear_caches.py
parent078ea4131bf890142cd9da68c9af64982e33a795 (diff)
downloadportage-6ca0735178ef51c087f35c2bbf2bca415bd4ab55.tar.gz
portage-6ca0735178ef51c087f35c2bbf2bca415bd4ab55.tar.bz2
portage-6ca0735178ef51c087f35c2bbf2bca415bd4ab55.zip
Bug #275047 - Split _emerge/__init__.py into smaller pieces (part 5).
Thanks to Sebastian Mingramm (few) <s.mingramm@gmx.de> for this patch. svn path=/main/trunk/; revision=13672
Diffstat (limited to 'pym/_emerge/clear_caches.py')
-rw-r--r--pym/_emerge/clear_caches.py19
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()