Index: grit/node/custom/filename.py |
=================================================================== |
--- grit/node/custom/filename.py (revision 0) |
+++ grit/node/custom/filename.py (revision 0) |
@@ -0,0 +1,29 @@ |
+#!/usr/bin/python2.4 |
+# Copyright (c) 2006-2008 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. |
+ |
+'''A CustomType for filenames.''' |
+ |
+import re |
+ |
+from grit import clique |
+ |
+ |
+class WindowsFilename(clique.CustomType): |
+ '''Validates that messages can be used as Windows filenames, and strips |
+ illegal characters out of translations. |
+ ''' |
+ |
+ BANNED = re.compile('\+|:|\/|\\\\|\*|\?|\"|\<|\>|\|') |
+ |
+ def Validate(self, message): |
+ return not self.BANNED.search(message.GetPresentableContent()) |
+ |
+ def ValidateAndModify(self, lang, translation): |
+ is_ok = self.Validate(translation) |
+ self.ModifyEachTextPart(lang, translation) |
+ return is_ok |
+ |
+ def ModifyTextPart(self, lang, text): |
+ return self.BANNED.sub(' ', text) |
Property changes on: grit/node/custom/filename.py |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |