* Roan Kattouw <roan.kattouw(a)gmail.com> [Wed, 22 Sep 2010 14:16:06
+0200]:
> ApiBase -> ApiListBase -> ApiQueryBase
> where ApiListBase would have at least these nice SQL query buliding
> methods but also the possibility to override the default printer?
Why
these methods
are limited to action=query lists and generators only?
That's a very good suggestion. Feel free to implement it or, if you
can't or don't want to, file a bug requesting it in Bugzilla.
I probably can implement it, that should be easy. However,
1. I need to have it working with 1.15.x, the customer uses. So I've
made a hack, I extend ApiQueryBase instead of ApiBase, but make
constructor like ApiBase. Such way, I have both addWhere*() and
setContinueEnumParameter() methods working without being forced to use
action=query. I've also overrided getDB(), because ApiQueryBase::getDB
is unsuitable to ApiBase code (ApiQueryBase::getQuery() and all methods
which use ApiQueryBase::getQuery() are also make no sense, thus I've
overrided these throwing MWException() ).
2. I don't have core commit access only extension commit access, however
I don't feel like MW guru, so I don't even want to request it. I'll
probably file a bug. Too bad it will never come back to 1.15.x, though.
Dmitriy