From 2e2b4ab0a9c462e7fd863bb3e20a0cf02cd510d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Mon, 14 May 2007 10:37:02 +0000 Subject: [PATCH] done... --- pisi/operations.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pisi/operations.py b/pisi/operations.py index 02be370f..fb251b40 100644 --- a/pisi/operations.py +++ b/pisi/operations.py @@ -34,6 +34,9 @@ import pisi.ui as ui class Error(pisi.Error): pass +def __exec_string(s): + exec(s) + def upgrade_pisi(): """forces to reload pisi modules and runs rebuild-db if needed.""" import pisi @@ -63,6 +66,26 @@ def upgrade_pisi(): """removal from sys.modules forces reload via import""" del(sys.modules[module]) + global_keys = globals().keys() + for i in global_keys: + x = globals()[i] + + try: + if x.__module__.startswith("pisi."): + if sys.modules.has_key(x.__module__): + reload(sys.modules[x.__module__]) + + if hasattr(x, "__name__") and x.__name__ != i: +# print "from %s import %s as %s" % (x.__module__, x.__name__, i) + __exec_string("from %s import %s as %s" % (x.__module__, x.__name__, i)) + else: +# print "from %s import %s" % (x.__module__, x.__name__) + __exec_string("from %s import %s" % (x.__module__, x.__name__)) + except AttributeError, e: + pass + + + pisi.api.finalize() reload_pisi() reload(pisi)