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