Nikola Skoric <n...@fly.srk.fer.hr> writes:

> I have a superclass Element and a subclass Family. All Family.__init__() does 
> is run Element.__init__() and self.__parse(). For some reason it seems like 
> self.__parse() isn't run. Here is the code:
> http://github.com/dijxtra/simplepyged/blob/8d5a6d59268f6760352783cce6b97c0b5e75b8be/simplepyged/simplepyged.py
>
> In this version everything works fine. Notice lines 698, 703 and 708. If I 
> remove those lines, those 3 methods return None or []. Seems like __init__ 
> won't run __parse, but other methods run it without problem.
>
> So, what obvious thing am I missing? :-)

Works without a hitch for my condensed example:

class Element(object):

    def __init__(self):
        pass


class Family(Element):

    def __init__(self):
        Element.__init__(self)
        self.__parse()


    def __parse(self):
        self.parse = "Family.__parse"


f = Family()
print f.parse



Btw, you are a bit on the overprotective side. The convention for
marking attributes (methods or objects alike) "private" is by prefixing
them with a *single* underscore. 

Diez

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

Reply via email to