old_contents: from __future__ import absolute_import
  import sys
  import re
  import os
  import xml.etree.ElementTree as ET
  
  from svtplay_dl.service import Service, OpenGraphThumbMixin
  from svtplay_dl.utils import get_http_data, is_py2_old
  from svtplay_dl.log import log
  from svtplay_dl.fetcher.rtmp import RTMP
  
  # This is _very_ similar to mtvservices..
  class Mtvnn(Service, OpenGraphThumbMixin):
      supported_domains = ['nickelodeon.se', "nickelodeon.nl", "nickelodeon.no"]
  
      def get(self, options):
          match = re.search(r'mrss\s+:\s+"([^"]+)"', self.get_urldata())
          if not match:
              log.error("Can't find id for the video")
              sys.exit(2)
          swfurl = re.search(r'embedSWF\( "([^"]+)"', self.get_urldata())
          options.other = "-W %s" % swfurl.group(1)
          data = get_http_data(match.group(1))
          xml = ET.XML(data)
          mediagen = xml.find("channel").find("item").find("{http://search.yahoo.com/mrss/}group")
          title = xml.find("channel").find("item").find("title").text
          if options.output_auto:
              directory = os.path.dirname(options.output)
              if len(directory):
                  options.output = "%s/%s" % (directory, title)
              else:
                  options.output = title
          contenturl = mediagen.find("{http://search.yahoo.com/mrss/}content").attrib["url"]
          content = get_http_data(contenturl)
          xml = ET.XML(content)
          ss = xml.find("video").find("item")
          if is_py2_old:
              sa = list(ss.getiterator("rendition"))
          else:
              sa = list(ss.iter("rendition"))
  
          for i in sa:
              yield RTMP(options, i.find("src").text, i.attrib["bitrate"])
new_contents: from __future__ import absolute_import
  import sys
  import re
  import os
  import xml.etree.ElementTree as ET
  
  from svtplay_dl.service import Service, OpenGraphThumbMixin
  from svtplay_dl.utils import get_http_data, is_py2_old
  from svtplay_dl.log import log
  from svtplay_dl.fetcher.rtmp import RTMP
  
  # This is _very_ similar to mtvservices..
  class Mtvnn(Service, OpenGraphThumbMixin):
      supported_domains = ['nickelodeon.se', "nickelodeon.nl", "nickelodeon.no"]
  
      def get(self, options):
          match = re.search(r'mrss\s+:\s+"([^"]+)"', self.get_urldata())
          if not match:
              log.error("Can't find id for the video")
              sys.exit(2)
          swfurl = re.search(r'embedSWF\( "([^"]+)"', self.get_urldata())
          options.other = "-W %s" % swfurl.group(1)
          data = get_http_data(match.group(1))
          xml = ET.XML(data)
          mediagen = xml.find("channel").find("item").find("{http://search.yahoo.com/mrss/}group")
          title = xml.find("channel").find("item").find("title").text
          if options.output_auto:
              directory = os.path.dirname(options.output)
              if len(directory):
                  options.output = "%s/%s" % (directory, title)
              else:
                  options.output = title
          contenturl = mediagen.find("{http://search.yahoo.com/mrss/}content").attrib["url"]
          content = get_http_data(contenturl)
          xml = ET.XML(content)
          ss = xml.find("video").find("item")
          if is_py2_old:
              sa = list(ss.getiterator("rendition"))
          else:
              sa = list(ss.iter("rendition"))
  
          for i in sa:
              yield RTMP(options, i.find("src").text, i.attrib["bitrate"])
  
      def find_all_episodes(self, options):
          match = re.search(r"data-franchise='([^']+)'", self.get_urldata())
          if match is None:
              log.error("Couldn't program id")
              sys.exit(2)
          programid = match.group(1)
          match = re.findall(r"data-item-id='([^']+)'", self.get_urldata())
          if not match:
              log.error("Couldn't retrieve episode list")
              sys.exit(2)
          episodes = []
          for i in sorted(match):
              episodes.append("http://www.nickelodeon.se/serier/%s-something/videos/%s-something" % (programid, i))
          return episodes
  
subject: support for all_episodes