← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~googol-hush/openlp/render into lp:openlp

 

Andreas Preikschat has proposed merging lp:~googol-hush/openlp/render into lp:openlp.

Requested reviews:
  Raoul Snyman (raoul-snyman)

For more details, see:
https://code.launchpad.net/~googol-hush/openlp/render/+merge/59521

Hello,

- fixed wrong use of strip()
- fixed soft break not working, when used within a line.
- removed redundant code
-- 
https://code.launchpad.net/~googol-hush/openlp/render/+merge/59521
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/lib/renderer.py'
--- openlp/core/lib/renderer.py	2011-04-28 06:44:48 +0000
+++ openlp/core/lib/renderer.py	2011-04-29 14:41:20 +0000
@@ -222,13 +222,13 @@
             # Songs and Custom
             if item.is_capable(ItemCapabilities.AllowsVirtualSplit):
                 # Do not forget the line breaks !
-                slides = text.split(u'\n[---]\n')
+                slides = text.split(u'[---]')
                 pages = []
                 for slide in slides:
-                    lines = self._lines(slide)
+                    lines = slide.strip(u'\n').split(u'\n')
                     new_pages = self._paginate_slide(lines, line_break,
                         self.force_page)
-                    pages.extend([page for page in new_pages])
+                    pages.extend(new_pages)
             # Bibles
             elif item.is_capable(ItemCapabilities.AllowsWordSplit):
                 pages = self._paginate_slide_words(text, line_break)
@@ -341,12 +341,14 @@
                 if force_page and line_count > 0:
                     Receiver.send_message(u'theme_line_count', line_count)
                 line_count = -1
-                html_text = html_text.rstrip(u'<br>')
+                while html_text.endswith(u'<br>'):
+                    html_text = html_text[:-4]
                 formatted.append(html_text)
                 html_text = u''
                 styled_text = styled_line
             html_text += line + line_end
-        html_text = html_text.rstrip(u'<br>')
+        while html_text.endswith(u'<br>'):
+            html_text = html_text[:-4]
         formatted.append(html_text)
         log.debug(u'_paginate_slide - End')
         return formatted
@@ -371,7 +373,7 @@
         formatted = []
         previous_html = u''
         previous_raw = u''
-        lines = self._lines(text)
+        lines = text.split(u'\n')
         for line in lines:
             styled_line = expand_tags(line)
             html = self.page_shell + previous_html + styled_line + HTML_END
@@ -385,7 +387,8 @@
                     self.web.setHtml(html)
                     if self.web_frame.contentsSize().height() <= \
                         self.page_height:
-                        previous_raw = previous_raw.rstrip(u'<br>')
+                        while previous_raw.endswith(u'<br>'):
+                            previous_raw = previous_raw[:-4]
                         formatted.append(previous_raw)
                         previous_html = u''
                         previous_raw = u''
@@ -408,7 +411,8 @@
                     # Text too long so go to next page
                     if self.web_frame.contentsSize().height() > \
                         self.page_height:
-                        previous_raw = previous_raw.rstrip(u'<br>')
+                        while previous_raw.endswith(u'<br>'):
+                            previous_raw = previous_raw[:-4]
                         formatted.append(previous_raw)
                         previous_html = u''
                         previous_raw = u''
@@ -419,36 +423,20 @@
             else:
                 previous_html += styled_line + line_end
                 previous_raw += line + line_end
-        previous_raw = previous_raw.rstrip(u'<br>')
+        while previous_raw.endswith(u'<br>'):
+            previous_raw = previous_raw[:-4]
         formatted.append(previous_raw)
         log.debug(u'_paginate_slide_words - End')
         return formatted
 
-    def _lines(self, text):
-        """
-        Split the slide up by physical line
-        """
-        # this parse we do not want to use this so remove it
-        verses_text = text.split(u'\n')
-        text = []
-        for verse in verses_text:
-            lines = verse.split(u'\n')
-            text.extend([line for line in lines])
-
-        return text
-
     def _words_split(self, line):
         """
         Split the slide up by word so can wrap better
         """
         # this parse we are to be wordy
         line = line.replace(u'\n', u' ')
-        verses_text = line.split(u' ')
-        text = []
-        for verse in verses_text:
-            lines = verse.split(u' ')
-            text.extend([line + u' ' for line in lines])
-        return text
+        words = line.split(u' ')
+        return [word + u' ' for word in words]
 
     def _lines_split(self, text):
         """
@@ -457,9 +445,4 @@
         # this parse we do not want to use this so remove it
         text = text.replace(u'\n[---]', u'')
         lines = text.split(u'\n')
-        real_lines = []
-        for line in lines:
-            line = line.replace(u'[---]', u'')
-            sub_lines = line.split(u'\n')
-            real_lines.extend([sub_line for sub_line in sub_lines])
-        return real_lines
+        return [line.replace(u'[---]', u'') for line in lines]


Follow ups