def get(self, traverser, name, instantiate=False):
        "Returns the value associated with a property name"
        name = unicode(name)
        output = None

        if name in self.data:
            output = self.data[name]
            if callable(output):
                output = output()
        elif instantiate or name in ('constructor', 'prototype'):
            output = fake(traverser)
            self.set(name, output, traverser=traverser)

        if traverser:
            modifier = instanceproperties.get_operation("get", name)
            if modifier:
                modifier(traverser)

        if output is None:
            return fake(traverser)

        return output
dataset/ETHPy150Open mozilla/app-validator/appvalidator/testcases/javascript/jstypes.py/JSObject.get/original