def __init__(self, module='<STR_LIT>', depth=<NUM_LIT:1>):
if not isinstance(module, ModuleType):<EOL><INDENT>if not isinstance(module, (str, unicode)):<EOL><INDENT>raise BadValueError('<STR_LIT>'.format(module=module))<EOL><DEDENT>else:<EOL><INDENT>if not len(module) == <NUM_LIT:0>:<EOL><INDENT>module = __import__(module)<EOL><DEDENT>else:<EOL><INDENT>module = get_caller_module(depth=depth)<EOL><DEDENT><DEDENT><DEDENT>name = os.path.basename(module.__file__)<EOL>if name == '<STR_LIT>':<EOL><INDENT>path = os.path.dirname(module.__file__)<EOL><DEDENT>else:<EOL><INDENT>path = module.__file__<EOL><DEDENT>super(ModuleNode, self).__init__(path, create=False, strict=True)<EOL>
Initializes a node by module name or module object.

        Creates an node object that represents the path of a module specified by name or by module object. If no module
         is specified, the caller module is assumed.

        :param module: Module name or module object
        :param depth: The depth od levels to go for assuming caller module
        :return: