Skip to content

Commit 42b64de

Browse files
authored
Merge pull request #84 from altor/release_0.6.2
Release 0.6.5
2 parents 9345041 + e60e3dc commit 42b64de

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

powerapi/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@
2727
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2828
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2929

30-
__version__ = "0.6.4"
30+
__version__ = "0.6.5"

powerapi/cli/tools.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import logging
3333

3434
from functools import reduce
35+
from powerapi.exception import PowerAPIException
3536
from powerapi.cli.parser import MainParser, ComponentSubParser
3637
from powerapi.cli.parser import store_true
3738
from powerapi.cli.parser import BadValueException, MissingValueException
@@ -186,6 +187,20 @@ def _gen_actor(self, component_name, component_config, main_config):
186187
raise NotImplementedError()
187188

188189

190+
class ModelNameAlreadyUsed(PowerAPIException):
191+
"""
192+
Exception raised when attempting to add to a DBActorGenerator a model factory with a name already bound to another
193+
model factory in the DBActorGenerator
194+
"""
195+
196+
197+
class ModelNameAlreadyUsed(PowerAPIException):
198+
"""
199+
Exception raised when attempting to add to a DBActorGenerator a database factory with a name already bound to another
200+
database factory in the DBActorGenerator
201+
"""
202+
203+
189204
class DBActorGenerator(Generator):
190205

191206
def __init__(self, component_group_name):
@@ -203,6 +218,16 @@ def __init__(self, component_group_name):
203218
'opentsdb': lambda db_config: OpenTSDB(db_config['uri'], db_config['port'], db_config['metric_name']),
204219
}
205220

221+
def add_model_factory(self, model_name, model_factory):
222+
if model_name in self.model_factory:
223+
raise ModelNameAlreadyUsed()
224+
self.model_factory[model_name] = model_factory
225+
226+
def add_db_factory(self, db_name, db_factory):
227+
if db_name in self.model_factory:
228+
raise ModelNameAlreadyUsed()
229+
self.model_factory[db_name] = db_factory
230+
206231
def _generate_db(self, db_name, db_config, main_config):
207232
return self.db_factory[db_name](db_config)
208233

0 commit comments

Comments
 (0)