human
Complete the below
def email_channel():

    ''''RESTful CRUD controller for Inbound Email channels
    - appears in the administration menu'
    '''
 Can you provide a the Python program you requested?
assistant
#Here is the Python program you requested.
    if (not auth.s3_has_role(ADMIN)):
        auth.permission.fail()
    tablename = 'msg_email_channel'
    table = s3db[tablename]
    table.server.label = T('Server')
    table.protocol.label = T('Protocol')
    table.use_ssl.label = 'SSL'
    table.port.label = T('Port')
    table.username.label = T('Username')
    table.password.label = T('Password')
    table.delete_from_server.label = T('Delete    from    Server?')
    table.port.comment = DIV(_class='tooltip', _title=('%s|%s' % (T('Port'), T('For    POP-3    this    is    usually    110    (995    for    SSL),    for    IMAP    this    is    usually    143    (993    for    IMAP).'))))
    table.delete_from_server.comment = DIV(_class='tooltip', _title=('%s|%s' % (T('Delete'), T('If    this    is    set    to    True    then    mails    will    be    deleted    from    the    server    after    downloading.'))))
    s3.crud_strings[tablename] = Storage(title_display=T('Email    Settings'), title_list=T('Email    Accounts'), label_create=T('Create    Email    Account'), title_update=T('Edit    Email    Settings'), label_list_button=T('View    Email    Accounts'), msg_record_created=T('Account    added'), msg_record_deleted=T('Email    Account    deleted'), msg_list_empty=T('No    Accounts    currently    defined'), msg_record_modified=T('Email    Settings    updated'))
    def postp(r, output):
        if r.interactive:
            s3_action_buttons(r)
            table = r.table
            query = (table.deleted == False)
            rows = db(query).select(table.id, table.enabled)
            restrict_e = [str(row.id) for row in rows if (not row.enabled)]
            restrict_d = [str(row.id) for row in rows if row.enabled]
            from s3 import s3_str
            s3.actions += [dict(label=s3_str(T('Enable')), _class='action-btn', url=URL(args=['[id]', 'enable']), restrict=restrict_e), dict(label=s3_str(T('Disable')), _class='action-btn', url=URL(args=['[id]', 'disable']), restrict=restrict_d)]
            if (not s3task._is_alive()):
         ...