Source code for freedom.cli

# -*- coding: utf-8 -*-
"""
:summary: The command-line invoked wrapper for the release system.

:author: francis.horsman@gmail.com
"""

from logging import getLogger

from six import string_types

from .core import releaser


[docs]class cli(object): """ Command-line wrapper. """ LOGGER_NAME = 'releaser-cli' def __init__(self, run=True, logger=None, handlers=None, **kwargs): """ :param kwargs: see ..release.py """ self.logger = getLogger(logger) if isinstance(logger, string_types) \ else logger if logger is not None else getLogger(cli.LOGGER_NAME) self.kwargs = kwargs self.run = run self.handlers = handlers def __call__(self, **kwargs): return self.execute(**kwargs) def execute(self, run=None, logger=None, kwargs=None, handlers=None): run = run if run is not None else self.run logger = logger if logger is not None else self.logger kwargs = kwargs if kwargs is not None else self.kwargs handlers = handlers if handlers is not None else self.handlers r = releaser(logger=logger, handlers=handlers, **kwargs) return r() if r and run is True else r
if __name__ == '__main__': # pragma no cover pass

Related Topics