[Zope-dev] SVN: zope.tal/trunk/src/zope/tal/dummyengine.py assert isn't a function, using parens will cause the two arguments to be treated as a 2-tuple, hence always true.

Hanno Schlichting hannosch at hannosch.eu
Mon Dec 8 13:42:34 EST 2008


Tres Seaver wrote:
> Matthew Wilkes wrote:
>> Log message for revision 93717:
>>   assert isn't a function, using parens will cause the two arguments to be treated as a 2-tuple, hence always true.
> 
>> Changed:
>>   U   zope.tal/trunk/src/zope/tal/dummyengine.py
> 
>> -=-
>> Modified: zope.tal/trunk/src/zope/tal/dummyengine.py
>> ===================================================================
>> --- zope.tal/trunk/src/zope/tal/dummyengine.py	2008-12-06 12:09:53 UTC (rev 93716)
>> +++ zope.tal/trunk/src/zope/tal/dummyengine.py	2008-12-06 13:25:25 UTC (rev 93717)
>> @@ -85,8 +85,8 @@
>>          return value
> 
>>      def evaluate(self, expression):
>> -        assert (expression.startswith("$") and expression.endswith("$"),
>> -            expression)
>> +        assert expression.startswith("$") and expression.endswith("$"), \
>> +            expression
>>          expression = expression[1:-1]
>>          m = name_match(expression)
>>          if m:
>> @@ -152,8 +152,8 @@
>>          return self.evaluate(expr)
> 
>>      def evaluateMacro(self, macroName):
>> -        assert (macroName.startswith("$") and macroName.endswith("$"),
>> -            macroName)
>> +        assert macroName.startswith("$") and macroName.endswith("$"), \
>> +            macroName
>>          macroName = macroName[1:-1]
>>          file, localName = self.findMacroFile(macroName)
>>          if not file:
> 
> 
> A better fix would be to strip outthe 'assert' keyword everywhere, and
> use 'self.failUnless' / 'self.failIf' instead:  that would allow getting
> rid of the "backsplash", as well.

Unless I'm missing something self.failUnless only works inside tests.
This is in normal code, where I found assert statements just annoying
for the most part.

Hanno



More information about the Zope-Dev mailing list