What I'm asking more specifically is what does App Engine do, if anything, 
to os.putenv? Because using the App Engine console, I can do things like:
 
os.environ["x"] = ndb.Model()
 
and access it with os.environ["x"] without a problem. However, when I pull 
up the interpreter outside of Python and attempt to put anything other than 
a string into os.environ, it will balk:
 
import os
>>> import os
>>> os.environ["abc"] = {}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\os.py", line 420, in __setitem__
    putenv(key, item)
TypeError: must be string, not dict
>>>
 
So it seems like App Engine does something to the putenv call where it 
serializes model instances into strings first, and if that's the case must 
also do a similar operation to os.getenv to deserialize them. What is App 
Engine doing, if anything to the getenv/putenv calls?
 
Thanks,
Richard

On Tuesday, September 11, 2012 6:09:16 AM UTC-7, Guido van Rossum wrote:

> You'll probably get more help from StackOverflow.com. You'll need to 
> provide more info, nobody can help you debug this with just that traceback 
> information unless they're psychic.
>
> On Sunday, September 9, 2012 10:06:33 AM UTC-7, Richard Arrano wrote:
>>
>> Hello,
>> I've been using webtest to unit test my application and I've encountered 
>> a strange issue. I wrap many of my get/post handlers in decorators and in 
>> some of those decorators, I put ndb.Model instances in os.environ for later 
>> use in the subsequent handler. This works on my local dev server and in 
>> production. However, when I run nosetests it always gives me an error:
>>  
>> os.environ["user"] = user
>> File "C:\Python27\lib\os.py", line 420, in __setitem__
>>     putenv(key, item)
>> TypeError: must be string, not User
>>  
>> Any ideas on how to mitigate this so my tests won't error out at this 
>> point?
>>  
>> Thanks,
>> Richard
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/er6JJQK-EJoJ.
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-appengine?hl=en.

Reply via email to