195640e3a20adea634b4df4ccf8c93f411184c438joi@chromium.org#!/usr/bin/env python
295640e3a20adea634b4df4ccf8c93f411184c438joi@chromium.org# Copyright (c) 2012 The Chromium Authors. All rights reserved.
301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org# Use of this source code is governed by a BSD-style license that can be
401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org# found in the LICENSE file.
501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org''' Base class for preprocessing of RC files.
701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org'''
801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
1001b3bc768461bd303bff39f8cd1663682254e407joi@chromium.orgclass PreProcessor(object):
1101b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org  ''' Base class for preprocessing of the RC file data before being
1201b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org  output through the RC2GRD tool. You should implement this class if
1301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org  you have specific constructs in your RC files that GRIT cannot handle.'''
1401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
1501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
1601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org  def Process(self, rctext, rcpath):
1701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org    ''' Processes the data in rctext.
1801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org    Args:
1901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org      rctext: string containing the contents of the RC file being processed
2001b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org      rcpath: the path used to access the file.
2101b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
2201b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org    Return:
2301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org      The processed text.
2401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org    '''
2501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org    raise NotImplementedError()
2601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
2701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
2801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
29