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

Unified Diff: grit/gather/muppet_strings.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/json_loader.py ('k') | grit/gather/muppet_strings_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: grit/gather/muppet_strings.py
===================================================================
--- grit/gather/muppet_strings.py (revision 202)
+++ grit/gather/muppet_strings.py (working copy)
@@ -1,133 +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.
-
-'''Support for "strings.xml" format used by Muppet plug-ins in Google Desktop.'''
-
-import StringIO
-import xml.sax
-import xml.sax.handler
-import xml.sax.saxutils
-
-from grit import lazy_re
-from grit import tclib
-from grit import util
-from grit.gather import regexp
-
-
-# Placeholders can be defined in strings.xml files by putting the name of the
-# placeholder between [![ and ]!] e.g. <MSG>Hello [![USER]!] how are you<MSG>
-PLACEHOLDER_RE = lazy_re.compile('(\[!\[|\]!\])')
-
-
-class MuppetStringsContentHandler(xml.sax.handler.ContentHandler):
- '''A very dumb parser for splitting the strings.xml file into translateable
- and nontranslateable chunks.'''
-
- def __init__(self, parent):
- self.curr_elem = ''
- self.curr_text = ''
- self.parent = parent
- self.description = ''
- self.meaning = ''
- self.translateable = True
-
- def startElement(self, name, attrs):
- if (name != 'strings'):
- self.curr_elem = name
-
- attr_names = attrs.getQNames()
- if 'desc' in attr_names:
- self.description = attrs.getValueByQName('desc')
- if 'meaning' in attr_names:
- self.meaning = attrs.getValueByQName('meaning')
- if 'translateable' in attr_names:
- value = attrs.getValueByQName('translateable')
- if value.lower() not in ['true', 'yes']:
- self.translateable = False
-
- att_text = []
- for attr_name in attr_names:
- att_text.append(' ')
- att_text.append(attr_name)
- att_text.append('=')
- att_text.append(
- xml.sax.saxutils.quoteattr(attrs.getValueByQName(attr_name)))
-
- self.parent._AddNontranslateableChunk("<%s%s>" %
- (name, ''.join(att_text)))
-
- def characters(self, content):
- if self.curr_elem != '':
- self.curr_text += content
-
- def endElement(self, name):
- if name != 'strings':
- self.parent.AddMessage(self.curr_text, self.description,
- self.meaning, self.translateable)
- self.parent._AddNontranslateableChunk("</%s>\n" % name)
- self.curr_elem = ''
- self.curr_text = ''
- self.description = ''
- self.meaning = ''
- self.translateable = True
-
- def ignorableWhitespace(self, whitespace):
- pass
-
-class MuppetStrings(regexp.RegexpGatherer):
- '''Supports the strings.xml format used by Muppet gadgets.'''
-
- def AddMessage(self, msgtext, description, meaning, translateable):
- if msgtext == '':
- return
-
- msg = tclib.Message(description=description, meaning=meaning)
-
- unescaped_text = self.UnEscape(msgtext)
- parts = PLACEHOLDER_RE.split(unescaped_text)
- in_placeholder = False
- for part in parts:
- if part == '':
- continue
- elif part == '[![':
- in_placeholder = True
- elif part == ']!]':
- in_placeholder = False
- else:
- if in_placeholder:
- msg.AppendPlaceholder(tclib.Placeholder(part, '[![%s]!]' % part,
- '(placeholder)'))
- else:
- msg.AppendText(part)
-
- self.skeleton_.append(
- self.uberclique.MakeClique(msg, translateable=translateable))
-
- # if statement needed because this is supposed to be idempotent (so never
- # set back to false)
- if translateable:
- self.translatable_chunk_ = True
-
- # Although we use the RegexpGatherer base class, we do not use the
- # _RegExpParse method of that class to implement Parse(). Instead, we
- # parse using a SAX parser.
- def Parse(self):
- if self.have_parsed_:
- return
- self.have_parsed_ = True
-
- text = self._LoadInputFile().encode(self.encoding)
- if util.IsExtraVerbose():
- print text
- self.text_ = text.strip()
-
- self._AddNontranslateableChunk(u'<strings>\n')
- stream = StringIO.StringIO(self.text_)
- handler = MuppetStringsContentHandler(self)
- xml.sax.parse(stream, handler)
- self._AddNontranslateableChunk(u'</strings>\n')
-
- def Escape(self, text):
- return util.EncodeCdata(text)
« no previous file with comments | « grit/gather/json_loader.py ('k') | grit/gather/muppet_strings_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698