<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def enhance(self):
 """Load metadata from a data service to improve naming. :raises tvrenamer.exceptions.ShowNotFound: when unable to find show/series name based on parsed name :raises tvrenamer.exceptions.EpisodeNotFound: when unable to find episode name(s) based on parsed data """


        series, error = self.api.get_series_by_name(self.series_name)

        if series is None:
            self.messages.append(str(error))
            LOG.info(self.messages[-1])
            raise exc.ShowNotFound(str(error))

        self.series_name = self.api.get_series_name(series)
        self.episode_names, error = self.api.get_episode_name(
            series, self.episode_numbers, self.season_number)

        if self.episode_names is None:
            self.messages.append(str(error))
            LOG.info(self.messages[-1])
            raise exc.EpisodeNotFound(str(error))