<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def EpisodeNameLookUp(self, showName, season, episode):
 """ Get the episode name correspondng to the given show name, season number and episode number. Parameters showName : string Name of TV show. This must match an entry in the epguides title list (this can be achieved by calling ShowNameLookUp first). season : int Season number. epiosde : int Epiosde number. Returns string or None If an episode name can be found it is returned, otherwise the return value is None. """

    goodlogging.Log.Info("EPGUIDE", "Looking up episode name for {0} S{1}E{2}".format(showName, season, episode), verbosity=self.logVerbosity)
    goodlogging.Log.IncreaseIndent()
    showID = self._GetShowID(showName)
    if showID is not None:
      try:
        self._showInfoDict[showID]
      except KeyError:
        goodlogging.Log.Info("EPGUIDE", "Looking up info for new show: {0}(ID:{1})".format(showName, showID), verbosity=self.logVerbosity)
        urlData = util.WebLookup(self.EPISODE_LOOKUP_URL, {self.EP_LOOKUP_TAG: showID})
        self._showInfoDict[showID] = self._ExtractDataFromShowHtml(urlData)
      else:
        goodlogging.Log.Info("EPGUIDE", "Reusing show info previous obtained for: {0}({1})".format(showName, showID), verbosity=self.logVerbosity)
      finally:
        episodeName = self._GetEpisodeName(showID, season, episode)
        goodlogging.Log.DecreaseIndent()
        return episodeName
    goodlogging.Log.DecreaseIndent()