¿Cómo pasar los argumentos {sv} a gdbus?

Tengo problemas para pasar los argumentos de la función en un formato de diccionario (cadena, variante); Intento ejecutar un screencast en gnome y para iniciar la función necesito pasar estos asrguments:

-method name="Screencast"- -arg type="s" direction="in" name="file_template"/- -arg type="a{sv}" direction="in" name="options"/- -arg type="b" direction="in" name="flash"/- -arg type="b" direction="out" name="success"/- -arg type="s" direction="out" name="filename_used"/- -/method- 

esta es mi llamada

 ~$ gdbus call --session --dest org.gnome.Shell.Screencast --object-path /org/gnome/Shell/Screencast --method org.gnome.Shell.Screencast.Screencast "test_ %d_ %t.webm" {dict:string:variant:"draw-cursor",true,"framerate",35,pipeline,"vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux"} 

esta es la salida rror: “a {sv}”: 0-33: no se puede analizar como valor de tipo ‘a {sv}’. error esta en la syntax? Gracias

a {sv} debe representarse como:

 "{'String': <'variant_value'>, 'String2': <'variant_value'>}" 

Para resolver esto, llamé a org.freedesktop.DBus.Properties.GetAll en alguna interfaz de objeto porque eso devuelve un {sv}.

Por ejemplo, el método CreateInterface en wpa_supplicant toma un {sv}:

 gdbus call -y -d fi.w1.wpa_supplicant1 -o /fi/w1/wpa_supplicant1 -m fi.w1.wpa_supplicant1.CreateInterface "{'Ifname': <'wlan0'>}" 

o para agregar múltiples interfaces (una verdadera matriz de cadena: variante):

 "{'Ifname': <'wlan0'>, 'Ifname': <'wlan1'>}"