On Oct 17, 11:39 pm, stef mientki <[EMAIL PROTECTED]> wrote:
> the test if an instance exists, always returns false.
>     ini = inifile (filename)
>     if ini:
>         print 'ok',type(ini)
>     else:
>         print 'wrong',type(ini)
>
> Why is that ?
> What should I do to the same simple test for existance ?

First, object construction always gives you an object or raises an
exception, so you don't have to test for existence. If you don't know
if an object has been created, you should initialise ini to None, and
test with 'if ini is not None:'.

'if x' doesn't test if x exists, it tests if x when cast to a bool is
True. ConfigParser acts like a container, and returns False if it's
empty. Your class is (indirectly) a subclass of ConfigParser, but is
never initialised as such, and so is empty. So 'if ini' returns False,
and you get your confused result.

You need to decide if inifile is a subclass of ConfigObj, or is a
wrapper round a ConfigObj. Probably you want the former and your init
method should be something like:
  def __init__(self, filename):
    ConfigObj.__init__(self, filename, list_values=False,
      write_empty_values=True)
    self.newlines = '\r\n'
    self.Section = ''
    self.Modified = False

--
Paul Hankin

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

Reply via email to