docs: def __write_aliases_file(lines):
      '''
      Write a new copy of the aliases file.  Lines is a list of lines
      as returned by __parse_aliases.
      '''
      afn = __get_aliases_filename()
      adir = os.path.dirname(afn)
  
      out = tempfile.NamedTemporaryFile(dir=adir, delete=False)
  
      if not __opts__.get('integration.test', False):
          if os.path.isfile(afn):
              afn_st = os.stat(afn)
              os.chmod(out.name, stat.S_IMODE(afn_st.st_mode))
              os.chown(out.name, afn_st.st_uid, afn_st.st_gid)
          else:
              os.chmod(out.name, 0o644)
              os.chown(out.name, 0, 0)
  
      for (line_alias, line_target, line_comment) in lines:
          if isinstance(line_target, list):
              line_target = ', '.join(line_target)
          if not line_comment:
              line_comment = ''
          if line_alias and line_target:
              write_line = '{0}: {1}{2}\n'.format(
                  line_alias, line_target, line_comment
              )
          else:
              write_line = '{0}\n'.format(line_comment)
          if six.PY3:
              write_line = write_line.encode(__salt_system_encoding__)
          out.write(write_line)
  
      out.close()
      os.rename(out.name, afn)
  
      # Search $PATH for the newalises command
      newaliases = salt.utils.path.which('newaliases')
      if newaliases is not None:
          __salt__['cmd.run'](newaliases)
  
      return True