@ -33,14 +33,14 @@ def relatesTo(data, submissions_dir):
yield data
def gen_checks ( submissions_dir , check_content = False , check_submission_hash = None ):
def gen_checks ( submissions_dir , check_content = False , check_submission_hash = None , skip_public_key = True ):
if check_content :
yield ( relatesTo , [ submissions_dir ] )
if HARD_MAX_SUBMISSION is not None :
yield ( late . check , [ HARD_MAX_SUBMISSION , SOFT_MAX_SUBMISSION ] )
else :
yield signcheck
yield ( envelope . check , [ GNUPG_DIRECTORY , BETA ] )
yield ( envelope . check , [ GNUPG_DIRECTORY , not skip_public_key , BETA ] )
yield ( signature . check , [ GNUPG_DIRECTORY ] )
yield ( login . check , [ " /home/nemunaire/workspace/check_mail/SRS2017.csv " ] )
if check_content :
@ -137,14 +137,14 @@ def readmail(fp):
return cnt , frm , subject , ref , to
def check_mail ( cnt , submissions_dir , check_content = False , check_submission_hash = None ):
def check_mail ( cnt , submissions_dir , check_content = False , check_submission_hash = None , skip_public_key = True ):
results = [ ]
# sentinel
results . append ( [ ( None , [ cnt ] ) ] )
lvl = 0
for check in gen_checks ( submissions_dir = submissions_dir , check_content = check_content , check_submission_hash = check_submission_hash ):
for check in gen_checks ( submissions_dir = submissions_dir , check_content = check_content , check_submission_hash = check_submission_hash , skip_public_key = skip_public_key ):
lvl + = 1
curr = [ ]
curc = [ ]
@ -231,6 +231,9 @@ if __name__ == '__main__':
parser . add_argument ( ' --review-before-send ' , action = " store_true " ,
help = " Review the e-mail to be sent before sending it " )
parser . add_argument ( ' --skip-public-key ' , action = " store_true " ,
help = " enable if you want to skip public key discovery through attachments " )
parser . add_argument ( ' --beta ' , action = " store_true " ,
help = " enable beta features " )
@ -252,4 +255,4 @@ if __name__ == '__main__':
BETA = args . beta
cnt , frm , subject , ref , to = readmail ( sys . stdin . buffer )
respondmail ( frm , subject , ref , [ c for c in check_mail ( cnt , submissions_dir = args . submissions , check_content = not args . sign , check_submission_hash = args . expected_submission_hash )] , to )
respondmail ( frm , subject , ref , [ c for c in check_mail ( cnt , submissions_dir = args . submissions , check_content = not args . sign , check_submission_hash = args . expected_submission_hash , skip_public_key = args . skip_public_key )] , to )