def check( self , values ) :
- if len( values ) != 3 :
- error( 'header expect 3 arguments: HEADER-NAME MATCH-TYPE MATCH-ARGUMENT.' )
- elif values[ 1 ] not in self.allowedMatches :
- error( '%r is not an allowed match type. Allowed matches type are: %r'
- % ( values[ 1 ] , self.allowedMatches ) )
+ if len( values ) == 2 :
+ if values[ 1 ] != 'present' :
+ error( 'Invalid keyword %r. Expected \'present\'.' % values[ 1 ] )
+ elif len( values ) == 3 :
+ if values[ 1 ] not in self.allowedMatches :
+ error( '%r is not an allowed match type. Allowed matches type are: %r'
+ % ( values[ 1 ] , self.allowedMatches ) )
+ else :
+ error( '''header expect 2 or 3 arguments:
+HEADER-NAME MATCH-TYPE MATCH-ARGUMENT
+HEADER-NAME MATCH-FLAG''' )
#-----------------------------------------------------------------------------
if g_mail == None :
return False
args = rule[ 1 ]
+ if len( args ) == 2 :
+ #
+ # Test 'present'
+ #
+ headerName , matchType = args
+ if matchType not in [ 'present' ] :
+ logMessage( 'Unknown match type %r' % matchType )
+ return False
+ return ( g_mail.get( headerName ) != None )
+
headerName , matchType , text = args
text = normalizeBlank( text )
if headerName.find( '.' ) != -1 :