view data/plugin/action/submit_bbb_join_meeting.py @ 606:7909cd319ce8

bbb: bug fix for parser lookup by extensions. We check now if bigbluebutton lib is installed.
author Reimar Bauer <rb.proj AT googlemail DOT com>
date Fri, 22 Jun 2012 19:21:46 +0200
parents 50f81f786081
children 127da830be6c
line wrap: on
line source
# -*- coding: utf-8 -*-
"""
    MoinMoin - Create Meeting for bigbluebutton (http://www.bigbluebutton.org/)

    @copyright: 2012 MoinMoin:ReimarBauer
    @license: GNU GPL, see COPYING for details.
"""
import urllib
from MoinMoin.Page import Page
# pip install bigbluebutton
try:
    from bigbluebutton import Meeting
except ImportError:
    Meeting = None
try:    
    import bbb_settings
except ImportError:
    bbb_settings = None


def execute(pagename, request):
    """
    Lets a user join a bigbluebutton meeting.  On same directory as wikiconfig.py you need
    a "bbb_settings.py" module with the SALT and the BBB_API_URL.

    Example Call by using http://moinmo.in/MacroMarket/FormCreate

    <<FormHeader(submit_bbb_join_meeting)>>
    || Meeting ID || <<FormText(meeting_id,maxlength=50)>> ||
    || Name: || <<FormText(name,maxlength=50)>> ||
    || Password: || <<FormText(password,maxlength=50)>> ||
    ||<-2:> <<FormSubmit(Send)>> ||
    <<FormFooter()>>
    """
    if Meeting is None or bbb_settings is None:
        msg, state = ("bigbluebutton module not installed or bbb_settings missing!", "error")
        request.theme.add_msg(msg, state)
        Page(request, pagename).send_page()
        return

    _ = request.getText
    meeting = Meeting(bbb_settings.BBB_API_URL, bbb_settings.SALT)
    url = meeting.join_url(request.form["meeting_id"], request.form["name"], request.form["password"])
    request.http_redirect(url)

    request.theme.add_msg('OK', 'info')
    Page(request, pagename).send_page()