title: Remove cell from table
body: <p>I have created my own Sales / Quotation report caleed sale_order.sxw using OpenOffice Write. From there I generate the sale_order.rml file.</p>
  
  <p>I have two installation of OpenERP, one on Windows and one on Ubuntu.</p>
  
  <p>In OOWriter, I have a 4 columns table that prints out each single order line along with Quantity, "Print this" text and Subtotal.</p>
  
  <p>The third column is printed out only if a specific condition is met, based on the price list name containing "final":</p>
  
  <p>So I expect:</p>
  
  <p>If "final" is not located within the price list</p>
  
  <p>Product A|2|Print this     |20</p>
  
  <p>If "final" is located within the price list:</p>
  
  <p>Product A|2|20</p>
  
  <p>To solve this, I have the following code:</p>
  
  <pre><code>    (so.partner_id.property_product_pricelist.name.find('final') &gt; 0) and "Print this" or removeParentNode('td')
  </code></pre>
  
  <p><strong>It works fine from the windows installation.</strong></p>
  
  <p>But when I run the same file from the Ubuntu installation I get an AssertionError message and I can't print out my Sales / Quotation pdf report.</p>
  
  <p>I did some testing specifically with the removeParentNode('td') and the error seems to come from there, but I can't work out why as it works under windows!</p>
  
  <p>Here is the log from the Ubuntu server:</p>
  
  <pre><code>2013-04-15 13:09:07,822 1621 ERROR ? openerp.service.web_services: Exception: 
  Traceback (most recent call last):
    File "/home/download/openerp-6.1-20121008-233119/openerp/service/web_services.py", line 727, in go
  (result, format) = obj.create(cr, uid, ids, datas, context)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/report_sxw.py", line 442, in create
  fnct_ret = fnct(cr, uid, ids, data, report_xml, context)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/report_sxw.py", line 511, in create_source_pdf
  return self.create_single_pdf(cr, uid, ids, data, report_xml, context)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/report_sxw.py", line 533, in create_single_pdf
  pdf = create_doc(etree.tostring(processed_rml),rml_parser.localcontext,logo,title.encode('utf8'))
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/interface.py", line 207, in create_pdf
  obj.render()
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/render.py", line 59, in render
  self._result = self._render()
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/rml.py", line 41, in _render
  return rml2pdf.parseNode(self.rml, self.localcontext, images=self.bin_datas, path=self.path,title=self.title)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/rml2pdf/trml2pdf.py", line 1007, in parseNode
  r.render(fp)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/rml2pdf/trml2pdf.py", line 314, in render
  pt_obj.render(el)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/rml2pdf/trml2pdf.py", line 983, in render
  fis += r.render(node_story)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/rml2pdf/trml2pdf.py", line 877, in render
  return process_story(node_story)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/rml2pdf/trml2pdf.py", line 870, in process_story
  flow = self._flowable(node)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/rml2pdf/trml2pdf.py", line 834, in _flowable
  return self.render(node)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/rml2pdf/trml2pdf.py", line 877, in render
  return process_story(node_story)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/rml2pdf/trml2pdf.py", line 870, in process_story
  flow = self._flowable(node)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/rml2pdf/trml2pdf.py", line 793, in _flowable
  return  self._table(node)
    File "/home/download/openerp-6.1-20121008-233119/openerp/report/render/rml2pdf/trml2pdf.py", line 697, in _table
      assert length == len(node.get('colWidths').split(','))
  AssertionError
  2013-04-15 13:09:07,951 1621 ERROR ? openerp.netsvc: 
  (&lt;type 'exceptions.AssertionError'&gt;, AssertionError(), &lt;traceback object at 0x7ff558e54b00&gt;)
  2013-04-15 13:09:07,953 1621 INFO ? werkzeug: 192.168.2.4 - - [15/Apr/2013 13:09:07] "POST /web/report HTTP/1.1" 500 -
  </code></pre>
  
  <p>I did a comparison between the trml2pdf.py files used on the server and the one used by windows and they are identical. </p>