comparison pyloader/factory.py @ 15:0bea5297c156

introduce a more betterer test
author Jeff Hammel <jhammel@mozilla.com>
date Fri, 27 May 2011 18:56:00 -0700
parents 30979d82c95d
children edecb6fbd5a7
comparison
equal deleted inserted replaced
14:30979d82c95d 15:0bea5297c156
1 """ 1 """
2 abstract factories 2 abstract factories
3 """ 3 """
4 4
5 import loader 5 import loader
6 import os
7
8 __all__ = ['CircularReferenceError', 'PyFactory', 'IniFactory']
6 9
7 class CircularReferenceError(Exception): 10 class CircularReferenceError(Exception):
8 """factory has detected a circular reference""" 11 """factory has detected a circular reference"""
9 12
10 class PyFactory(object): 13 class PyFactory(object):
76 value = value[len(self.delimeters[0]):-len(self.delimeters[1])] 79 value = value[len(self.delimeters[0]):-len(self.delimeters[1])]
77 if value in self.config: 80 if value in self.config:
78 return self.load(value) 81 return self.load(value)
79 return value 82 return value
80 83
84 class IniFactory(PyFactory):
85
86 def __init__(self, inifile, main=''):
87 assert os.path.exists(inifile), "File not found: %s" % inifile
88
89 def read(self):
90 """reads configuration from an .ini file"""