def _initialize_default_name_markups(self): if self.instrument_name: string = self.instrument_name string = stringtools.capitalize_string_start(string) markup = markuptools.Markup(contents=string) self._instrument_name_markup = markup else: self._instrument_name_markup = None if self.short_instrument_name: string = self.short_instrument_name string = stringtools.capitalize_string_start(string) markup = markuptools.Markup(contents=string) self._short_instrument_name_markup = markup else: self._short_instrument_name_markup = None
def display( self, lines, capitalize_first_character=True, ): r'''Displays `lines`. Clears terminal first. Returns none. ''' assert isinstance(lines, (str, list)) if isinstance(lines, str): lines = [lines] if self._session.hide_next_redraw: return if capitalize_first_character: lines = [ stringtools.capitalize_string_start(line) for line in lines ] if lines: self._session.transcript._append_entry(lines) if not self._session.pending_user_input: for line in lines: print line
def _display_all_commands(self): menu_lines = [] for menu_section in self.menu_sections: #print repr(menu_section), 'SECTION' if not menu_section.is_command_section: continue for menu_entry in menu_section.menu_entries: key = menu_entry.key display_string = menu_entry.display_string menu_line = self._make_tab(1) menu_line += '{} ({})'.format(display_string, key) menu_lines.append(menu_line) menu_lines.append('') if menu_lines: menu_lines.pop() menu_lines = self._make_bicolumnar(menu_lines) title = self._session.menu_header title = stringtools.capitalize_string_start(title) menu_lines[0:0] = [title, ''] menu_lines.append('') self._clear_terminal() self._io_manager.display( menu_lines, capitalize_first_character=False, ) self._session._hide_hidden_commands = True self._session._hide_next_redraw = True
def display( self, lines, capitalize_first_character=True, clear_terminal=False, ): r'''Displays `lines`. Clears terminal first. Returns none. ''' assert isinstance(lines, (str, list)) if isinstance(lines, str): lines = [lines] if not self.session.hide_next_redraw: if capitalize_first_character: lines = [ stringtools.capitalize_string_start(line) for line in lines ] if lines: if self.session.transcribe_next_command: self.session.io_transcript.append_lines(lines) if self.session.is_displayable: if clear_terminal: self.clear_terminal() for line in lines: print line
def _make_class_name_markup(rhythm_maker): class_ = type(rhythm_maker) string = class_._human_readable_class_name string = stringtools.capitalize_string_start(string) pair = schemetools.SchemePair('font-name', 'Times') command = markuptools.MarkupCommand('override', pair, string) command = markuptools.MarkupCommand('fontsize', 4.5, command) markup = markuptools.Markup(command) return markup
def _make_title_lines(self): result = [] if not self.hide_current_run: if self.title is not None: title = self.title else: title = self.session.menu_header result.append(stringtools.capitalize_string_start(title)) result.append('') return result
def handle_user_input( self, prompt_string, default_value=None, include_chevron=True, include_newline=True, prompt_character='>', capitalize_prompt=True, ): r'''Handles user input. Appends user input to command history. Appends user input to IO transscript. Returns command selected by user. ''' if default_value in (None, 'None'): default_value = '' readline.set_startup_hook(lambda: readline.insert_text(default_value)) try: if capitalize_prompt: prompt_string = stringtools.capitalize_string_start( prompt_string) if include_chevron: prompt_string = prompt_string + prompt_character + ' ' else: prompt_string = prompt_string + ' ' if self.session.is_displayable: user_input = raw_input(prompt_string) if include_newline: if not user_input == 'help': print '' else: user_input = self._pop_from_pending_user_input() if self.session.transcribe_next_command: self.session.command_history.append(user_input) if user_input == '.': last_semantic_command = self.session.last_semantic_command user_input = last_semantic_command if self.session.transcribe_next_command: menu_chunk = [] menu_chunk.append('{}{}'.format(prompt_string, user_input)) if include_newline: if not user_input == 'help': menu_chunk.append('') self.session.io_transcript.append_lines(menu_chunk) return user_input finally: readline.set_startup_hook()
def _make_title_lines(self): menu_lines = [] if isinstance(self.title, str): title_lines = [stringtools.capitalize_string_start(self.title)] elif isinstance(self.title, list): title_lines = self.title else: title_lines = [] for title_line in title_lines: if self.indent_level: line = '{} {}'.format( self._make_tab(self.indent_level), title_line) menu_lines.append(line) else: menu_lines.append(title_line) if menu_lines: menu_lines.append('') return menu_lines
def display_hidden_menu_section(self): self.session.push_breadcrumb('hidden commands') menu_lines = [] title = self.session.menu_header title = stringtools.capitalize_string_start(title) menu_lines.append(title) menu_lines.append('') for menu_section in self.menu_sections: if menu_section.is_hidden: for menu_entry in menu_section.menu_entries: key = menu_entry.key display_string = menu_entry.display_string menu_line = self._make_tab(1) + ' ' menu_line += '{} ({})'.format(display_string, key) menu_lines.append(menu_line) menu_lines.append('') self.session.io_manager.display( menu_lines, capitalize_first_character=False, clear_terminal=True, ) self.session.hide_next_redraw = True self.session.pop_breadcrumb()
def _make_gallery_title_markup(self): string = self._human_readable_class_name string = stringtools.capitalize_string_start(string) markup = markuptools.Markup(string) return markup
def _load_prompt_string(self): prompt_string = self._current_prompt.prompt_string if self.capitalize_prompts: prompt_string = stringtools.capitalize_string_start(prompt_string) self._prompt_strings.append(prompt_string)