Thanks! I said it because restarting the server with every little change in a development environment, is a little weird. I'll change some imports to make them inside methods.
2013/4/6 Massimo Di Pierro <massimo.dipie...@gmail.com> > This is intended. classone is importend once and it imports classtwo. This > happens only once before http requests arrive. Python caches modules. > > track changes only affect import done explicitly at runtime (when http > requests are processed). > > Changing this would require that web2py keep track of all dependencies > (who import who). This would slow down everything. > > Massimo > > > On Monday, 25 March 2013 09:55:19 UTC-5, demetrio wrote: >> >> Hi everyone, >> >> I have notice an strange behaviour of the track_changes feature (working >> on web2py 2.3.2 and python 2.7.3). >> >> Imagine the following structure: >> >> modules/ >> ├── classone.py >> ├── __init__.py >> └── mymodule >> ├── classtwo.py >> └── __init__.py >> >> (assuming that there is a models/0.py file with the track_changes(True) >> statement) >> >> In the file classone.py I have the following: >> #=============================**= >> #!/usr/bin/env python >> # coding: utf8 >> from gluon import * >> *from mymodule.classtwo import ClassTwo* >> >> class ClassOne(object): >> def say_something(self): >> classtwo = ClassTwo() >> return classtwo.say_something() >> #=============================**= >> >> And in classtwo.py this: >> #=============================**= >> #!/usr/bin/env python >> # coding: utf8 >> from gluon import * >> >> class ClassTwo(object): >> def say_something(self): >> return "Hi!" >> #=============================**= >> >> In this case, the changes inside ClassTwo are not tracked, but if I >> change class one to: >> >> #=============================**= >> #!/usr/bin/env python >> # coding: utf8 >> from gluon import * >> >> class ClassOne(object): >> def say_something(self): >> *from mymodule.classtwo import ClassTwo* >> classtwo = ClassTwo() >> return classtwo.say_something() >> #=============================**= >> >> Now it works correctly and all the changes are tracked, notice that now >> the import statement is inside of a method. >> >> In the first case, the custom_importer() function is only called at the >> first execution to import ClassTwo, but in the second case, >> custom_importer its called in all executions. >> >> I have made an example application with this issue attached to this mail. >> >> Is this intended or it is a bug? >> >> greetings, Daniel. >> >> -- > > --- > 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. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- --- 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. For more options, visit https://groups.google.com/groups/opt_out.