Blame progit/hooks/irc.py

Pierre-Yves Chibon 009d48
#-*- coding: utf-8 -*-
Pierre-Yves Chibon 009d48
Pierre-Yves Chibon 009d48
"""
Pierre-Yves Chibon 009d48
 (c) 2014 - Copyright Red Hat Inc
Pierre-Yves Chibon 009d48
Pierre-Yves Chibon 009d48
 Authors:
Pierre-Yves Chibon 009d48
   Pierre-Yves Chibon <pingou@pingoured.fr></pingou@pingoured.fr>
Pierre-Yves Chibon 009d48
Pierre-Yves Chibon 009d48
"""
Pierre-Yves Chibon 009d48
Pierre-Yves Chibon 009d48
from . import BaseHook
Pierre-Yves Chibon 009d48
Pierre-Yves Chibon 009d48
from flask.ext import wtf
Pierre-Yves Chibon 009d48
import wtforms
Pierre-Yves Chibon 009d48
Pierre-Yves Chibon 009d48
Pierre-Yves Chibon 009d48
class IrcForm(wtf.Form):
Pierre-Yves Chibon 009d48
    ''' Form to configure the irc hook. '''
Pierre-Yves Chibon 009d48
    server = wtforms.TextField(
Pierre-Yves Chibon 009d48
        'Server *',
Pierre-Yves Chibon 009d48
        [wtforms.validators.Required()]
Pierre-Yves Chibon 009d48
    )
Pierre-Yves Chibon 009d48
    port = wtforms.TextField(
Pierre-Yves Chibon 009d48
        'Port *',
Pierre-Yves Chibon 009d48
        [wtforms.validators.Required()]
Pierre-Yves Chibon 009d48
    )
Pierre-Yves Chibon 009d48
    room = wtforms.TextField(
Pierre-Yves Chibon 009d48
        'Room *',
Pierre-Yves Chibon 009d48
        [wtforms.validators.Required()]
Pierre-Yves Chibon 009d48
    )
Pierre-Yves Chibon 009d48
    nick = wtforms.TextField(
Pierre-Yves Chibon 009d48
        'Nick *',
Pierre-Yves Chibon 009d48
        [wtforms.validators.Required()]
Pierre-Yves Chibon 009d48
    )
Pierre-Yves Chibon 009d48
    nick_pass = wtforms.TextField(
Pierre-Yves Chibon 009d48
        'Nickserv Password *',
Pierre-Yves Chibon 009d48
        [wtforms.validators.Required()]
Pierre-Yves Chibon 009d48
    )
Pierre-Yves Chibon 009d48
Pierre-Yves Chibon 009d48
    active = wtforms.BooleanField(
Pierre-Yves Chibon 009d48
        'Acive',
Pierre-Yves Chibon 009d48
        [wtforms.validators.Required()]
Pierre-Yves Chibon 009d48
    )
Pierre-Yves Chibon 009d48
    join = wtforms.BooleanField(
Pierre-Yves Chibon 009d48
        'Message Without Join',
Pierre-Yves Chibon 009d48
        [wtforms.validators.Required()]
Pierre-Yves Chibon 009d48
    )
Pierre-Yves Chibon 009d48
    ssl = wtforms.BooleanField(
Pierre-Yves Chibon 009d48
        'Use SSL',
Pierre-Yves Chibon 009d48
        [wtforms.validators.Required()]
Pierre-Yves Chibon 009d48
    )
Pierre-Yves Chibon 009d48
Pierre-Yves Chibon 009d48
Pierre-Yves Chibon 009d48
class Hook(BaseHook):
Pierre-Yves Chibon 009d48
    ''' IRC hooks. '''
Pierre-Yves Chibon 009d48
Pierre-Yves Chibon 009d48
    name = 'IRC'
Pierre-Yves Chibon 009d48
    form = IrcForm()
Pierre-Yves Chibon 009d48
    form_fields = [
Pierre-Yves Chibon 009d48
        'server', 'port', 'room', 'nick', 'nick_pass', 'active', 'join',
Pierre-Yves Chibon 009d48
        'ssl'
Pierre-Yves Chibon 009d48
    ]