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

Unified Diff: grit/grd_reader.py

Issue 118663003: Set target platform on root node earlier. (Closed) Base URL: https://grit-i18n.googlecode.com/svn/trunk
Patch Set: Remove code duplication. Created 7 years 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 | « no previous file | grit/grd_reader_unittest.py » ('j') | grit/node/base.py » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: grit/grd_reader.py
diff --git a/grit/grd_reader.py b/grit/grd_reader.py
index 055ad73852ee99d0fe352f197e37f36accfd7e7a..87eec5e622ce89ef77643ba3fb0db127e03cc00d 100644
--- a/grit/grd_reader.py
+++ b/grit/grd_reader.py
@@ -24,7 +24,8 @@ class StopParsingException(Exception):
class GrdContentHandler(xml.sax.handler.ContentHandler):
- def __init__(self, stop_after, debug, dir, defines, tags_to_ignore):
+ def __init__(self, stop_after, debug, dir, defines, tags_to_ignore,
+ target_platform):
# Invariant of data:
# 'root' is the root of the parse tree being created, or None if we haven't
# parsed out any elements.
@@ -39,6 +40,7 @@ class GrdContentHandler(xml.sax.handler.ContentHandler):
self.defines = defines
self.tags_to_ignore = tags_to_ignore or set()
self.ignore_depth = 0
+ self.target_platform = target_platform
def startElement(self, name, attrs):
if self.ignore_depth or name in self.tags_to_ignore:
@@ -61,6 +63,9 @@ class GrdContentHandler(xml.sax.handler.ContentHandler):
else:
assert self.root is None
self.root = node
+ if isinstance(self.root, misc.GritNode):
+ if self.target_platform:
+ self.root.SetTargetPlatform(self.target_platform)
node.StartParsing(name, None)
if self.defines:
node.SetDefines(self.defines)
@@ -175,7 +180,8 @@ def Parse(filename_or_stream, dir=None, stop_after=None, first_ids_file=None,
dir = util.dirname(filename_or_stream)
handler = GrdContentHandler(stop_after=stop_after, debug=debug, dir=dir,
- defines=defines, tags_to_ignore=tags_to_ignore)
+ defines=defines, tags_to_ignore=tags_to_ignore,
+ target_platform=target_platform)
try:
xml.sax.parse(filename_or_stream, handler)
except StopParsingException:
@@ -195,8 +201,6 @@ def Parse(filename_or_stream, dir=None, stop_after=None, first_ids_file=None,
handler.root.SetOwnDir(dir)
if isinstance(handler.root, misc.GritNode):
- if target_platform:
- handler.root.SetTargetPlatform(target_platform)
if first_ids_file:
# Make the path to the first_ids_file relative to the grd file,
# unless it begins with GRIT_DIR.
« no previous file with comments | « no previous file | grit/grd_reader_unittest.py » ('j') | grit/node/base.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698