About: Informatics at KU Med Center
Browse by time:
- February 2019 (1)
- November 2018 (1)
- October 2018 (1)
- August 2018 (1)
- June 2018 (1)
- March 2018 (1)
- January 2018 (1)
- November 2017 (1)
- October 2017 (1)
- August 2017 (1)
- June 2017 (1)
- May 2017 (1)
- April 2017 (1)
- February 2017 (1)
- January 2017 (1)
- November 2016 (1)
- October 2016 (1)
- August 2016 (1)
- July 2016 (1)
- June 2016 (1)
- April 2016 (1)
- March 2016 (1)
- February 2016 (1)
- January 2016 (1)
- December 2015 (1)
- November 2015 (1)
- October 2015 (1)
- September 2015 (1)
- August 2015 (1)
- July 2015 (1)
- June 2015 (1)
- May 2015 (1)
- April 2015 (1)
- March 2015 (1)
- February 2015 (1)
- December 2014 (1)
- November 2014 (1)
- October 2014 (4)
- September 2014 (1)
- August 2014 (1)
- July 2014 (1)
- June 2014 (1)
- May 2014 (1)
- April 2014 (1)
- March 2014 (1)
- February 2014 (1)
- January 2014 (2)
- December 2013 (1)
- November 2013 (2)
- October 2013 (1)
- September 2013 (1)
- August 2013 (1)
- July 2013 (1)
- June 2013 (1)
- May 2013 (1)
- April 2013 (1)
- March 2013 (1)
- February 2013 (1)
- January 2013 (2)
- December 2012 (1)
- November 2012 (1)
- October 2012 (3)
- September 2012 (2)
- August 2012 (2)
- July 2012 (1)
- June 2012 (2)
- May 2012 (3)
- April 2012 (3)
- March 2012 (2)
- February 2012 (3)
- January 2012 (3)
- December 2011 (2)
- November 2011 (2)
- October 2011 (2)
- September 2011 (3)
- August 2011 (2)
- July 2011 (2)
- June 2011 (4)
- April 2011 (1)
- March 2011 (2)
- February 2011 (1)
- December 2010 (3)
Browse by author:
Browse by category:
- rss ALS (1)
- rss AMIA (2)
- rss CRIS (1)
- rss CTSA (2)
- rss GPC (1)
- rss HERON (80)
- rss KUMC (2)
- rss NAACCR (4)
- rss R (2)
- rss REDCap (4)
- rss SQL (2)
- rss award (3)
- rss cancer (4)
- rss feature (94)
- rss fun (1)
- rss heron (11)
- rss i2b2 (59)
- rss jobs (3)
- rss kc (1)
- rss networking (3)
- rss obesity (1)
- rss presentation (3)
- rss presentation-notes (1)
- rss python (3)
- rss quality (1)
- rss redcap (1)
- rss research (2)
- rss security (2)
- rss support (1)
- rss training (4)
- rss travel (3)
- rss video (2)
- rss vital-statistics (2)
Posts in category quality
Quick-and-dirty usage documentation for python integration tests
In addition to my addiction to python's doctest for WritingQualityCode, I'm developing a habit of letting my modules serve as their own integration tests when run as scripts. Python comes batteries-included with argparse, and Aargh is pretty cool, but for quick-and-dirty stuff like this, I tend not to bother at all. I just let python's stack traces serve as documentation.
For example, if it's been a while since I used source:raven-j/heron_wsgi/admin_lib/i2b2pm.py, I just run it, and I get:
(haenv):admin_lib$ python i2b2pm.py Traceback (most recent call last): File "i2b2pm.py", line 319, in <module> _test_main() File "i2b2pm.py", line 289, in _test_main user_id, full_name = sys.argv[1:3] ValueError: need more than 0 values to unpack
The user_id, full_name = sys.argv[1:3]
line is typically enough of a clue to remind me what arguments are needed:
(haenv):admin_lib$ python i2b2pm.py dconnolly 'Dan Connolly' DEBUG:__main__:generate authorization for: ('dconnolly', 'Dan Connolly') INFO:sqlalchemy.engine.base.Engine:SELECT USER FROM DUAL ... INFO:sqlalchemy.engine.base.Engine:{'param_1': u'dconnolly'} ('1f8c885f-43e3-4ace-8512-88e65494d59a', <User(dconnolly, Dan Connolly)>)
- Posted: 8 years ago
- Author: dconnolly
- Categories: python quality
- Comments (0)