1from clikit.api.io import IO 2from clikit.api.config import ApplicationConfig 3from clikit.ui import Component 4 5from .paragraph import Paragraph 6 7 8class NameVersion(Component): 9 """ 10 Renders the name and version of an application. 11 """ 12 13 def __init__(self, config): # type: (ApplicationConfig) -> None 14 self._config = config 15 16 def render(self, io, indentation=0): # type: (IO, int) -> None 17 if self._config.display_name and self._config.version: 18 paragraph = Paragraph( 19 "{} version <c1>{}</c1>".format( 20 self._config.display_name, self._config.version 21 ) 22 ) 23 elif self._config.display_name: 24 paragraph = Paragraph("{}".format(self._config.display_name)) 25 else: 26 paragraph = Paragraph("Console Tool") 27 28 paragraph.render(io, indentation) 29