carolinux / gdata-python-client

Automatically exported from code.google.com/p/gdata-python-client
0 stars 1 forks source link

Spreadsheet export cannot convert file to txt #709

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

Call gd_client.Export(entry, export_filename), with a spreadsheet entry using 
code as follows.  The export_filename could be 'foo.txt' having the '.txt' 
suffix. 

  ...
  document_query = gdata.docs.service.DocumentQuery()
  feed = gd_client.Query(q)
  ...
  for entry in feed.entry:
    ...
    gd_client.Export(entry, export_filename)

What is the expected output? What do you see instead?

  It is expected to download the file to foo.txt but raises the following
  exception instead.

  This entry cannot be exported as a different format
  SERVICE ERROR while downloading ZWOpenLog
  Try ranaming the file.

What version of the product are you using?
  gdata (2.0.18)

Please provide any additional information below.

  Line 334 in service.py checks if 'Export' is in the url with
  the following code:

    if export_format is not None:
=>    if url.find('/Export?') == -1:
        raise gdata.service.Error, ('This entry cannot be exported '

  It should also check for 'export' with a lowercase 'e'.

Thank you.

Original issue reported on code.google.com by marc...@gmail.com on 27 Oct 2014 at 1:55

GoogleCodeExporter commented 9 years ago
Same goes for docs/client.py

--- /usr/local/lib/python2.7/dist-packages/gdata/docs/client.py.old     
2014-11-08 09:51:08.000000000 +0000
+++ /usr/local/lib/python2.7/dist-packages/gdata/docs/client.py 2014-11-08 
09:54:03.135481000 +0000
@@ -397,7 +397,7 @@
   def _get_download_uri(self, base_uri, extra_params=None):
     uri = base_uri.replace('&', '&')
     if extra_params is not None:
-      if 'exportFormat' in extra_params and '/Export?' not in uri:
+      if 'exportFormat' in extra_params and '/Export?' not in uri and 
'/export?' not in uri:
         raise gdata.client.Error, ('This entry type cannot be exported '
                                    'as a different format.')

Original comment by al...@velocloud.net on 9 Nov 2014 at 5:33

GoogleCodeExporter commented 9 years ago
I fixed mine by change the code to:

    if export_format is not None:
      if (url.find('/Export?') == -1) and (url.find('/export?') == -1):
        raise gdata.service.Error, ('This entry cannot be exported '
                                    'as a different format')

What is the protocol to get this change made in the pypi package?  BTW, I have 
the 2.0.18 version.

Thank you.

Original comment by marc...@gmail.com on 10 Nov 2014 at 11:32