The run function certainly seems like a candidate to be a method on the
ThreadedAppServer class. However to achieve the minimum of what I was
after, simply adding an argument to the argument list provided to run:
def run(useMonitor = 0, workDir=None, AppServer=ThreadedAppServer):
and then a similar optional argument to the main() method would provide the
functionality I required.
However if the preferred way would be to move run to a method on the
ThreadedAppServer class, I'd be happy to take a stab at that instead, as it
doesn't really look like there is much to it. The main() function would
still need a default argument to specify the class containing the AppServer.
Although to fully get that functionality into the stock system, perhaps an
update to Launch.py/launchWebKit would be in order.
Any other thoughts?
> -----Original Message-----
> From: Jason Hildebrand [mailto:jason@...]
> Sent: Monday, November 18, 2002 3:55 PM
> To: Stuart Donaldson
> Cc: webware-discuss
> Subject: RE: [Webware-discuss] Developer access to WebKit module
> On Mon, 2002-11-18 at 16:58, Stuart Donaldson wrote:
> > The well designed solution seems to encourage the approach
> of overriding the
> > methods through subclassing. This works better for
> documentation tools, and
> > just plain old following the code. The idea of the MixIn
> is pretty cool for
> > cases where subclassing can't be implemented. But in the
> case of Webware,
> > we have control over the modules in question, and the
> design of the rest of
> > the system seems to support subclassing.
> > I would prefer to see the ThreadedAppServer support the
> subclassing approach
> > just as its base class does.
> Hi Stuart,
> Is your intent to clean up the run() and main() methods in
> ThreadedAppServer.py and encapsulate them in the ThreadedAppServer
> class? I'm just curious to know what you're planning.
> > Any chance we can get this fixed? If you want, I'd be
> happy to create a
> > proposed patch which improves the ability to subclass
> A few potential issues spring to mind: you'll have to make sure that
> it's still possible to use the monitor (see Monitor.py), and that it's
> possible to profile the AppServer (see Profiler.py). I've
> never played
> with either of these things, so I don't know whether these
> are issues.
> But some people use them, so it's important not to break them.
> > Who would I send it off too?
> I'd be happy to look at the patch; you can either send it to me or to
> the list (if anyone else is interested).
> Jason D. Hildebrand