Hi,

Looks like we have a bug on our hands:

http://code.google.com/p/gdata-issues/issues/detail?id=1104

Cheers,
-Jeff

On Thu, Mar 19, 2009 at 2:01 PM, Tick <[email protected]> wrote:

>
> Hi,
>  I tried to SearchCommunityPhotos but encounter a Error: (very often)
> In [22]: ps=service.SearchCommunityPhotos('apple')
> ---------------------------------------------------------------------------
> AttributeError                            Traceback (most recent call
> last)
>
> /home/tick/work/dabajianshan/<ipython console> in <module>()
>
> /home/tick/work/dabajianshan/gdata/photos/service.pyc in
> SearchCommunityPhotos(self, query, limit)
>    283     """
>    284     uri='/data/feed/api/all?q=%s' % query
> --> 285     return self.GetFeed(uri, limit=limit)
>    286
>    287   def GetContacts(self, user='default', limit=None):
>
> /home/tick/work/dabajianshan/gdata/photos/service.pyc in GetFeed(self,
> uri, limit, start_index)
>    175       uri += '&start-index=%s' % start_index
>    176     try:
> --> 177       return self.Get(uri,
> converter=gdata.photos.AnyFeedFromString)
>    178     except gdata.service.RequestError, e:
>    179       raise GooglePhotosException(e.args[0])
>
> /home/tick/work/dabajianshan/gdata/service.pyc in Get(self, uri,
> extra_headers, redirects_remaining, encoding, converter)
>    988     if server_response.status == 200:
>    989       if converter:
> --> 990         return converter(result_body)
>    991       # There was no ResultsTransformer specified, so try to
> convert the
>    992       # server's response into a GDataFeed.
>
> /home/tick/work/dabajianshan/gdata/photos/__init__.pyc in
> AnyFeedFromString(xml_string)
>   1074   if category is None:
>   1075     # TODO: is this the best way to handle this?
> -> 1076     return atom._CreateClassFromElementTree(GPhotosBaseFeed,
> tree)
>   1077   namespace, kind = category.get('term').split('#')
>   1078   if namespace != PHOTOS_NAMESPACE:
>
> /home/tick/work/dabajianshan/atom/__init__.py in
> _CreateClassFromElementTree(target_class, tree, namespace, tag)
>    127   if tree.tag == '{%s}%s' % (namespace, tag):
>    128     target = target_class()
> --> 129     target._HarvestElementTree(tree)
>    130     return target
>    131   else:
>
> /home/tick/work/dabajianshan/atom/__init__.py in _HarvestElementTree
> (self, tree)
>    145     # Fill in the instance members from the contents of the
> XML tree.
>    146     for child in tree:
> --> 147       self._ConvertElementTreeToMember(child)
>    148     for attribute, value in tree.attrib.iteritems():
>    149       self._ConvertElementAttributeToMember(attribute, value)
>
> /home/tick/work/dabajianshan/gdata/photos/__init__.pyc in
> _ConvertElementTreeToMember(self, child_tree)
>    145     if category is None:
>    146       return atom.AtomBase._ConvertElementTreeToMember(self,
> child_tree)
> --> 147     namespace, kind = category.get('term').split('#')
>    148     if namespace != PHOTOS_NAMESPACE:
>    149       return atom.AtomBase._ConvertElementTreeToMember(self,
> child_tree)
>
> AttributeError: 'NoneType' object has no attribute 'split'
>
> And I create the following patch to ease this issue, however
> I am sure root cause is in some where else.
>
> -------------------------- gdata/photos/__init__.py
> ---------------------------
> index 1952135..e667d92 100644
> @@ -144,7 +144,11 @@ class GPhotosBaseFeed(gdata.GDataFeed,
> gdata.LinkFinder):
>     category = child_tree.find('{%s}category' % atom.ATOM_NAMESPACE)
>     if category is None:
>       return atom.AtomBase._ConvertElementTreeToMember(self,
> child_tree)
> -    namespace, kind = category.get('term').split('#')
> +    term = category.get('term')
> +    if term == None:
> +        return atom.AtomBase._ConvertElementTreeToMember(self,
> child_tree)
> +    else:
> +        namespace, kind = term.split('#')
>     if namespace != PHOTOS_NAMESPACE:
>       return atom.AtomBase._ConvertElementTreeToMember(self,
> child_tree)
>     ## TODO: is it safe to use getattr on gdata.photos?
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Picasa Web Albums API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Picasa-Data-API?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to