示例#1
0
    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
示例#2
0
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