Command Line Interface (CLI) reference

weblablib uses the Flask CLI feature to add commands.

You must run:

$ export FLASK_APP=example.py
$ flask weblab
Usage: flask weblab [OPTIONS] COMMAND [ARGS]...

  WebLab-Deusto related operations: initialize new sessions for development,
  run tasks, etc.

Options:
  --help  Show this message and exit.

Commands:
  clean-expired-users  Clean expired users.
  fake                 Fake user management.
  loop                 Run planned tasks and clean expired users,...
  run-tasks            Run planned tasks.

Running tasks and cleaning resources

There are three commands:

clean-expired-users

This command does not run in a loop, but simply clean expired users and exits. You can use cron or other tool to manage it.

$ flask weblab clean-expired-users --help
Usage: flask weblab clean-expired-users [OPTIONS]

  Clean expired users.

  By default, a set of threads will be doing this, but you can also run it
  manually and disable the threads.

Options:
  --help  Show this message and exit.

run-tasks

This command does not run in a loop, but simply runs the pending tasks and exits. You can use cron or other tool to manage it.

$ flask weblab run-tasks --help
Usage: flask weblab run-tasks [OPTIONS]

  Run planned tasks.

  By default, a set of threads will be doing this, but you can run the tasks
  manually in external processes.

Options:
  --help  Show this message and exit.

loop

This command does run in a loop.

$ flask weblab loop --help
Usage: flask weblab loop [OPTIONS]

  Run planned tasks and clean expired users, permanently.

Options:
  --threads INTEGER       Number of threads
  --reload / --no-reload  Reload as code changes. Defaults to whether the app
                          is in FLASK_DEBUG mode
  --help                  Show this message and exit.

Faking users without WebLab-Deusto

You can use weblablib without WebLab-Deusto for development purposes. To do so, you can use this command so as to fake certain situations. Note that you must be in charge of making the proper requests (e.g., you can call twice the new method; and that’s something that your laboratory might not support).

$ flask weblab fake --help
Usage: flask weblab fake [OPTIONS] COMMAND [ARGS]...

  Fake user management.

  With this interface, you can test your laboratory without WebLab-Deusto.
  It implements the same methods used by WebLab-Deusto (create new user,
  check status, kick out user), from a command line interface. The "new"
  command has several parameters for changing language, user name, etc.

Options:
  --help  Show this message and exit.

Commands:
  dispose  End a session of a fake user.
  new      Create a fake WebLab-Deusto user session.
  status   Check status of a fake user.

New user

You can fake WebLab-Deusto requesting the status of the current user. All these parameters have a default value. You can change them if you want (e.g., to test it in different languages, etc.).

$ flask weblab fake new --help
Usage: flask weblab fake new [OPTIONS]

  Create a fake WebLab-Deusto user session.

  This command creates a new user session and stores the session in disk, so
  you can use other commands to check its status or delete it.

Options:
  --name TEXT              First and last name
  --username TEXT          Username passed
  --username-unique TEXT   Unique username passed
  --assigned-time INTEGER  Time in seconds passed to the laboratory
  --back TEXT              URL to send the user back
  --locale TEXT            Language
  --experiment-name TEXT   Experiment name
  --category-name TEXT     Category name (of the experiment)
  --dont-open-browser      Do not open the fake user in a web browser
  --help                   Show this message and exit.

Check status

You can fake WebLab-Deusto requesting the status of the current user.

$ flask weblab fake status --help
Usage: flask weblab fake status [OPTIONS]

  Check status of a fake user.

  Once you create a user with flask "weblab fake new", you can use this
  command to simulate the status method of WebLab-Deusto and see what it
  would return.

Options:
  --help  Show this message and exit.

Delete user

You can fake WebLab-Deusto requesting to kick out the user.

$ flask weblab fake dispose --help
Usage: flask weblab fake dispose [OPTIONS]

  End a session of a fake user.

  Once you create a user with 'flask weblab fake new', you can use this
  command to simulate the dispose method of WebLab-Deusto to kill the
  current session.

Options:
  --help  Show this message and exit.