no, i tried all those tests. when i simply do return BODY(type(response.meta.keywords)) it returns 'map'. On Wednesday, September 2, 2020 at 7:07:13 PM UTC-4 villas wrote:
> I may have an older version, but I imagine that response.meta.keywords > is still just a string. > It may be c.keywords is type map? > I think type map would be an iterator which you can convert to a list. > Once you've used it, it's gone. > > So, did you try something like on e of these?: > response.meta.keywords = ', '.join( c.keyword) ) # if it's a list > or > response.meta.keywords = ', '.join( list( c.keywords) ) # convert map > to a list > or > response.meta.keywords = ', '.join( [ i[0] for i in list(c.keyword)] ) > # it may be a list of lists > > Sorry, but as you can see, my motto is simply 'try everything until it > works'! > You may wish to read up about the map function and iterators if this is a > new concept. > > > On Wednesday, 2 September 2020 at 16:16:09 UTC+1 lucas wrote: > >> very simply, i'm trying to add keywords of type string to the >> response.meta.keywords, which used to be of type string and now its of type >> map, which exceptions out as above. >> >> i've also tried appending to the list like >> "response.meta.keywords.append("some string here")" and I've tried treating >> like a dictionary like, "response.meta.keywords['variable name'] = "keyword >> string"" and both blew up with an exception also. very strange change of >> response.meta.keywords. >> >> On Wednesday, September 2, 2020 at 10:39:37 AM UTC-4 villas wrote: >> >>> I'm not sure what you are doing exactly but you seem to have created a >>> map iterator. Maybe you could convert that to a list? You might be able >>> to work with it more easily. Something like this: >>> list( response.meta.keywords ) >>> >>> >>> >>> On Wednesday, 2 September 2020 at 12:52:27 UTC+1 lucas wrote: >>> >>>> in fact, when i inspect the head of the final html in the browser, w2p >>>> doesn't return a string at all, in fact it returns a reference to an >>>> object: >>>> >>>> <meta name="keywords" content="<map object at 0x7f693a6a98e0>"> >>>> >>>> On Tuesday, September 1, 2020 at 10:03:28 PM UTC-4 lucas wrote: >>>> >>>>> hello one and all, >>>>> >>>>> its been a while since i've been on here. that is a good sign for my >>>>> sites have been working great. love python and web2py. ok, so, i'm >>>>> slowing porting to python 3.8 from 2.7. still constant on web2py 2.20.4. >>>>> do i had some code under a controller that looks like: >>>>> >>>>> response.meta.keywords += (', '+c.keywords if c.keywords else "") >>>>> >>>>> and it errors saying that "TypeError(unsupported operand type(s) for >>>>> +=: 'map' and 'str')". after a bit of investigation i found >>>>> that response.meta.keywords is of type "map" instead of it used to being >>>>> a >>>>> string. i'm obviously concatenating strings above. >>>>> >>>>> what the heck is type "map" and how's that work with keywords? >>>>> >>>>> lucas >>>>> >>>> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/d4fbb5aa-36ad-4b89-8524-641769411fc3n%40googlegroups.com.