def compose_email(params, ftp_server, ftp_dir, out_files):
        #NOTIFY_USER
        mail_server = settings.DRI_MAIL_SERVER
        fromaddr = settings.CSC_FROM_ADDRESS
        user_name, user_email = get_user_info(params)
        subj = 'Data request %s' % params['output_file_name']
        now = datetime.datetime.now()
        date = now.strftime( '%Y-%m-%d %H:%M' )
        pick_up_latest = (now + datetime.timedelta(days=25)).strftime( '%Y-%m-%d' )
        display_keys = [params['area_type'],'variables','units', 'start_date', 'end_date']
        if 'data_type' in params.keys():
            display_keys.insert(0,'data_type')
        params_display_list = WRCCUtils.form_to_display_list(display_keys, params)
        dp = '';files=''
        for item in params_display_list:
            key = item[0]
            val = item[1]
            dp+=key + ': ' + val  +'\n' + '      '
        zip_file = out_files[0].split('/')[-1]
        for f in out_files[1:]:
            files+= f + '\n' + '      '
        message_text ='''
        Date: %s
        Dear %s,
        Your data request has been processed.
         ^ ^
        (O,O)
        (   )
        -"-"-
        The data is available here:
        %s

        Please connect as Guest. You will not need a password.

        The data is stored in the zip archive:
        %s

        The individual file names are:
        %s

        You can pick up your data until: %s.

        Your parameters were:

        %s
        '''%(date, user_name,'ftp://' + ftp_server + ftp_dir, zip_file, files, str(pick_up_latest), dp)
        return subj, message_text
Esempio n. 2
0
 def test_defaults(self):
     #Test most general case:
     #convert all form aprameters to display
     key_order_list = None
     for app_name, params in self.test_params.iteritems():
         display_params = WRCCUtils.form_to_display_list(key_order_list, params)
         try:
             self.assertIsInstance(display_params, list)
         except AssertionError as err:
             logger.error('AssertionError' + str(err))
         try:
             self.assertNotEqual(display_params,[])
         except AssertionError as err:
             logger.error('AssertionError' + str(err))
         logger.info(display_params)
         for dp in display_params:
             try:
                 self.assertEqual(len(dp),2)
             except AssertionError as err:
                 logger.error('AssertionError' + str(err))