+1 for a VIDEO of this... 2013/2/9 JimK <jkel...@gmail.com>
> One of the nice things about python modules that are not c-compiled is the > fact that you can read the source code. The bad part is that the source > code is not always easy to find. This is where ipython comes in. > > IPython is an alternative to the regular python interpreter which offers a > bunch of niceties. This interpreter is supported by web2py out of the box; > just install ipython (pip install ipython) and start web2py at the command > prompt (python web2py.py -S <appname> -M). This will load the web2py > environment for your application and it's models using the ipython > interpreter. I won't go through them all, but rather just a couple that > really come in handy for me during web2py development. > > Let's say you want to see the doc string for SQLFORM: > In [2]: form = SQLFORM?<return> > ipython display a scrollable doc string (type 'q' to exit the doc string > viewer) > > Now you want to see the source code of the SQLFORM class: > In [3]: form = SQLFORM??<return> > ipython now shows the entire SQLFORM class > > Let's say you want to just see all of the methods that SQLFORM has to > offer: > In [5]: SQLFORM.<tab> > SQLFORM.AUTOTYPES SQLFORM.assert_status > SQLFORM.grid SQLFORM.search_menu > SQLFORM.FIELDKEY_DELETE_RECORD SQLFORM.build_query > SQLFORM.hidden_fields SQLFORM.sibling > SQLFORM.FIELDNAME_REQUEST_DELETE SQLFORM.confirm > SQLFORM.insert SQLFORM.siblings > SQLFORM.ID_LABEL_SUFFIX SQLFORM.createform > SQLFORM.mro SQLFORM.smartdictform > SQLFORM.ID_ROW_SUFFIX SQLFORM.dictform > SQLFORM.process SQLFORM.smartgrid > SQLFORM.REDIRECT_JS SQLFORM.element > SQLFORM.regex_attr SQLFORM.tag > SQLFORM.accepts SQLFORM.elements > SQLFORM.regex_class SQLFORM.update > SQLFORM.add_button SQLFORM.factory > SQLFORM.regex_id SQLFORM.validate > SQLFORM.add_class SQLFORM.flatten > SQLFORM.regex_tag SQLFORM.widgets > SQLFORM.append SQLFORM.formstyles > SQLFORM.remove_class SQLFORM.xml > > Finally, if you want to dig into any of those methods, like smartgrid: > In [6]: SQLFORM.smartgrid?<return> > or > In [7]: SQLFORM.smartgrid??<return> > > and since the SQLFORM code is well documented and the argument names are > descriptive, you should be able to figure out more problems on your own. > > This is just a taste of what you can do with ipython. It can also display > more detailed traceback messages, run os-level commands without exiting the > interpreter, debug code, etc. > > I hope this helps a bit! > > > Jim > > > -- > > --- > 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.