controller

class zaguan.controller.WebContainerController

Bases: object

Clase base para los controladores de contenedores web. Controla la interaccion con el browser en ambas direcciones.

Variables:
  • processors (list) – lista de procesadores.
  • inspector (ZaguanInspector) – se instancia solo cuando se usa WebKit version 1.
__init__()

Constructor de la clase. Inicializa WebContainerController.processors con una lista vacía.

add_processor(url_word, instance=None)

Agrega un procesador al browser. Un procesador es una instancia de la funcion .Enlaza una URI con un BaseActionController para que desde el browser se pueda llamar a metodos de Python.

Parameters:url_word (str) – clave que linkea un
add_processor._inner(uri)

Procesa una URI y la divide en dos partes: el nombre del método y los datos (parámetros a pasar al metodo). Busca el método en una instancia de BaseActionController y si existe lo ejecuta.

Parameters:uri (str) – la URI a parsear.
Raises:NotImplementedError – excepcion que se lanza cuando el método que está llamando el browser no fué implementado en la instancia de BaseActionController.
get_browser(uri, settings=None, debug=False, webkit_version=None, debug_callback=None)

Obtiene el browser, el metodo para inyectar JS y la implementacion del wrapper de WebKit. Conecta el método WebContainerController.on_navigation_requested al evento resource-request-starting del browser, esto es para poder atender a nuevas peticiones de URI.

Parameters:
  • uri (str) – the URI of the HTML to open with the web view.
  • settings (list) – the settings send to webkit.
  • debug (boolean) – to indicate if it should output debug and add context menu and inspector.
  • webkit_version (int) – the webkit gtk version (1 or 2)
Returns:

el objeto WebView

Return type:

WebKit2.WebView

on_navigation_requested(webview, resource, request, *args)

Este es el método que se ejecuta cada vez que en el browser se pide cargar una URI. Llama a WebContainerController.process_uri() con la URI que obtiene de la request que se pasa como parametro.

Los argumentos cambian segun la version de WebKit:

process_uri(uri)

Por cada procesador registrado manda a procesar la URI.

Parameters:uri (str) – la URI a procesar.
send_command(command, data=None)

Inyecta la ejecucion de un comando en el browser.

Parameters:
  • command (str) – el comando a ejecutar en el browser.
  • data (any) – los datos que se envian como parametros del comando.
set_screen(screen, **kwargs)

Envia el comando ‘change_screep’ al broswer.

Parameters:
  • screen (str) – pantalla a la que se quiere cambiar.
  • kargs – otros argumentos