#!python
#
# This file is part of GNU Enterprise.
#
# GNU Enterprise is free software; you can redistribute it
# and/or modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 3, or (at your option) any later version.
#
# GNU Enterprise is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with program; see the file COPYING. If not,
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
# Copyright 2001 Free Software Foundation
#
# FILE:
# merge-rtf.py
#
# DESCRIPTION:
#
# NOTES:
#

import mailmerge
import string, sys



class RTFMerge(mailmerge.MergeBase):

  NAME = "RTF"

  # What "command" separates new records?
  NEWRECORD = "\\page\r\n"

  # The regex description of the beginning and end of the repeatable sections
  REGEX = r"\A(.*?)"                   \
        + r"(\\pard?.+)" \
        + r"(})\Z"

  # Comments...
  COMMENTABLE = 0        # Does this output format support comments?

  # Escape special characters
  def escape(self, s):
    if not len(s): return s
    part = s
    for char in r'\{}':
      part = string.replace(part,char,'\\' + char)

    return part

if __name__ == "__main__":
  template = open(sys.argv[1])
  RTFMerge().merge(sys.stdin, template, sys.stdout)
  template.close()
