nodes: 0, module; 1, function_definition; 2, function_name:_get_sorter; 3, parameters; 4, block; 5, default_parameter; 6, dictionary_splat_pattern; 7, expression_statement; 8, decorated_definition; 9, return_statement; 10, identifier:subpath; 11, string; 12, identifier:defaults; 13, comment:"""Return function to generate specific subreddit Submission listings."""; 14, decorator; 15, function_definition; 16, identifier:_sorted; 17, call; 18, function_name:_sorted; 19, parameters; 20, block; 21, identifier:restrict_access; 22, argument_list; 23, identifier:self; 24, list_splat_pattern; 25, dictionary_splat_pattern; 26, expression_statement; 27, if_statement; 28, for_statement; 29, expression_statement; 30, comment:# pylint: disable=W0212; 31, return_statement; 32, keyword_argument; 33, identifier:args; 34, identifier:kwargs; 35, comment:"""Return a get_content generator for some RedditContentObject type.
  
          The additional parameters are passed directly into
          :meth:`.get_content`. Note: the `url` parameter cannot be altered.
  
          """; 36, not_operator; 37, block; 38, pattern_list; 39, call; 40, block; 41, assignment; 42, call; 43, identifier:scope; 44, string; 45, call; 46, expression_statement; 47, identifier:key; 48, identifier:value; 49, attribute; 50, argument_list; 51, expression_statement; 52, identifier:url; 53, call; 54, attribute; 55, argument_list; 56, string_content:read; 57, attribute; 58, argument_list; 59, assignment; 60, identifier:six; 61, identifier:iteritems; 62, identifier:defaults; 63, call; 64, identifier:urljoin; 65, argument_list; 66, attribute; 67, identifier:get_content; 68, identifier:url; 69, list_splat; 70, dictionary_splat; 71, identifier:kwargs; 72, identifier:get; 73, string; 74, subscript; 75, dictionary; 76, attribute; 77, argument_list; 78, attribute; 79, identifier:subpath; 80, identifier:self; 81, identifier:reddit_session; 82, identifier:args; 83, identifier:kwargs; 84, string_content:params; 85, identifier:kwargs; 86, string; 87, subscript; 88, identifier:setdefault; 89, identifier:key; 90, identifier:value; 91, identifier:self; 92, identifier:_url; 93, string_content:params; 94, identifier:kwargs; 95, string; 96, string_content:params
code: def _get_sorter(subpath='', **defaults):
      """Return function to generate specific subreddit Submission listings."""
      @restrict_access(scope='read')
      def _sorted(self, *args, **kwargs):
          """Return a get_content generator for some RedditContentObject type.
  
          The additional parameters are passed directly into
          :meth:`.get_content`. Note: the `url` parameter cannot be altered.
  
          """
          if not kwargs.get('params'):
              kwargs['params'] = {}
          for key, value in six.iteritems(defaults):
              kwargs['params'].setdefault(key, value)
          url = urljoin(self._url, subpath)  # pylint: disable=W0212
          return self.reddit_session.get_content(url, *args, **kwargs)
      return _sorted