Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 02cbc833eb
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 35 lines (25 sloc) 0.788 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
'''
irctk.config
------------
Sets up the configuration object.
'''


import imp
import os


class Config(dict):
    '''TODO'''
    
    def __init__(self, root_path, defaults=None):
        dict.__init__(self, defaults or {})
        self.root_path = root_path
    
    def from_pyfile(self, filename):
        filename = os.path.join(self.root_path, filename)
        d = imp.new_module('config')
        d.__file__ = filename
        execfile(filename, d.__dict__)
        self.from_object(d)
        return True
    
    def from_object(self, obj):
        for key in dir(obj):
            if key.isupper():
                self[key] = getattr(obj, key)
    
    def __repr__(self):
        return '<{0!r} {0!r}>'.format(self.__class__.__name__, dict.__repr__(self))
Something went wrong with that request. Please try again.