def return_config_options(self, mask_passwords=False): config_options = self._return_config_options() # Mask password config options if mask_passwords: helpers.mask_config_passwords(config_options) return config_options
def get_newsletter_config(newsletter_id=None, mask_passwords=False): if str(newsletter_id).isdigit(): newsletter_id = int(newsletter_id) else: logger.error( "Tautulli Newsletters :: Unable to retrieve newsletter config: invalid newsletter_id %s." % newsletter_id) return None db = database.MonitorDatabase() result = db.select_single('SELECT * FROM newsletters WHERE id = ?', args=[newsletter_id]) if not result: return None try: config = json.loads(result.pop('newsletter_config', '{}')) email_config = json.loads(result.pop('email_config', '{}')) subject = result.pop('subject') body = result.pop('body') message = result.pop('message') newsletter_agent = get_agent_class( newsletter_id=newsletter_id, newsletter_id_name=result['id_name'], agent_id=result['agent_id'], config=config, email_config=email_config, subject=subject, body=body, message=message) except Exception as e: logger.error( "Tautulli Newsletters :: Failed to get newsletter config options: %s." % e) return if mask_passwords: newsletter_agent.email_config = helpers.mask_config_passwords( newsletter_agent.email_config) result['subject'] = newsletter_agent.subject result['body'] = newsletter_agent.body result['message'] = newsletter_agent.message result['config'] = newsletter_agent.config result['email_config'] = newsletter_agent.email_config result['config_options'] = newsletter_agent.return_config_options( mask_passwords=mask_passwords) result[ 'email_config_options'] = newsletter_agent.return_email_config_options( mask_passwords=mask_passwords) return result