def factory(distribution_type, provenance=None):
"""
Factory method for creating the appropriate Orchestrator sub-class
based on format type.
Parameters
----------
distribution_type : string
Type of distribution subclass to create. Current options are:
'conda', 'debian', 'neurodebian', 'pypi'
provenance : dict
Keyword args to be passed to initialize class instance
Returns
-------
distribution : object
Distribution class or its instance (when provenance is not None)
"""
class_name = distribution_type.capitalize() + 'Distribution'
module = import_module('niceman.distributions.' + distribution_type.lower())
class_ = getattr(module, class_name)
return class_ if provenance is None else class_(**provenance)
评论列表
文章目录