[ZODB-Dev] Broken objects problem.

Matias Pansa matiashpansa at gmail.com
Wed Aug 8 14:36:03 UTC 2012


Thanks for your response , i check the imports and seems to be ok but
still not working.

at this time i have every part of the app in the same folder and it's
working this way :


/appfolder/server.py --> Sever that listen for incoming connections ,
connects to zeo and store the data as "Posicion" class object.
/appfolder/Usuarios.py --> contains the definitions of some classes
including "Posicion" class , imported in every script that use it.
/appfolder/condb.py --> get a connection to zeo and retrieve the results
/appfolder/webapp.py --> the main flask app where the problem starts
trying to get the database objects via "condb.py".
/appfolder/vista.py --> it's a script that i use outside
flask/gunicorn app to check the data stored in zeo database , it uses
"condb.py" to get the                           objects from zeo
database , when i run this script i get the correct result , objects
of "Posicion" class are not broken  .

The problem only occurs inside flask/gunicorn app :


User ---> browser --->gunicorn/flask ---> get objects from zeo  # Here
the user just see broken objects of Posicion class , for example if i
try to do

                     Posicionobject.hour i get attribute error.

When i do :

(outside flask/gunicorn)

vista.py(to check stored data) --------> zeo --> database.fs  #
Everything works perfectly and i have no broken objects at all.



I'm not expert so obviously i'm losing something.

thanks , Matias.






2012/8/8 Marius Gedminas <marius at gedmin.as>:
> On Tue, Aug 07, 2012 at 08:46:58PM -0300, Matias Pansa wrote:
>> I'm developing a web app using flask - zodb (zeo) and gunicorn as
>> server , i'm facing the following problem :
>>
>> from a server that i wrote i'm recieving data from internet of some
>> gps and the same server store the data via zeo client , here
>> everything is ok , i can check the data with "vista.py" script tha
>> simply connects via zeo client and get the results from the database ,
>> the data class is "Posicion" and represents a gps position in time ,
>> all the objects are stored correctly.i check almos
>>
>> When i try to do the same thing from inside tha flask app running
>> gunicorn all i get in the resultset of data from zeo are broken
>> objects with no class so i can't access any attributes or methods of
>> the class "Posicion" .
>>
>> My question is , could this problem be related to zeo or zodb ? , or i
>> keep looking to gunicorn/flask problem ? , i check almost everything
>> that's why i'm asking here.
>
> A broken object means the class could not be imported using its full
> dotted name (package.module.ClassName).  Check your Python path.
>
> I may also be worth checking if the objects are saved using the correct
> package/module, and not, say, '__main__'.
>
> Marius Gedminas
> --
> Never be afraid to tell the world who you are.
>                 -- Anonymous
>
> _______________________________________________
> For more information about ZODB, see http://zodb.org/
>
> ZODB-Dev mailing list  -  ZODB-Dev at zope.org
> https://mail.zope.org/mailman/listinfo/zodb-dev
>


More information about the ZODB-Dev mailing list