Added --disable-backup option.
authorFrederic Jolliton <frederic@jolliton.com>
Mon, 1 Nov 2004 01:19:06 +0000 (01:19 +0000)
committerFrederic Jolliton <frederic@jolliton.com>
Mon, 1 Nov 2004 01:19:06 +0000 (01:19 +0000)
git-archimport-id: frederic@jolliton.com--2004-private/mail-filter--main--0.1--patch-7

README
mail.filter

diff --git a/README b/README
index 104a8ba..11603d5 100644 (file)
--- a/README
+++ b/README
@@ -61,3 +61,5 @@ Todo
 [ ] Add size match (really usefull?)
 [ ] Support feature such as vacation, automatic answer, forwarding, calling
     external script (or even "just" python module.)
+[ ] For mail rejected by Cyrus because of invalid header, encapsulate the
+    mail into a new one, and feed this one to Cyrus (and tagged as broken.)
index 83a9e4b..4389f44 100755 (executable)
@@ -123,6 +123,11 @@ g_maxMailSize = 2 * 1024 * 1024
 g_directoryBackup  = '/var/mail.filter/recovery/'
 
 #
+# If set, then no backup are produced in case of error.
+#
+g_backupDisabled = False
+
+#
 # Where to find rules about each user.
 # 
 # Filename for user 'joe' will be named 'joe.mf' in that
@@ -304,6 +309,10 @@ def backup( filenamePrefix = None ) :
                logMessage( 'TEST MODE: Backup of the mail requested.' )
                return
 
+       if g_backupDisabled :
+               logMessage( 'Backup requested, but disabled.' )
+               return
+
        try :
                # Ensure directory exist
                import os
@@ -837,6 +846,7 @@ def usage() :
  -c, --check-config=FILENAME
                            Check syntax and structure of configuration file
                            FILENAME.
+     --disable-backup      Disable backup.
 '''
 
        print 'Current paths are:\n'
@@ -857,7 +867,7 @@ Report bugs to <fj@tuxee.net>.'''
 
 def main() :
 
-       global g_user, g_mail, g_mailText, g_copyLogToStdout, g_pathLog, g_directoryRules , g_testMode
+       global g_user, g_mail, g_mailText, g_copyLogToStdout, g_pathLog, g_directoryRules , g_testMode, g_backupDisabled
 
        #--[ Command line ]-------------------------------------------------------
 
@@ -871,7 +881,7 @@ def main() :
                options , parameters = \
                        _getopt( sys.argv[ 1 : ] ,
                                'hvtl:r:c:' ,
-                               ( 'help' , 'verbose' , 'test' , 'log=' , 'rules=' , 'check-config=' ) )
+                               ( 'help' , 'verbose' , 'test' , 'log=' , 'rules=' , 'check-config=' , 'disable-backup' ) )
        except getopt.GetoptError , e :
                myName = sys.argv[ 0 ].split( '/' )[ -1 ]
                print '%s: %s' % ( myName , e[ 0 ] )
@@ -893,6 +903,8 @@ def main() :
                elif option in [ '-c' , '--check-config' ] :
                        checkConfiguration( argument )
                        sys.exit( 0 )
+               elif option in [ '--disable-backup' ] :
+                       g_backupDisabled = True
 
        #
        # At most one parameter expected.