HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/klausurenweb/aaw/callbacks.py
import streamlit as st
from .mysession import session
from .globals import STRINGS


def go_home(keep_state=False):
    session.clear()
    session.update('current_page', 'home')

    if not keep_state:
        session.update('feedback', None)
        session.update('title', None)
        session.update("user_args", dict())
        session.update("input_type", None)


def go_input_type():
    # Check if there is a new title entered
    title_tmp = session.get('title_tmp')

    # If so, update title
    if title_tmp:
        session.update('title', title_tmp)

    # Verify there is a title set
    title = session.get('title')
    if title is None or title == '':
        st.error(STRINGS["ERROR_TITLE_MISSING"])
        return

    # Set all further variables
    user_args = dict(
        article=session.get('article'),
        school=session.get('school'),
        year=session.get('year'),
        state=session.get('state')
    )

    # Save all new values
    session.clear()
    session.update('title', title)
    session.update("user_args", user_args)
    # session.update('current_page', 'input_type')
    session.update('current_page', 'input_text')


def choose_input_type():
    tmp_input_type = session.get("tmp_input_type")
    if tmp_input_type:
        session.update('input_type', tmp_input_type)

    input_type = session.get("input_type")

    # Save all new values
    session.clear()
    session.update('input_type', input_type)
    if input_type == STRINGS["INPUT_TYPE_PICTURE"]:
        session.update('current_page', 'upload_image')
    elif input_type == STRINGS["INPUT_TYPE_TEXT"]:
        session.update('current_page', 'input_text')
    else:
        print(input_type)
        raise NotImplementedError()


def submit_essay(essay=None, task=None):
    # Verify there is a title set
    if essay is None or essay == '':
        if not session.get("text"):
            print("really no essay")
            st.error("Aufsatz fehlt.")
            return

    if essay:
        session.update('text', essay)
        session.update("task", task)
        session.update("new_feedback", True)

    else:
        session.update("new_feedback", False)

    session.clear()
    session.update('current_page', 'feedback')


def go_modify_text():
    session.clear()
    session.update('current_page', 'modify_text')