<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def find_obj_by_path(self, si, path, name, type_name):
 """ Finds object in the vCenter or returns "None" :param si: pyvmomi 'ServiceInstance' :param name: the object name to return :param type_name: the name of the type, can be (vm, network, host, datastore) """


        folder = self.get_folder(si, path)
        if folder is None:
            raise ValueError('vmomi managed object not found at: {0}'.format(path))

        look_in = None
        if hasattr(folder, type_name):
            look_in = getattr(folder, type_name)
        if hasattr(folder, self.ChildEntity):
            look_in = folder
        if look_in is None:
            raise ValueError('vmomi managed object not found at: {0}'.format(path))

        search_index = si.content.searchIndex
        '#searches for the specific vm in the folder'
        return search_index.FindChild(look_in, name)