Source code for freedom.actions

# -*- coding: utf-8 -*-
"""
:summary: All actions related functionality goes in here.

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

from .helper import Helper
from .options import OptionsKey
from .utils import EventLevel, event_creator


[docs]class Actions(Helper): """ Actions are called by a Task only. :see: .task.py :attention: all public methods must have the same signature: "def method_name(self, context)". """ NAME = 'actions' def __init__(self, core, logger=None, **kwargs): assert core.history assert core.publisher assert core.vcs assert core.builder assert core.monitor Helper.__init__(self, core, logger=logger, **kwargs) @event_creator(NAME, EventLevel.ERROR, EventLevel.OK, OptionsKey.TAG_RELEASE) def tag_release(self, context): self.logger.info('Action: Tag-Release') history_version_overwrite = self.profile.history.history_file new_version = self.history.generate_new_version( history_version_overwrite, self.history.current_version) self.history.rewrite_history_from_profile(new_version) self.history.set_current_version(new_version) @event_creator(NAME, EventLevel.ERROR, EventLevel.OK, OptionsKey.PUSH_RELEASE) def push_release(self, context): self.logger.info('Action: Push-Release') return self.vcs.push(push_all=True, push_tags=True) @event_creator(NAME, EventLevel.ERROR, EventLevel.OK, OptionsKey.PUBLISH_RELEASE_PYPI) def publish_release(self, context): self.logger.info('Action: Publish-Release') version = context.get('version', None) if version is None: version = self.history.current_version return self.publisher.pypi(version) @event_creator(NAME, EventLevel.ERROR, EventLevel.OK, OptionsKey.REGISTER_PROJECT_PYPI) def register_project(self, context): self.logger.info('Action: Register-Project') return self.publisher.register_pypi() @event_creator(NAME, EventLevel.ERROR, EventLevel.OK, OptionsKey.BUILD_RELEASE) def build_release(self, context): self.logger.info('Action: Build-Release') version = context.get('version', None) if version is None: version = self.history.current_version return self.builder.build_release(version) @event_creator(NAME, EventLevel.ERROR, EventLevel.OK, OptionsKey.BUILD_TEST) def build_test(self, context): self.logger.info('Action: Build-Test') return self.builder.build_test() @event_creator(NAME, EventLevel.ERROR, EventLevel.OK, OptionsKey.BUILD_RELEASE_DOCS) def build_release_docs(self, context): self.logger.info('Action: Build-Release-docs-pypi') return self.builder.build_release_docs() def build_and_publish_release_docs_pypi(self, context): self.logger.info('Action: Build-Publish-Release-docs-pypi') return self.builder.build_and_publish_release_docs_pypi() def build_and_publish_release_docs_rtd(self, context): self.logger.info('Action: Build-Publish-Release-docs-rtd') return self.builder.build_and_publish_release_docs_rtd() @event_creator(NAME, EventLevel.ERROR, EventLevel.OK, OptionsKey.PUBLISH_RELEASE_DOCS_PYPI) def publish_release_docs_pypi(self, context): self.logger.info('Action: Publish-Release-docs-pypi') return self.builder.publish_release_docs_pypi()
if __name__ == '__main__': # pragma no cover pass

Related Topics