<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def register_patches(self):
 """ Registers the patches. :return: Method success. :rtype: bool """


        if not self.__paths:
            return False

        unregistered_patches = []
        for path in self.paths:
            for file in foundations.walkers.files_walker(path, ("\.{0}$".format(self.__extension),), ("\._",)):
                name = foundations.strings.get_splitext_basename(file)
                if not self.register_patch(name, file):
                    unregistered_patches.append(name)

        if not unregistered_patches:
            return True
        else:
            raise umbra.exceptions.PatchRegistrationError(
                "{0} | '{1}' patches failed to register!".format(self.__class__.__name__,
                                                                 ", ".join(unregistered_patches)))