Export to GitHub

gris - issue #13

Tags with spaces


Posted on Aug 24, 2008 by Helpful Bird

What steps will reproduce the problem? 1. Create a tag with a space in Google Reader, e.g. "abc xyz" 2. Enter this tag in GRis to be synchronized 3. Hit Sync now

What is the expected output? What do you see instead? The tag should be syncronized. Instead i see a message under "Current Task:" urllib2.HTTPError: HTTP Error 400: Bad Request

If only tags without spaces are entered in GRis, everything works fine.

What version of the product are you using? 0.1.6-1

Please provide any additional information below.

Comment #1

Posted on Aug 24, 2008 by Happy Dog

This is a duplicate of [http://code.google.com/p/gris/issues/detail?id=1&can=1&q=spaces issue 1]. That was fixed in 0.1.4 however, so I'll need some confirmation if it's still an issue.

Can you please provide the file /var/mobile/GRiS/GRiS.log (from your iPhone). It's overwritten on each sync, so copy it off your iPhone after you get a failure while using tags with spaces.

Also, be sure to take out any personal info (login details). I've removed most of these from being logged, but it's wise to check.

Comment #2

Posted on Aug 24, 2008 by Helpful Bird

Comment deleted

Attachments

Comment #3

Posted on Aug 24, 2008 by Helpful Bird

Only the GRis.native.log contains an error massages, however I attached both log files.

The Tag in question is "90 News".

Attachments

Comment #4

Posted on Aug 24, 2008 by Happy Dog

thanks, i'll look into it

Comment #5

Posted on Aug 25, 2008 by Happy Dog

Okay, so I just tried to download "90 tag test" (after tagging some items as that). Works fine here. I have a couple of questions:

can you please run (via ssh or MobileTermianl) the following: grep -A30 'def get_feed' /var/mobile/GRiS/src/lib/GoogleReader/reader.py

and post here what you get as the output?

On another note, I have never seen output like you're getting with all the "german compound" check stuff. It might be different logging behaviour between german / english versions or between the iphone / touch, and it is probably unrelated to this issue. But it does make me curious (and a little nervous)...

Comment #6

Posted on Aug 25, 2008 by Happy Dog

update: the code for this was indeed fixed in 0.1.4.

However, a bug in the packaging scripts meant that the old code was being used instead of the new code. This scondary bug is now fixed as of 0.7.1, so you should be fine after an update.

Comment #7

Posted on Aug 25, 2008 by Helpful Bird

Executing the grep before upgrading: Hartmut-s-iPhone:~ root# grep -A30 'def get_feed' /var/mobile/GRiS/src/lib/GoogleReader/reader.py
def get_feed(self,url=None,feed=None,**kwargs) : """ 'get_feed' returns a GoogleFeed, giving either an 'url' or a 'feed' internal name. other arguments may be any keys of CONST.ATOM_ARGS keys """ if url != None : feed = CONST.ATOM_GET_FEED + urllib.quote_plus(url) if feed == None : feed = CONST.ATOM_STATE_READING_LIST feedurl = CONST.URI_PREFIXE_ATOM + feed urlargs = {} kwargs['client'] = CONST.AGENT kwargs['timestamp'] = self.get_timestamp() self._translate_args( CONST.ATOM_ARGS, urlargs, kwargs )

            atomfeed = self._web.get(feedurl + '?' + urllib.urlencode(urlargs))

            if atomfeed != '' :
                    return GoogleFeed(atomfeed)

            return None

    def get_api_list(self,apiurl,**kwargs) :
            """ 'get_api_list' returns a structure than can be send either
                    by json or xml, I used xml because... I felt like it.
                    """
            urlargs = {}
            kwargs['output'] = CONST.OUTPUT_XML
            kwargs['client'] = CONST.AGENT
            kwargs['timestamp'] = self.get_timestamp()
            self._translate_args( CONST.LIST_ARGS, urlargs, kwargs )
            xmlobject = self._web.get(apiurl + '?' + urllib.urlencode(urlargs))

Executing grep after upgrade to 0.1.7-1: Hartmut-s-iPhone:~ root# grep -A30 'def get_feed' /var/mobile/GRiS/src/lib/GoogleReader/reader.py def get_feed(self,url=None,feed=None,**kwargs) : """ 'get_feed' returns a GoogleFeed, giving either an 'url' or a 'feed' internal name. other arguments may be any keys of CONST.ATOM_ARGS keys """ if url != None : feedurl = CONST.ATOM_GET_FEED + urllib.quote_plus(url) if feed == None : feedurl = CONST.ATOM_STATE_READING_LIST else: feedurl = urllib.quote(feed)

            feedurl = CONST.URI_PREFIXE_ATOM + feedurl

            urlargs = {}
            kwargs['client'] = CONST.AGENT
            kwargs['timestamp'] = self.get_timestamp()
            self._translate_args( CONST.ATOM_ARGS, urlargs, kwargs )

            atomfeed = self._web.get(feedurl + '?' + urllib.urlencode(urlargs))

            if atomfeed != '' :
                    return GoogleFeed(atomfeed)

            return None

    def get_api_list(self,apiurl,**kwargs) :
            """ 'get_api_list' returns a structure than can be send either
                    by json or xml, I used xml because... I felt like it.
                    """
            urlargs = {}
            kwargs['output'] = CONST.OUTPUT_XML

The upgrade fixed the problem for me :-) Thanks

Regarding the the "german compound" staff: I use your application on a first generation iPhone with 2.0.0 firmware and german localizaion. I i find any problems with this configuration i will post it here. If you need someone to test stuff, fell free to contact me.

Status: Fixed

Labels:
Type-Defect Priority-Medium