diff options
| author | Denis Ledoux <dle@openerp.com> | 2013-11-27 14:35:00 +0100 |
|---|---|---|
| committer | Denis Ledoux <dle@openerp.com> | 2013-11-27 14:35:00 +0100 |
| commit | 0ecdb5dec7159a4a28d8abd7215c3ec724d5a3dc (patch) | |
| tree | ef28df95f377516a75c921f301386acc49134b46 /addons/google_spreadsheet/google_spreadsheet.py | |
| parent | 0d13df5a5703d71a987eabd0bd0d56b4148e17a2 (diff) | |
[FIX]google_spreadsheet: if formula contained html special chars, the formula was not written on the spreadsheet. The formula is now html escaped before sending the writting request on the spreadsheet.
bzr revid: dle@openerp.com-20131127133500-18vra6sqs6cb3loh
Diffstat (limited to 'addons/google_spreadsheet/google_spreadsheet.py')
| -rw-r--r-- | addons/google_spreadsheet/google_spreadsheet.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/addons/google_spreadsheet/google_spreadsheet.py b/addons/google_spreadsheet/google_spreadsheet.py index a724e3c425e..81ec536b6f2 100644 --- a/addons/google_spreadsheet/google_spreadsheet.py +++ b/addons/google_spreadsheet/google_spreadsheet.py @@ -18,6 +18,7 @@ # ############################################################################## +import cgi import simplejson import logging from lxml import etree @@ -67,24 +68,24 @@ class config(osv.osv): request = '''<feed xmlns="http://www.w3.org/2005/Atom" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gs="http://schemas.google.com/spreadsheets/2006"> - <id>https://spreadsheets.google.com/feeds/cells/%s/od6/private/full</id> + <id>https://spreadsheets.google.com/feeds/cells/{key}/od6/private/full</id> <entry> <batch:id>A1</batch:id> <batch:operation type="update"/> - <id>https://spreadsheets.google.com/feeds/cells/%s/od6/private/full/R1C1</id> + <id>https://spreadsheets.google.com/feeds/cells/{key}/od6/private/full/R1C1</id> <link rel="edit" type="application/atom+xml" - href="https://spreadsheets.google.com/feeds/cells/%s/od6/private/full/R1C1"/> - <gs:cell row="1" col="1" inputValue="%s"/> + href="https://spreadsheets.google.com/feeds/cells/{key}/od6/private/full/R1C1"/> + <gs:cell row="1" col="1" inputValue="{formula}"/> </entry> <entry> <batch:id>A2</batch:id> <batch:operation type="update"/> - <id>https://spreadsheets.google.com/feeds/cells/%s/od6/private/full/R60C15</id> + <id>https://spreadsheets.google.com/feeds/cells/{key}/od6/private/full/R60C15</id> <link rel="edit" type="application/atom+xml" - href="https://spreadsheets.google.com/feeds/cells/%s/od6/private/full/R60C15"/> - <gs:cell row="60" col="15" inputValue="%s"/> + href="https://spreadsheets.google.com/feeds/cells/{key}/od6/private/full/R60C15"/> + <gs:cell row="60" col="15" inputValue="{config}"/> </entry> -</feed>''' % (spreadsheet_key, spreadsheet_key, spreadsheet_key, formula.replace('"', '"'), spreadsheet_key, spreadsheet_key, config_formula.replace('"', '"')) +</feed>''' .format(key=spreadsheet_key, formula=cgi.escape(formula, quote=True), config=cgi.escape(config_formula, quote=True)) try: req = urllib2.Request( |
