Пример #1
0
def presentation_start():
    """
    Method for python flask, to set path for starting presentation page of the web frontend
    here, you can start presentation of the former uploaded files. login required
    """
    if not current_user.is_lecturer():
        flash("Zugriff nicht moeglich, bitte melden Sie sich an.", "danger")
        return redirect(url_for("index"))

    # stop all previous presentations
    presentation.stop()

    # get content of the form
    form = PresentationControlForm(request.form)

    # get file_name and file_extension
    file_name = os.path.join(get_upload_folder(), form.param.data)
    file_extension = str(os.path.splitext(file_name)[1]).lower()

    # when the file exists start the matching presentation
    if os.path.isfile(file_name):
        # start pdf presentation
        if file_extension == ".pdf":
            res = presentation.pdf.start_presentation(get_upload_folder(), form.param.data)
            if res:
                return redirect(url_for("presentation_pdf"))
        # start video presentation
        elif file_extension == ".avi" or file_extension == ".mp4":
            res = presentation.video.start_presentation(get_upload_folder(), form.param.data)
            if res:
                return redirect(url_for("presentation_video"))
        return redirect(url_for("index"))
    else:
        return redirect(url_for("index"))
Пример #2
0
def presentation_video_control():
    """
    Method for python flask, to set path for presenting video page of the web frontend
    each document type has its own needs of control buttons. login required
    """
    if not current_user.is_lecturer():
        flash("Zugriff nicht moeglich, bitte melden Sie sich an.", "danger")
        return redirect(url_for("index"))

    form = PresentationControlForm(request.form)
    if presentation.video.is_active():
        # Stop the Presentation
        if form.action.data == "stop":
            presentation.stop()
            return redirect(url_for("index"))
        elif form.action.data == "play_pause":
            presentation.video.toggle_play()
        elif form.action.data == "volume_up":
            presentation.video.volume_up()
        elif form.action.data == "volume_down":
            presentation.video.volume_down()
        elif form.action.data == "jump_further":
            presentation.video.jump_further()
        elif form.action.data == "jump_back":
            presentation.video.jump_back()
    return redirect(url_for("presentation_video"))
Пример #3
0
def voip_control():
    if not current_user.is_lecturer():
        flash("Zugriff nicht moeglich, bitte melden Sie sich an.", "danger")
        return redirect(url_for("index"))

    form = PresentationControlForm(request.form)
    presentation.stop()
    presentation.voip.start_voip(form.param.data)

    return redirect(url_for("index"))
Пример #4
0
def logout():
    """
    Method for flask login, to handle logout for the web frontend
    """
    # if the user was a lecturer stop all presentations
    if current_user.is_lecturer():
        presentation.stop()
    # logout the user
    user_database.logout_user(current_user.id)
    logout_user()
    flash("Logout erfolgreich", "success")
    return redirect(url_for("index"))
Пример #5
0
def upload_file():
    """
    Method for python flask, to set path for upload page of the web frontend;
    one can upload files for presentation. login required
    """
    if not current_user.is_lecturer():
        flash("Zugriff nicht moeglich, bitte melden Sie sich an.", "danger")
        return redirect(url_for("index"))

    file_obj = request.files['file']
    if file_obj and allowed_file(file_obj.filename):
        filename = secure_filename(file_obj.filename)
        file_obj.save(os.path.join(get_upload_folder(), filename))
        return redirect(url_for("index"))
Пример #6
0
def presentation_video():
    """
    Method for python flask, to set path for presenting video page of the web frontend
    login required
    """
    if not current_user.is_lecturer():
        flash("Zugriff nicht moeglich, bitte melden Sie sich an.", "danger")
        return redirect(url_for("index"))

    if not presentation.video.is_active():
        return redirect(url_for("index"))

    return render_template("presentation/presentation_video.html",
                           current_file=presentation.video.filename,
                           active=presentation.video.is_active())
Пример #7
0
def projector_control():
    """
    Method for python flask, to set path for settings page of the web frontend
    """
    if not current_user.is_lecturer():
        flash("Zugriff nicht moeglich, bitte melden Sie sich an.", "danger")
        return redirect(url_for("index"))

    form = ProjectorControlForm(request.form)
    if form.action.data == "power_on":
        projector.power_on()
    elif form.action.data == "power_off":
        projector.power_off()
    elif form.action.data == "mute_on":
        projector.mute_on()
    elif form.action.data == "mute_off":
        projector.mute_off()

    return redirect(url_for("index"))
Пример #8
0
def connections_control():
    """
    Method for python flask, to set path for connection control page of the web frontend;
    one needs to be logged in, to get access. Here the user_list can be managed
    """
    if not current_user.is_lecturer():
        flash("Zugriff nicht moeglich, bitte melden Sie sich an.", "danger")
        return redirect(url_for("index"))

    form = ConnectionControlForm(request.form)
    if form.action.data == "start":
        presentation.stop()
        result = presentation.vnc.start_connection(form.param.data, "5900")
        if result:
            flash("Verbindung wird aufgebaut", "success")
        else:
            flash("Fehler beim Verbindungsaufbau", "danger")
    elif form.action.data == "stop":
        presentation.stop()
    return redirect(url_for("index"))
Пример #9
0
def presentation_pdf_control():
    """
    Method for python flask, to set path for presenting pdf page of the web frontend
    each document type has its own needs of control buttons. login required
    """
    if not current_user.is_lecturer():
        flash("Zugriff nicht moeglich, bitte melden Sie sich an.", "danger")
        return redirect(url_for("index"))

    form = PresentationControlForm(request.form)
    if presentation.pdf.is_active():
        # Stop the Presentation
        if form.action.data == "stop":
            presentation.stop()
            return redirect(url_for("index"))
        elif form.action.data == "next":
            presentation.pdf.next_page()
        elif form.action.data == "previous":
            presentation.pdf.previous_page()
        elif form.action.data == "go_to_page":
            presentation.pdf.go_to_page(form.param.data)
    return redirect(url_for("presentation_pdf"))