maybe i didn't explain what happened here.  i've been running web2py on a 
centos 7.6 server with python 2.7.5.  i created a brand new server with 
centos 8.2 with python 3.8.0.  both servers are running web2py 2.20.4. 
 when i copy the application code from the centos 7.6 to the new centos 8.2 
and run the code the application excepts out on the response.meta.keywords 
= "some string" because its of <type 'map'> whereas on the centos 7.6 is of 
<type 'list'> where the += "some string" appends to the list.

it doesn't make sense because web2py is the same version on both servers 
and for the object to change type so much is confusing.  and map isn't a 
real thing in python because when i read about it, it always points to type 
dict.

On Wednesday, September 2, 2020 at 10:58:00 PM UTC-4 lucas wrote:

>
> 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/cc253989-5723-448d-9e1d-83b15130e17bn%40googlegroups.com.

Reply via email to