Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(983)

Unified Diff: grit/gather/interface.py

Issue 1442863002: Remove contents of grit's SVN repository. (Closed) Base URL: http://grit-i18n.googlecode.com/svn/trunk/
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « grit/gather/igoogle_strings_unittest.py ('k') | grit/gather/json_loader.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: grit/gather/interface.py
===================================================================
--- grit/gather/interface.py (revision 202)
+++ grit/gather/interface.py (working copy)
@@ -1,171 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-'''Interface for all gatherers.
-'''
-
-
-import os.path
-import types
-
-from grit import clique
-from grit import util
-
-
-class GathererBase(object):
- '''Interface for all gatherer implementations. Subclasses must implement
- all methods that raise NotImplemented.'''
-
- def __init__(self, rc_file, extkey=None, encoding='cp1252', is_skeleton=False):
- '''Initializes the gatherer object's attributes, but does not attempt to
- read the input file.
-
- Args:
- rc_file: The 'file' attribute of the <structure> node (usually the
- relative path to the source file).
- extkey: e.g. 'ID_MY_DIALOG'
- encoding: e.g. 'utf-8'
- is_skeleton: Indicates whether this gatherer is a skeleton gatherer, in
- which case we should not do some types of processing on the
- translateable bits.
- '''
- self.rc_file = rc_file
- self.extkey = extkey
- self.encoding = encoding
- # A default uberclique that is local to this object. Users can override
- # this with the uberclique they are using.
- self.uberclique = clique.UberClique()
- # Indicates whether this gatherer is a skeleton gatherer, in which case
- # we should not do some types of processing on the translateable bits.
- self.is_skeleton = is_skeleton
- # Stores the grd node on which this gatherer is running. This allows
- # evaluating expressions.
- self.grd_node = None
-
- def SetAttributes(self, attrs):
- '''Sets node attributes used by the gatherer.
-
- By default, this does nothing. If special handling is desired, it should be
- overridden by the child gatherer.
-
- Args:
- attrs: The mapping of node attributes.
- '''
- pass
-
- def SetDefines(self, defines):
- '''Sets global defines used by the gatherer.
-
- By default, this does nothing. If special handling is desired, it should be
- overridden by the child gatherer.
-
- Args:
- defines: The mapping of define values.
- '''
- pass
-
- def SetGrdNode(self, node):
- '''Sets the grd node on which this gatherer is running.
- '''
- self.grd_node = node
-
- def SetUberClique(self, uberclique):
- '''Overrides the default uberclique so that cliques created by this object
- become part of the uberclique supplied by the user.
- '''
- self.uberclique = uberclique
-
- def Parse(self):
- '''Reads and parses the contents of what is being gathered.'''
- raise NotImplementedError()
-
- def GetData(self, lang, encoding):
- '''Returns the data to be added to the DataPack for this node or None if
- this node does not add a DataPack entry.
- '''
- return None
-
- def GetText(self):
- '''Returns the text of what is being gathered.'''
- raise NotImplementedError()
-
- def GetTextualIds(self):
- '''Returns the mnemonic IDs that need to be defined for the resource
- being gathered to compile correctly.'''
- return []
-
- def GetCliques(self):
- '''Returns the MessageClique objects for all translateable portions.'''
- return []
-
- def GetInputPath(self):
- return self.rc_file
-
- def GetHtmlResourceFilenames(self):
- """Returns a set of all filenames inlined by this gatherer."""
- return []
-
- def Translate(self, lang, pseudo_if_not_available=True,
- skeleton_gatherer=None, fallback_to_english=False):
- '''Returns the resource being gathered, with translateable portions filled
- with the translation for language 'lang'.
-
- If pseudo_if_not_available is true, a pseudotranslation will be used for any
- message that doesn't have a real translation available.
-
- If no translation is available and pseudo_if_not_available is false,
- fallback_to_english controls the behavior. If it is false, throw an error.
- If it is true, use the English version of the message as its own
- "translation".
-
- If skeleton_gatherer is specified, the translation will use the nontranslateable
- parts from the gatherer 'skeleton_gatherer', which must be of the same type
- as 'self'.
-
- If fallback_to_english
-
- Args:
- lang: 'en'
- pseudo_if_not_available: True | False
- skeleton_gatherer: other_gatherer
- fallback_to_english: True | False
-
- Return:
- e.g. 'ID_THIS_SECTION TYPE\n...BEGIN\n "Translated message"\n......\nEND'
-
- Raises:
- grit.exception.NotReady() if used before Parse() has been successfully
- called.
- grit.exception.NoSuchTranslation() if 'pseudo_if_not_available' and
- fallback_to_english are both false and there is no translation for the
- requested language.
- '''
- raise NotImplementedError()
-
- def SubstituteMessages(self, substituter):
- '''Applies substitutions to all messages in the gatherer.
-
- Args:
- substituter: a grit.util.Substituter object.
- '''
- pass
-
- def SetFilenameExpansionFunction(self, fn):
- '''Sets a function for rewriting filenames before gathering.'''
- pass
-
- # TODO(benrg): Move this elsewhere, since it isn't part of the interface.
- def _LoadInputFile(self):
- '''A convenience function for subclasses that loads the contents of the
- input file.
- '''
- if isinstance(self.rc_file, types.StringTypes):
- path = self.GetInputPath()
- # Hack: some unit tests supply an absolute path and no root node.
- if not os.path.isabs(path):
- path = self.grd_node.ToRealPath(path)
- return util.ReadFile(path, self.encoding)
- else:
- return self.rc_file.read()
« no previous file with comments | « grit/gather/igoogle_strings_unittest.py ('k') | grit/gather/json_loader.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698