On Mon, 13 Apr 2009 09:53:04 -0700 (PDT), hubritic <colinland...@gmail.com> 
wrote:
I want to build a parser object that handles two different log file
formats.  I have an object that handles Connection logs and an object
for Filter logs.  Each will instantiate a Parser object, passing in
the path to individual log files.

If you have two different things to do, perhaps you should consider providing
two different APIs to do them.


There are a number of ways I could figure out whether I am dealing
with connection or filter log.

I could pass it in when creating the Parser, but that doesn't seem
very pythonic.

Guessing isn't very Pythonic.


I could figure out the type of log file a particular instance of the
Parser is working with by looking at the format of the file. This
wouldn't be hard but it seems unnecessary.

It would be jiffy if I could find what kind of object instantiated
that particular parser. So if a FilterLog object instantiated it, the
parser would know to parse a Filter log.

Make a FilterLogParser and a ConnectionLogParser, or make a Parser which
takes a parameter that tells it if it is parsing filter logs or
connection logs.


Can the Parser object know who its Daddy is?


Inspecting the call stack or the execution context to decide what to do is
a really awful idea.  It's complicated to implement, complicated to maintain,
complicated to read, and there's no reason to do it.  Just do the simple
thing - add a parameter or make two separate APIs.

Jean-Paul
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to