summaryrefslogtreecommitdiff
path: root/portato/backend/__init__.py
diff options
context:
space:
mode:
authornecoro <>2007-02-20 19:53:20 +0000
committernecoro <>2007-02-20 19:53:20 +0000
commitb4f5605505dad572f4c4ea47e03d8d678c351003 (patch)
treed338947ac9bc8ef7b4c1998fa6d653b7a120bfa5 /portato/backend/__init__.py
parent0713215207a7eed95bed8e4ca9044c3eed5f3827 (diff)
downloadportato-b4f5605505dad572f4c4ea47e03d8d678c351003.tar.gz
portato-b4f5605505dad572f4c4ea47e03d8d678c351003.tar.bz2
portato-b4f5605505dad572f4c4ea47e03d8d678c351003.zip
Renamed package.get_env_var to package.get_package_settings
Diffstat (limited to 'portato/backend/__init__.py')
-rw-r--r--portato/backend/__init__.py23
1 files changed, 19 insertions, 4 deletions
diff --git a/portato/backend/__init__.py b/portato/backend/__init__.py
index 83ee1d6..c3de443 100644
--- a/portato/backend/__init__.py
+++ b/portato/backend/__init__.py
@@ -10,32 +10,47 @@
#
# Written by René 'Necoro' Neumann <necoro@necoro.net>
+from exceptions import *
from system_interface import SystemInterface
-SYSTEM = "portage"
-_sys = None
+SYSTEM = "portage" # the name of the current system
+_sys = None # the SystemInterface-instance
class SystemWrapper (object, SystemInterface):
+ """This is a wrapper to the different system interfaces, allowing the direct import via C{from portato.backend import system}.
+ With this wrapper a change of the system is propagated to all imports."""
+
def __getattribute__ (self, name):
+ """Just pass all attribute accesses directly to _sys."""
global _sys
return eval ("_sys.%s" % name)
def set_system (new_sys):
+ """Sets the current system to a new one.
+
+ @param new_sys: the name of the system to take
+ @type new_sys: string"""
+
global SYSTEM
SYSTEM = new_sys
load_system()
def load_system ():
+ """Loads the current chosen system.
+
+ @raises InvalidSystemError: if an inappropriate system is set"""
+
global _sys
if SYSTEM == "portage":
from portato.backend.portage import PortageSystem
_sys = PortageSystem ()
+ else:
+ raise InvalidSystemError, SYSTEM
system = SystemWrapper()
-from exceptions import *
+# import package before loading the system as some systems may depend on it being in the namespace
from package import Package
load_system()
-