Author: pekka.klarck
Date: Sun Apr  5 05:17:34 2009
New Revision: 1669

Modified:
   trunk/src/robot/serializing/serializer.py
   trunk/src/robot/utils/htmlwriter.py

Log:
Renamed HtmlWriter's starts -> start_many and ends -> end_many (these methods got bad names when renamed start/end_element -> start/end). Also some more cleanup.

Modified: trunk/src/robot/serializing/serializer.py
==============================================================================
--- trunk/src/robot/serializing/serializer.py   (original)
+++ trunk/src/robot/serializing/serializer.py   Sun Apr  5 05:17:34 2009
@@ -75,18 +75,16 @@
         pass_attrs, fail_attrs = self._get_graph_attrs(stat)
         self._writer.element('b', None, pass_attrs)
         self._writer.element('b', None, fail_attrs)
-        self._writer.ends(['div', 'td', 'tr'])
+        self._writer.end_many(['div', 'td', 'tr'])

     def _get_graph_attrs(self, stat):
# See utils.percents_to_widths to understand why different percent and
         # width values are needed
         percents = utils.calc_percents(stat.passed, stat.failed)
         widths = utils.percents_to_widths(*percents)
-        pass_attrs = {'class': 'pass_bar',
-                      'title': '%.1f%%' % percents[0],
+        pass_attrs = {'class': 'pass_bar', 'title': '%.1f%%' % percents[0],
                       'style': 'width: %.2f%%;' % widths[0]}
-        fail_attrs = {'class': 'fail_bar',
-                      'title': '%.1f%%' % percents[1],
+        fail_attrs = {'class': 'fail_bar', 'title': '%.1f%%' % percents[1],
                       'style': 'width: %.2f%%;' % widths[1]}
         return pass_attrs, fail_attrs

@@ -113,7 +111,7 @@
         self._writer.start('div', {'class': 'graph'})
         self._writer.element('b', None, {'class': 'no_tags_bar',
                                          'style': 'width: 100%;'})
-        self._writer.ends(['div', 'td', 'tr'])
+        self._writer.end_many(['div', 'td', 'tr'])

     def _stat_name(self, stat):
         self._writer.start('div', {'class': 'stat_name'}, newline=False)
@@ -246,7 +244,7 @@
         suite.id = self._idgen.get_id('suite')
         self._writer.start('table', {'class': 'suite', 'id': suite.id})
         self._write_suite_or_test_name(suite, 'suite')
-        self._writer.starts(['tr', 'td'])
+        self._writer.start_many(['tr', 'td'])
         self._writer.start('div', {'class': 'indent',
                                    'style': self._get_display_style(suite),
                                    'id': '%s_children' % suite.id})
@@ -254,21 +252,21 @@
         self._suite_level += 1

     def end_suite(self, suite):
-        self._writer.ends(['div','td','tr','table'])
+        self._writer.end_many(['div','td','tr','table'])
         self._suite_level -= 1

     def start_test(self, test):
         test.id = self._idgen.get_id('test')
         self._writer.start('table', {'class': 'test', 'id': test.id})
         self._write_suite_or_test_name(test, 'test')
-        self._writer.starts(['tr', 'td'])
+        self._writer.start_many(['tr', 'td'])
         self._writer.start('div', {'class': 'indent',
                                    'style': self._get_display_style(test),
                                    'id': '%s_children' % test.id})
         self._write_test_metadata(test)

     def end_test(self, test):
-        self._writer.ends(['div','td','tr','table'])
+        self._writer.end_many(['div','td','tr','table'])

     def start_keyword(self, kw):
         kw.id = self._idgen.get_id('kw')
@@ -282,7 +280,7 @@
         self._write_keyword_info(kw)

     def end_keyword(self, kw):
-        self._writer.ends(['div','td','tr','table'])
+        self._writer.end_many(['div','td','tr','table'])

     def message(self, msg):
         self._writer.start('table', {'class': 'messages'})
@@ -293,10 +291,10 @@
                              {'class': '%s level' % msg.level.lower()})
         self._writer.element('td', msg.message, {'class': 'msg'},
                              escape=not msg.html)
-        self._writer.ends(['tr', 'table'])
+        self._writer.end_many(['tr', 'table'])

     def _write_suite_or_test_name(self, item, type_):
-        self._writer.starts(['tr', 'td'])
+        self._writer.start_many(['tr', 'td'])
         self._write_expand_all(item)
         self._write_folding_button(item)
label = type_ == 'suite' and 'TEST SUITE: ' or 'TEST CASE: '
@@ -305,7 +303,7 @@
         name = item.get_long_name(split_level=self._split_level)
self._writer.element('a', item.name, {'name': '%s_%s' % (type_, name), 'class': 'name', 'title': name})
-        self._writer.ends(['td', 'tr'])
+        self._writer.end_many(['td', 'tr'])

     def _write_expand_all(self, item):
         # Overridden by testdoc.py tool.
@@ -331,7 +329,7 @@
             self._writer.element('span', kw_type.upper()+': ', status)
             self._writer.element('span', kw.name+' ', {'class': 'name'})
self._writer.element('span', ', '.join(kw.args), {'class': 'arg'})
-        self._writer.ends(['td', 'tr'])
+        self._writer.end_many(['td', 'tr'])

     def _write_keyword_info(self, kw):
         self._writer.start('table', {'class': 'metadata'})
@@ -463,7 +461,7 @@
             self._write_split_suite_name(item)

     def _write_split_suite_name(self, suite):
-        self._writer.starts(['tr', 'td'])
+        self._writer.start_many(['tr', 'td'])
         self._write_folding_button(suite)
         self._writer.element('span', 'TEST SUITE: ',
                              {'class': suite.status.lower()}, escape=False)
@@ -472,7 +470,7 @@
                              {'name': 'suite_%s' % (suite.mediumname),
                               'href': link, 'class': 'splitname',
                               'title': suite.longname})
-        self._writer.ends(['td', 'tr'])
+        self._writer.end_many(['td', 'tr'])

     def _write_split_suite_details_link(self):
         if self._suite_level == self._split_level:

Modified: trunk/src/robot/utils/htmlwriter.py
==============================================================================
--- trunk/src/robot/utils/htmlwriter.py (original)
+++ trunk/src/robot/utils/htmlwriter.py Sun Apr  5 05:17:34 2009
@@ -12,9 +12,6 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.

-
-from types import UnicodeType
-
 from abstractxmlwriter import AbstractXmlWriter
 from htmlutils import html_escape, html_attr_escape
 from robottypes import unic
@@ -39,7 +36,7 @@
         self._start(name, attrs, close=True, newline=newline)

     def content(self, content=None, escape=True):
-        if content is not None:
+        if content:
             if escape:
                 content = self._escape_content(content)
             self._write(content)
@@ -51,42 +48,38 @@
         self._write(elem)

     def element(self, name, content=None, attrs=None, escape=True,
-                      newline=True):
+                newline=True):
         self.start(name, attrs, newline=False)
         self.content(content, escape)
         self.end(name, newline)

-    def starts(self, names, newline=True):
+    def start_many(self, names, newline=True):
         for name in names:
             self.start(name, newline=newline)

-    def ends(self, names, newline=True):
+    def end_many(self, names, newline=True):
         for name in names:
             self.end(name, newline)

     def _start(self, name, attrs, close=False, newline=True):
         elem = '<%s' % name
-        attrs = self._process_attrs(attrs)
-        if attrs:
-            elem += ' ' + attrs
+        elem = self._add_attrs(elem, attrs)
         elem += (close and ' />' or '>')
         if newline:
             elem += '\n'
         self._write(elem)

-    def _process_attrs(self, attrs):
-        if attrs is None:
-            return ''
+    def _add_attrs(self, elem, attrs):
+        if not attrs:
+            return elem
         attrs = attrs.items()
         attrs.sort()
         attrs = [ '%s="%s"' % (name, html_attr_escape(value))
                   for name, value in attrs ]
-        return ' '.join(attrs)
+        return '%s %s' % (elem, ' '.join(attrs))

     def _escape_content(self, content):
-        if type(content) is not UnicodeType:
-            content = unic(content)
-        return html_escape(content)
+        return html_escape(unic(content))

     def _write(self, text):
         self.output.write(text.encode('UTF-8'))

Reply via email to