[Twisted-Python] Some news about currently-pending code-reviews

Tim Allen screwtape at froup.com
Thu Dec 24 00:37:47 EST 2009

First, a public service announcement about code-reviews: I'm not
a Twisted Developer, I'm just a guy who submitted a patch and got talked
into helping out by reviewing other people's Twisted patches while I was
waiting for other people to review mine. You don't have to be a Twisted
expert to help out, and don't worry about whether you're experienced
enough to spot every possible problem - most patches get reviewed *at
least* two or three times by different people, and every problem you
pick up and the developer addresses is one less issue the next reviewer
has to think about.

As I've started reviewing over the past week or two, the developers
whose code I've reviewed and the regulars in the #twisted IRC channel
have all been super-helpful, and I highly recommend code-reviewing as
a pleasant way to spend an idle afternoon. Everything you need to know
to get started should be listed here:



As I mentioned above, I've been doing Twisted code-reviews recently, and
I've seen a few tickets in particular I thought the general Twisted
community might like to know about, if not help out with. :)

Add arraysize option to runQuery in adbapi

 - The "arraysize" property is the only writable cursor property defined
   by DBAPI2. Setting it can make the .fetchall() method faster with
   some DB modules, but Twisted's adbapi module offers no way to set it.
 - This ticket has a patch that adds an "cp_arraysize" keyword argument
   to ConnectionPool.runQuery() to set the .arraysize property, but this
   could interfere with DB modules that accept a "cp_arraysize" keyword
   parameter to cursor.execute().
 - I looked up the API docs for as many Python DB modules as I could
   think of, and none of them attach any significance to
   a "cp_arraysize" keyword parameter.
 - However, at least cx_Oracle supports using keyword parameters for
   populating parameterised queries, like this:

    cursor.execute("select :name from dual;", name="Fred")

So, my questions to the Twisted community are:
 - How many of you are using adbapi.ConnectionPool with cx_Oracle, or
   another DB module that supports arbitrary keyword arguments to
 - Of those, how many of you are using parameterised queries or prepared
   statements with placeholders named "arraysize" or "cp_arraysize"?

A fresh Twisted checkout should support "setup.py sdist"

 - Occasionally people ask about building RPMs of Twisted with
   "./setup.py bdist_rpm"; this ticket is the first step in getting that
   working - the rest of the process is #1696.
 - I'm not sure if it helps with other kinds of bdist, like
   "bdist_wininst" or "bdist_msi" - if it does, and you've been waiting
   for that, then you might want to help review the code and check it
   works properly on your platform!

subunit reporter. FTW.

 - This ticket adds another test-reporter to Twisted Trial, one that
   outputs results in a format that can be parsed by the tools in the
   third-party "subunit" project, https://launchpad.net/subunit
 - Among other things, this would help integrate Python tests with test
   results from other systems (tap2subunit, subunit2junitxml), compare
   the results of different test-runs (subunit-diff), and enable cute
   GUI-based test-runners (subunit2gtk).
 - If subunit sounds like a tool you would find useful, you might want
   to help review the code!

More information about the Twisted-Python mailing list