code: def _create_line_info(line, next_line, previous_line):
      """Returns information about the current line and surrounding lines."""
      line_info = (
          Namespace()
      )  # TODO(dbieber): Switch to an explicit class.
      line_info.line = line
      line_info.stripped = line.strip()
      line_info.remaining_raw = line_info.line
      line_info.remaining = line_info.stripped
      line_info.indentation = len(line) - len(line.lstrip())
      # TODO(dbieber): If next_line is blank, use the next non-blank line.
      line_info.next.line = next_line
      next_line_exists = next_line is not None
      line_info.next.stripped = (
          next_line.strip() if next_line_exists else None
      )
      line_info.next.indentation = (
          len(next_line) - len(next_line.lstrip())
          if next_line_exists
          else None
      )
      line_info.previous.line = previous_line
      previous_line_exists = previous_line is not None
      line_info.previous.indentation = (
          len(previous_line) - len(previous_line.lstrip())
          if previous_line_exists
          else None
      )
      # Note: This counts all whitespace equally.
      return line_info
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import enum
  import re
  import textwrap
label_desc: Use image node_id 12 for calling a global function with example usage: _create_line_info(line, next_line, previous_line) and returns: line_info