[Erp5-report] r23200 - in /erp5/trunk/bt5/erp5_forge: ExtensionTemplateItem/ SkinTemplateIt...
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Aug 27 16:41:51 CEST 2008
Author: yusei
Date: Wed Aug 27 16:41:44 2008
New Revision: 23200
URL: http://svn.erp5.org?rev=23200&view=rev
Log:
2008-08-27 yusei
* Improve pot file export.
Modified:
erp5/trunk/bt5/erp5_forge/ExtensionTemplateItem/Glossary.py
erp5/trunk/bt5/erp5_forge/ExtensionTemplateItem/PythonScriptParserUtility.py
erp5/trunk/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml
erp5/trunk/bt5/erp5_forge/bt/revision
Modified: erp5/trunk/bt5/erp5_forge/ExtensionTemplateItem/Glossary.py
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_forge/ExtensionTemplateItem/Glossary.py?rev=23200&r1=23199&r2=23200&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_forge/ExtensionTemplateItem/Glossary.py (original)
+++ erp5/trunk/bt5/erp5_forge/ExtensionTemplateItem/Glossary.py Wed Aug 27 16:41:44 2008
@@ -34,7 +34,8 @@
from TAL.HTMLTALParser import HTMLTALParser
from TAL.TALParser import TALParser
from TAL.TALGenerator import TALGenerator
-def findStaticTranslationText(page_template):
+from TAL.DummyEngine import name_match
+def findStaticTranslationText(page_template, func_name_list):
def iterate(node, target_name, function):
if type(node) is list:
for i in node:
@@ -59,6 +60,23 @@
if interpreter._i18n_message_id_dict is not None:
text_dict.update(interpreter._i18n_message_id_dict)
+ def addTextFromPythonExpression(node):
+ tal_expression = node[1]
+ if isinstance(tal_expression, (tuple, list)):
+ tal_expression = tal_expression[0]
+ tal_expression = tal_expression[1:-1]
+ match = name_match(tal_expression)
+ if match:
+ type, expression = match.group(1, 2)
+ if type=='python':
+ # clean up expression
+ expression = expression.strip()
+ expression = expression.replace('\n', ' ')
+ Base_getFunctionFirstArgumentValue = page_template.Base_getFunctionFirstArgumentValue
+ for func_name in func_name_list:
+ for message in Base_getFunctionFirstArgumentValue(func_name, expression):
+ text_dict[message] = None
+
if page_template.html():
generator = TALGenerator(xml=0)
parser = HTMLTALParser(generator)
@@ -67,6 +85,7 @@
parser = TALParser(generator)
parser.parseString(page_template._text)
iterate(parser.gen.program, 'insertTranslation', addText)
+ iterate(parser.gen.program, 'insertText', addTextFromPythonExpression)
return text_dict.keys()
#
@@ -74,11 +93,11 @@
#
from TAL.TALInterpreter import TALInterpreter
from TAL.DummyEngine import DummyEngine
+class MyDummyEngine(DummyEngine):
-class MyDummyEngine(DummyEngine):
-
def evaluate(self, expression):
return None
+
class MyDummyTALInterpreter(TALInterpreter):
Modified: erp5/trunk/bt5/erp5_forge/ExtensionTemplateItem/PythonScriptParserUtility.py
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_forge/ExtensionTemplateItem/PythonScriptParserUtility.py?rev=23200&r1=23199&r2=23200&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_forge/ExtensionTemplateItem/PythonScriptParserUtility.py (original)
+++ erp5/trunk/bt5/erp5_forge/ExtensionTemplateItem/PythonScriptParserUtility.py Wed Aug 27 16:41:44 2008
@@ -11,8 +11,12 @@
self.result = []
def visitCallFunc(self, node, *args):
- if (isinstance(node.node, compiler.ast.Name) and
- node.node.name==self.func_name):
+ if ((isinstance(node.node, compiler.ast.Name) and
+ node.node.name==self.func_name)
+ or
+ (isinstance(node.node, compiler.ast.Getattr) and
+ node.node.attrname==self.func_name)
+ ):
arg = node.args[0]
value = None
if isinstance(arg, compiler.ast.Const):
Modified: erp5/trunk/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml?rev=23200&r1=23199&r2=23200&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml (original)
+++ erp5/trunk/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml Wed Aug 27 16:41:44 2008
@@ -151,7 +151,7 @@
#\n
Base_findStaticTranslationText = context.Base_findStaticTranslationText\n
for i in page_template_list:\n
- for m in Base_findStaticTranslationText(i):\n
+ for m in Base_findStaticTranslationText(i, FUNC_NAME_LIST):\n
add_message(m, portal_url.getRelativeContentURL(i))\n
\n
#\n
Modified: erp5/trunk/bt5/erp5_forge/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_forge/bt/revision?rev=23200&r1=23199&r2=23200&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_forge/bt/revision (original)
+++ erp5/trunk/bt5/erp5_forge/bt/revision Wed Aug 27 16:41:44 2008
@@ -1,1 +1,1 @@
-321
+323
More information about the Erp5-report
mailing list