+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.


Reply via email to