From 72b7744b98d97f10650535423beed6b7c688d6cf Mon Sep 17 00:00:00 2001 From: ZyX Date: Sun, 10 Aug 2014 18:28:32 +0400 Subject: [PATCH] Split Renderer.render() into .render() and .do_render() --- powerline/renderer.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/powerline/renderer.py b/powerline/renderer.py index 6ee245aa..c7e55883 100644 --- a/powerline/renderer.py +++ b/powerline/renderer.py @@ -219,8 +219,20 @@ class Renderer(object): Matcher information. Is processed in ``.get_theme()`` method. ''' theme = self.get_theme(matcher_info) - segments = theme.get_segments(side, line, self.get_segment_info(segment_info, mode)) + return self.do_render( + mode=mode, + width=width, + side=side, + line=line, + output_raw=output_raw, + segment_info=segment_info, + theme=theme, + ) + def do_render(self, mode, width, side, line, output_raw, segment_info, theme): + '''Like Renderer.render(), but accept theme in place of matcher_info + ''' + segments = theme.get_segments(side, line, self.get_segment_info(segment_info, mode)) # Handle excluded/included segments for the current mode segments = [ self._get_highlighting(segment, segment['mode'] or mode) @@ -252,8 +264,6 @@ class Renderer(object): }, } - length = self._render_length(theme, segments, divider_lengths) - # Create an ordered list of segments that can be dropped segments_priority = sorted((segment for segment in segments if segment['priority'] is not None), key=lambda segment: segment['priority'], reverse=True) for segment in segments_priority: