Brad Clements wrote:
> The code that creates the above query (or those like it) is
> getting pretty long. I'm
> interested in more expressive mechanisms that still retain
> the ability to understand...
You have a lot of logic in there that I don't think is reducible; the
structure, however, is made more manageable by refactoring. I'd *start*
by passing an object instead of a string as the dataSet parameter, and
building attributes and methods into each object rather than using the
large if/else statements. That is, rather than
if dataSet == 'ShipmentCharges':
shipcols = self.shipmentChargesColumns
packageColumns = ()
queryShipmentCharges = True
you could write:
q = Query()
dataSet.populate(q, opts)
...and stuff the dataset-specific logic into the ShipmentCharges class.
Find the common code to all classes and stuff that into a superclass
from which the other classes inherit.
And so on ;)
Robert Brewer
MIS
Amor Ministries
[EMAIL PROTECTED]
_______________________________________________
DB-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/db-sig