# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: ivan_gudym-20100202183125-jtg7lij2fzevc1c3 # target_branch: file:///home/ivan/devel/openerp/remote/server/ # testament_sha1: 27b4ea4a5a034162e84c005aad3b22e8223e6d03 # timestamp: 2010-02-02 20:58:15 +0200 # base_revision_id: jvo@tinyerp.com-20100201114605-6klss5f5bqw5yb6o # # Begin patch === modified file 'bin/report/preprocess.py' --- bin/report/preprocess.py 2009-06-30 13:36:26 +0000 +++ bin/report/preprocess.py 2010-02-02 18:31:25 +0000 @@ -50,6 +50,8 @@ while n.tag not in match: n = n.getparent() n.set('rml_loop', txt.group(2)) + if n.tag == 'tr': + self.fix_table_style(n) return '[['+txt.group(1)+"''"+txt.group(4)+']]' t = _regex1.sub(_sub1, node.text) if t == " ": @@ -59,6 +61,29 @@ self.preprocess_rml(node,type) return root_node + def fix_table_style(self, row): + table = row.getparent() + loop = table.index(row) + num_rows = len(table) + root = table + while root.getparent(): + root = root.getparent() + tableStyle = root.find(".//blockTableStyle[@id='%s']" % table.get("style")) + for s in tableStyle: + if s.tag == "lineStyle": + b_col, b_row = self.parse_startstop(s.get('start')) + e_col, e_row = self.parse_startstop(s.get('stop')) + if b_row > loop: + b_row = b_row - num_rows + if e_row >= loop: + e_row = e_row - num_rows + s.set("start", "%d,%d" % (b_col, b_row)) + s.set("stop", "%d,%d" % (e_col, e_row)) + + def parse_startstop(self, line): + p = line.split(",") + return int(p[0]), int(p[1]) + if __name__=='__main__': node = etree.XML(''' This is a test[[ setTag('para','xpre') ]] # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWdEgD24AAhV/gERURABS5//3 U6AMCr////BQBJvSa5ScuITbmIJJCmIjaGUzRPSYTTGkxGjEDQAEkkmZNMRNNNFPU/URtRoeoDEM TQBoJEiGkNDFTaaanoRiHlBkaDNJo0aDmAAmTAAmEwTCGAIwAJJBGhGjRoGmVP1I09qR6TRkA0Gn qNMKIVxqx5iVvfxlBymuVjfZCg8RwbHK1UGrHzWYvggz1OpjAnrSSCKSOB6dybeZ+hA77WGY/H1P KdmfqqJSmr3Lqymrx5MrmRLuJF1+Hc5SiTpHhj58LraVWw9rtpVuPKJtOozUiqcE357Iy0C479fT 5Rr07fW+j8s6C3Vff3GtEJ8b4AUMTJnKgtO6FVV2FBRHcwDlW4ukn8OGTmox0TPgsox0jpTunifw JYj9BoKi4wEYK1hU/NJYprXQolnvnRAfAghzUbpjwfNFvLTLLGlaap6DmOTmBMTRQPEw6zrHGxeQ +awiRJ1zKP3WaI9UihF/KmCJ1TEd3mJQNdacoOIi0jSV9xrITNjySwJ77xc9bWGU4CmfCNx27QV6 B0HAVyLTBwqbdbD4DBpLnHToKgjU4ZpxqKkxwzCdSLNtlwxVZtK5EzyULFI6VbkZFxeRMmwqaZwo 5VilwfkcRrbMjRWm01YHnXFTzvsiokuyc9wzze16qJERxntvWJxWl8gsKFSrvAVxpnZ5oM5MTRFu KLajYajXXJhpp4q1zYGyk7BzW3HOqk2X2DDA/ObAj8Vcwu1nWYhJpXad47HnOjUpNWGG839Mq4LK 4cp7vf9FMvYzwd9KVB24EbL9ftJmlA+JhF+mqbbbY+tV4tBHgcXNOFJxOuB5yA6MWUDisvDvsIea UOcgUETKrISl66vbhh5MtGglSM+1ZacyKjaVigTFsWIx192wrnMd3r/bFkMs7P/g4hfz8iRjXKZT BRQRp6a8SioJFMXIs5NOl5pEGGawQ4X774XItcmk4luhtUcTLRk6cOOTLtUCnu1HHhYe6SJODkmA hrfZNzC4HSwMy2qBqFmqEwGapTSNLMNSjFG8MOoyyvJHj13chsf05Su9Qs5rE8cKQuwVyuCXj8qw puNFCP5A5Hr8vQXi38mJzaOrDXMtETLg98gtA3AT9XvME3SsjixC1nj7ir9RiWbCHatgc6z62sjO Bk5zkznF19SN4nlnZpmk1RGNXdJbLNsGFXUFYMGK4UyVqCDnxvnx6KuXZBQTCZFtAJsqooGDaKzC SW2/IsywcjigmA7YqIs2KGHBQ8GW9ygKABU4TgrHGOJe9NllsXQankA0nu5aXNvTpDXJ+i4XX52n MMags53oILOXHZRlVGEi5a4qnTKKhWDAZsVDKIZ0MyQoULEh1fOw4luJwq7huDYqz+VmzhyEGg5w HkU8q501t4VqIrVAlMySljiaDNkR8kTVRHAt43gyHmNJiKvRUX/UWbQTOwKILloWMKtpq+cHjYzD DfL/fQVD2RVmHjIUhVqXZaagIYrFC/q3TqVz2GUZ9Cc5u1UCoDFLywIit5fY/4u5IpwoSGiQB7cA