salimoha / googlecl

Automatically exported from code.google.com/p/googlecl
0 stars 0 forks source link

Cryptic errors for any attempt to access Picasa with GoogleCL #306

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.  Any attempt to run any "google picasa" command

What is the expected output? What do you see instead?
Traceback (most recent call last):
  File "/usr/bin/google", line 676, in <module>
    main()
  File "/usr/bin/google", line 662, in main
    run_once(options, args)
  File "/usr/bin/google", line 504, in run_once
    task.run(client, options, args)
  File "/usr/lib/pymodules/python2.6/googlecl/picasa/service.py", line 372, in _run_list_albums
    force_photos=False)
  File "/usr/lib/pymodules/python2.6/googlecl/picasa/service.py", line 92, in build_entry_list
    album_entry = self.GetAlbum(user=user, title=title)
  File "/usr/lib/pymodules/python2.6/googlecl/picasa/service.py", line 204, in get_album
    return self.GetEntries(uri, title)
  File "/usr/lib/pymodules/python2.6/googlecl/base.py", line 181, in get_entries
    feed = self.GetFeed(uri)
  File "/usr/lib/pymodules/python2.6/gdata/photos/service.py", line 177, in GetFeed
    return self.Get(uri, converter=gdata.photos.AnyFeedFromString)
  File "/usr/lib/pymodules/python2.6/gdata/service.py", line 980, in Get
    headers=extra_headers)
  File "/usr/lib/pymodules/python2.6/atom/service.py", line 175, in request
    data=data, headers=all_headers)
  File "/usr/lib/pymodules/python2.6/gdata/auth.py", line 845, in perform_request
    return http_client.request(operation, url, data=data, headers=headers)
  File "/usr/lib/pymodules/python2.6/atom/http.py", line 93, in request
    connection = self._prepare_connection(url, all_headers)
  File "/usr/lib/pymodules/python2.6/atom/http.py", line 249, in _prepare_connection
    return HttpClient._prepare_connection(self, url, headers)
  File "/usr/lib/pymodules/python2.6/atom/http.py", line 161, in _prepare_connection
    return httplib.HTTPConnection(url.host)
  File "/usr/lib/python2.6/httplib.py", line 656, in __init__
    self._set_hostport(host, port)
  File "/usr/lib/python2.6/httplib.py", line 667, in _set_hostport
    i = host.rfind(':')
AttributeError: 'NoneType' object has no attribute 'rfind'

What version of the product are you using? On what operating system? What
version of gdata-python-client (aka python-gdata)?
googlecl 0.9.10-1.deb
Ubuntu 9.10
python-gdata 1.2.4-0ubuntu2

Please provide any additional information below.
GoogleCl will authenticate initially with picasa and contacts.  I was able to 
list my contacts... no dice with picasa

jason

Original issue reported on code.google.com by jasongab...@gmail.com on 2 Oct 2010 at 3:52

GoogleCodeExporter commented 9 years ago
That is very strange. I'm not seeing the problem with python-gdata 2.0.12, 
(http://code.google.com/p/gdata-python-client/) so you can try using that in 
the meantime. 

Be sure to check out 
http://code.google.com/p/googlecl/wiki/FAQ#GoogleCL_behaves_as_if_an_earlier_ver
sion_of_gdata_is_installed if you still get the same problem.

Original comment by thmil...@google.com on 4 Oct 2010 at 7:52

GoogleCodeExporter commented 9 years ago
Issue 307 has been merged into this issue.

Original comment by thmil...@google.com on 4 Oct 2010 at 7:52

GoogleCodeExporter commented 9 years ago
The same for ubuntu 10.04

Original comment by socketp...@gmail.com on 7 Oct 2010 at 7:24

GoogleCodeExporter commented 9 years ago
FYI - I will try the suggested solution in Comment 1 by the end of this 
weekend.  Hopefully sooner.

jason

Original comment by jasongab...@gmail.com on 7 Oct 2010 at 3:36

GoogleCodeExporter commented 9 years ago
Issue 310 has been merged into this issue.

Original comment by thmil...@google.com on 7 Oct 2010 at 5:37

GoogleCodeExporter commented 9 years ago
I can confirm comment #1.  The problem goes away if you use gdata 2.0.12.  Here 
are the exact steps that I used:

tar -xvzf gdata-2.0.12.tar.gz
cd gdata-2.0.12
python setup.py install --home=~
setenv PYTHONPATH ~/lib/python # for tcsh
# export PYTHONPATH=~/lib/python # for bash
google picasa <whatever args>

Many thanks for the timely workaround.  I really needed to upload some photos 
from the command line today!

Original comment by pca...@gmail.com on 7 Oct 2010 at 7:17

GoogleCodeExporter commented 9 years ago
Just to clarify, I am using Ubuntu 10.04.  The google picasa commands don't 
work with the stock gdata packages available in apt.

Original comment by pca...@gmail.com on 7 Oct 2010 at 7:20

GoogleCodeExporter commented 9 years ago
I strongly recommend upgrading to the latest gdata. I'm not sure why this 
suddenly broke. The problem seems to lie entirely with the library, but no one 
has seen this before 10/2 (as far as I know).

I won't be fixing this in source, so I'll mark this WontFix eventually. I'm 
keeping it open in the meantime so others can find the issue easily, and 
updating the wiki.

Original comment by tom.h.mi...@gmail.com on 7 Oct 2010 at 9:59

GoogleCodeExporter commented 9 years ago
Correction! I figured out what is going on. You don't need to upgrade if you 
can wait for the next release, coming out soon (today or tomorrow).

Original comment by thmil...@google.com on 7 Oct 2010 at 11:29

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r446.

Original comment by tom.h.mi...@gmail.com on 7 Oct 2010 at 11:39

GoogleCodeExporter commented 9 years ago
I am still having a issue posting to Picasa. I can get a list of albums, but 
when I post with the steps from comment #7:
Unexpected error -- 'NoneType' object has no attribute 'rfind'

I get more errors if I set the PYTHONPATH variable:
Traceback (most recent call last):
  File "/usr/bin/google", line 812, in <module>
    main()
  File "/usr/bin/google", line 798, in main
    run_once(options, args)
  File "/usr/bin/google", line 577, in run_once
    task.run(client, options, args)
  File "/usr/lib/pymodules/python2.6/googlecl/picasa/service.py", line 489, in _run_post
    title=options.title)
  File "/usr/lib/pymodules/python2.6/googlecl/picasa/service.py", line 219, in get_single_album
    return self.GetSingleEntry(uri, title=title)
  File "/usr/lib/pymodules/python2.6/googlecl/base.py", line 278, in get_single_entry
    desired_class)
  File "/usr/lib/pymodules/python2.6/googlecl/base.py", line 206, in get_entries
    feed = self.GetFeed(uri)
  File "/home/ksanders/lib/python/gdata/photos/service.py", line 177, in GetFeed
    return self.Get(uri, converter=gdata.photos.AnyFeedFromString)
  File "/home/ksanders/lib/python/gdata/service.py", line 1069, in Get
    headers=extra_headers)
  File "/home/ksanders/lib/python/atom/__init__.py", line 93, in optional_warn_function
    return f(*args, **kwargs)
  File "/home/ksanders/lib/python/atom/service.py", line 186, in request
    data=data, headers=all_headers)
  File "/home/ksanders/lib/python/gdata/auth.py", line 865, in perform_request
    if self.oauth_input_params.requestor_id:
AttributeError: 'OAuthInputParams' object has no attribute 'requestor_id'

Original comment by kenosa...@gmail.com on 14 Oct 2010 at 8:51

GoogleCodeExporter commented 9 years ago
Try adding --force-auth to your command. It looks like you have a stored OAuth 
token from a different version of gdata than the one you use now.

Original comment by thmil...@google.com on 14 Oct 2010 at 9:32

GoogleCodeExporter commented 9 years ago
I think the easiest fix is this:
rm -r ~/.googlecl/

You need new tokens anyway and some other things changed. That fixed it for me.

Original comment by D.G.Jan...@gmail.com on 21 Oct 2010 at 3:24

GoogleCodeExporter commented 9 years ago
Removing ~/.googlecl will clear old data from version 0.9.9 and earlier, but 
0.9.10 and later will try to store data in ~/.local/share/googlecl and 
~/.config/googlecl per the XDG directory specification. Just an FYI.

Original comment by thmil...@google.com on 21 Oct 2010 at 4:59

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago

$ google picasa get "<the name of album>" --dest "some/dir" --debug
DEBUG:googlecl:Gdata will be imported from 
/usr/lib/pymodules/python2.6/gdata/__init__.pyc
DEBUG:googlecl:Your pythonpath: None
DEBUG:googlecl:Initialized googlecl.service.BaseServiceCL
DEBUG:googlecl:missing_reqs: ['title']
DEBUG:googlecl:Option convert: True
DEBUG:googlecl:Option debug: True
DEBUG:googlecl:Option delimiter: ,
DEBUG:googlecl:Option dest: ...
DEBUG:googlecl:Option hostid: ...
DEBUG:googlecl:Option src: []
DEBUG:googlecl:Option title: ...
DEBUG:googlecl:Option user: ...
DEBUG:googlecl:args: []
DEBUG:googlecl:Loaded token from file
DEBUG:googlecl:Successfully set token
send: 'GET 
http://picasaweb.google.com/data/feed/api/user/...?max-results=10000&kind=album 
HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: 
picasaweb.google.com\r\nContent-Type: application/atom+xml\r\nAuthorization: 
OAuth realm="", oauth_version="1.0", oauth_token="...", oauth_nonce="...", 
oauth_timestamp="...", oauth_signature="...", oauth_consumer_key="anonymous", 
oauth_signature_method="HMAC-SHA1"\r\nUser-Agent: GoogleCL 
GData-Python/1.2.2\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
header: Expires: Wed, 27 Oct 2010 13:41:44 GMT
header: Date: Wed, 27 Oct 2010 13:41:44 GMT
header: Cache-Control: private, max-age=0, must-revalidate, no-transform
header: Set-Cookie: _rtok=...; Path=/; HttpOnly
header: Set-Cookie: S=photos_html=...; Domain=.google.com; Path=/; HttpOnly
header: Content-Type: application/atom+xml; charset=UTF-8
header: Vary: Accept, X-GData-Authorization, GData-Version, Cookie
header: GData-Version: 1.0
header: Last-Modified: Wed, 27 Oct 2010 13:40:27 GMT
header: X-Content-Type-Options: nosniff
header: X-Frame-Options: SAMEORIGIN
header: X-XSS-Protection: 1; mode=block
header: Server: GSE
header: Transfer-Encoding: chunked
DEBUG:googlecl:Using regex: ...
DEBUG:googlecl:Retrieved 536 entries, returning 2 of them
Traceback (most recent call last):
  File "/usr/bin/google", line 812, in <module>
    main()
  File "/usr/bin/google", line 798, in main
    run_once(options, args)
  File "/usr/bin/google", line 577, in run_once
    task.run(client, options, args)
  File "/usr/lib/pymodules/python2.6/googlecl/picasa/service.py", line 506, in _run_get
    titles=titles_list)
  File "/usr/lib/pymodules/python2.6/googlecl/picasa/service.py", line 177, in download_album
    (user, album.gphoto_id.text))
  File "/usr/lib/pymodules/python2.6/gdata/photos/service.py", line 177, in GetFeed
    return self.Get(uri, converter=gdata.photos.AnyFeedFromString)
  File "/usr/lib/pymodules/python2.6/gdata/service.py", line 980, in Get
    headers=extra_headers)
  File "/usr/lib/pymodules/python2.6/atom/service.py", line 175, in request
    data=data, headers=all_headers)
  File "/usr/lib/pymodules/python2.6/gdata/auth.py", line 845, in perform_request
    return http_client.request(operation, url, data=data, headers=headers)
  File "/usr/lib/pymodules/python2.6/atom/http.py", line 93, in request
    connection = self._prepare_connection(url, all_headers)
  File "/usr/lib/pymodules/python2.6/atom/http.py", line 249, in _prepare_connection
    return HttpClient._prepare_connection(self, url, headers)
  File "/usr/lib/pymodules/python2.6/atom/http.py", line 161, in _prepare_connection
    return httplib.HTTPConnection(url.host)
  File "/usr/lib/python2.6/httplib.py", line 657, in __init__
    self._set_hostport(host, port)
  File "/usr/lib/python2.6/httplib.py", line 676, in _set_hostport
    i = host.rfind(':')
AttributeError: 'NoneType' object has no attribute 'rfind'

#-------------------------------------------------------------------------------
------------------------------------------

dpkg -l | fgrep googlecl
ii  googlecl                                           0.9.11-1                 
                       command-line tool for access to (some) Googl

but, "google picasa list-albums" works (!)

Original comment by socketp...@gmail.com on 27 Oct 2010 at 1:49

GoogleCodeExporter commented 9 years ago
I have solution:
1. Go to /usr/lib/pymodules/python2.6/gdata/photos/service.py
2. find "def GetFeed(self, uri, limit=None, start_index=None):"
3. insert as the first operator of this function: 
    uri = 'http://' + self.server + uri;
4. sorry, i can't make a patch :(

Original comment by socketp...@gmail.com on 27 Oct 2010 at 2:43

GoogleCodeExporter commented 9 years ago
Thanks for the detailed instructions, socketpair.

You shouldn't have to do that if you have a later version of gdata. I suspect 
that if you (socketpair) rm -rf /usr/lib/pymodules/python2.6/gdata and then 
install the latest gdata, you'll be alright. See the FAQ on how to update to 
the latest gdata.

Original comment by tom.h.mi...@gmail.com on 27 Oct 2010 at 5:47

GoogleCodeExporter commented 9 years ago
Issue 336 has been merged into this issue.

Original comment by tom.h.mi...@gmail.com on 17 Dec 2010 at 1:31

GoogleCodeExporter commented 9 years ago
on ubuntu 10.10/64 ..
just installed googlecl for the first time, used 'create' for creating an album 
- which triggered authentication fine and worked.. then tried uploading to this 
album with post and got the mentioned
Unexpected error -- 'NoneType' object has no attribute 'rfind'

from what i found here i tried installing the latest gdata - which didn't help, 
i'm still getting this error..

didn't try any of the other suggestions yet - any news on that?

tia, markus.

Original comment by mar...@photing.com on 12 Jan 2011 at 11:09

GoogleCodeExporter commented 9 years ago
Installing the latest gdata did solve some of my issues. If the video is large 
I still get an error.

Original comment by marius.s...@gmail.com on 13 Jan 2011 at 5:53

GoogleCodeExporter commented 9 years ago
Had the same problem. Funny thing is: I already uploaded 100+ pictures; then I 
had a connection error because my connection died. After that, start having 
this error.

As per FAQ, did fix it on Ubuntu by:

sudo dpkg -r python-gdata googlecl
wget 
https://launchpad.net/ubuntu/+archive/primary/+files/python-gdata_2.0.8-1.1_all.
deb
sudo dpkg -i python-gdata_2.0.8-1.1_all.deb googlecl_0.9.11-1_all.deb

Cheers

Original comment by arlindos...@gmail.com on 13 Jan 2011 at 4:47

GoogleCodeExporter commented 9 years ago
Still having this issue. Ubuntu 10.10, googlecl v0.9.13, python-gdata 
v2.0.8-1.1. "413: Request Entity Too Large" returns uploading nearly any video, 
sizes range from 80MiB to 200MiB. Uploading via Web Albums works. Also worth 
noting that network traffic indicates that roughly the entire file is actually 
being uploaded before the command returns.

Original comment by x...@xak.us on 6 Apr 2011 at 9:13

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Maybe linked to Issue 431

Original comment by amaury.d...@gmail.com on 11 Oct 2011 at 6:11