X-Git-Url: https://git.decadent.org.uk/gitweb/?p=dak.git;a=blobdiff_plain;f=dak%2Fdak.py;h=0f2280101858fd672b9c6649952a82201a1cf6ef;hp=0eeb9d7b80255ef47281933719f5c5919de9456f;hb=2764c503d2f9c2177873f861c9dad76bcd2c04ca;hpb=7de170d4c4e553e59d15fa8444fa025df3bef2c6 diff --git a/dak/dak.py b/dak/dak.py index 0eeb9d7b..0f228010 100755 --- a/dak/dak.py +++ b/dak/dak.py @@ -53,6 +53,26 @@ class UserExtension: ################################################################################ +class UserExtension: + def __init__(self, user_extension = None): + if user_extension: + m = imp.load_source("dak_userext", user_extension) + d = m.__dict__ + else: + m, d = None, {} + self.__dict__["_module"] = m + self.__dict__["_d"] = d + + def __getattr__(self, a): + if a in self.__dict__: return self.__dict__[a] + if a[0] == "_": raise AttributeError, a + return self._d.get(a, None) + + def __setattr__(self, a, v): + self._d[a] = v + +################################################################################ + def init(): """Setup the list of modules and brief explanation of what they do."""