No contesto tu pregunta pues no se, hay que probar.<br>Pero te paso algo del código de JAMTank que utiliza algunas cosas de presence service, puede que te sirva de algo.<br><br><b>PD:</b><br>Todavía no entiendo del todo ni DBus ni Thelaphy.<br>
<br><span style="color: rgb(153, 0, 0);"># ------ Inicio de Funciones de Presencia ----------</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">OLPC_SESSION_BUS = &quot;/tmp/olpc-session-bus&quot;</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">PRESENCE_SERVICE = &quot;org.laptop.Sugar.Presence&quot;</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">PRESENCE_PATH = &quot;/org/laptop/Sugar/Presence&quot;</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">PRESENCE_IFACE = &quot;org.laptop.Sugar.Presence&quot;</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">BUDDY_IFACE = &quot;org.laptop.Sugar.Presence.Buddy&quot;</span><br style="color: rgb(153, 0, 0);">
<br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">def get_bus():</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);"># sugar presence</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">    if os.path.exists(OLPC_SESSION_BUS):</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        address = &quot;unix:path=%s&quot; % OLPC_SESSION_BUS</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">        return dbus.bus.BusConnection(address_or_type=address)</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">    else:</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">        if len(sys.argv) != 2:</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">            sys.exit(1)</span><br style="color: rgb(153, 0, 0);"><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">        if &#39;DBUS_SESSION_BUS_ADDRESS&#39; in os.environ:</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">            del os.environ[&#39;DBUS_SESSION_BUS_ADDRESS&#39;]</span><br style="color: rgb(153, 0, 0);">
<br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        display = sys.argv[1]</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        os.environ[&#39;DISPLAY&#39;] = display</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">        return dbus.bus.BusConnection()</span><br><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">def get_Xos():</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);"># devuelve la ip y el nombre de todas las xo en la red</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);"># En realidad devuelve el nick de todas las xo, la ip local y las ip en la mesh de las demás xo</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        bus = get_bus()</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">        ps = bus.get_object(PRESENCE_SERVICE, PRESENCE_PATH)</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        ps_iface = dbus.Interface(ps, PRESENCE_IFACE)</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">    buddies = map(lambda b: bus.get_object(PRESENCE_SERVICE, b), ps_iface.GetBuddies())</span><br style="color: rgb(153, 0, 0);"><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">    xos = []</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">    for buddy in buddies:</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        buddy_iface = dbus.Interface(buddy, BUDDY_IFACE)</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">        try:</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">            props = buddy_iface.GetProperties()</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">            ip = &quot;%s&quot; % (props[&#39;ip4-address&#39;].encode(&#39;utf-8&#39;))</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">            nick = &quot;%s&quot; % (props[&#39;nick&#39;].encode(&#39;utf-8&#39;))</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">            xo = (ip, nick)</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">            xos.append(xo)</span><br style="color: rgb(153, 0, 0);"><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        except dbus.DBusException:</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">                pass</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">    return xos</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);"># ------ Fin de Funciones de Presencia ----------</span><br>
<br><br><br><br><br><div class="gmail_quote">El 1 de junio de 2011 13:50, Martin Giachino - INCO <span dir="ltr">&lt;<a href="mailto:giachino@fing.edu.uy">giachino@fing.edu.uy</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Gracias Daniel por la respuesta, creo que para el caso 1 me puede servir.<div><br></div><div>Para el caso 2 ya no depende de lo que yo tome, sino de la info que me está dando el dbus en esa interfaz de org.laptop.Sugar.Presence.</div>


<div><br></div><div>Martín</div><div><br><br><div class="gmail_quote">El 1 de junio de 2011 13:37, Daniel Castelo <span dir="ltr">&lt;<a href="mailto:dcastelo@plan.ceibal.edu.uy" target="_blank">dcastelo@plan.ceibal.edu.uy</a>&gt;</span> escribió:<div>
<div></div><div class="h5"><br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">No se viene el caso, pero si queres algo único en la XO podes leer el numero de serie<br>/ofw/serial-number<br>
<br>Saludos<br>

<br><div class="gmail_quote"><div><div></div><div>2011/6/1 Martin Giachino - INCO <span dir="ltr">&lt;<a href="mailto:giachino@fing.edu.uy" target="_blank">giachino@fing.edu.uy</a>&gt;</span><br>
</div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div>Hola, un par de dudas que quizás alguien me pueda confirmar....<div>


<br></div><div>- el comando hostname retorna un string, como por ejemplo: &quot;xo-2B-A1-F5....&quot;, que supongo que no debe ser casualidad, ya que coincide con los últimos 3 octetos de la MAC address. ¿Es correcto entonces considerar esto como un dato único por cada XO?</div>






<div><br></div><div>2 - Referido a conocer cuantos y a cuales vecinos estoy conectado, accedo por el dbus a la interfaz org.laptop.Sugar.Presence y ahí obtengo por ejemplo:</div><div><br></div><div><div>/org/laptop/Sugar/Presence/Buddies/keyid/bae7b305fa7b5989e71adab54459083947a32514</div>





<div>/org/laptop/Sugar/Presence/Buddies/keyid/e852b8318dbbe2a3b0258ea2ab3311c6b0dd10a5</div></div><div><br></div><div>Uno de estos dos identificadores corresponde a otra XO con la que estoy probando, que cuando la apago desaparece esa info, y cuando la vuelvo a conectar al mesh aparece nuevamente. En ambos casos el keyid con el que aparece esa otra XO fue el mismo, entonces la pregunta es, ¿eso es casualidad o puedo tomarlo como un dato de que siempre que aparezca esa XO la veré con el mismo keyid?</div>





<div><br></div><div><br></div><div>Gracias</div><div>Martín</div>
<br></div></div>_______________________________________________<br>
Olpc-uruguay mailing list<br>
<a href="mailto:Olpc-uruguay@lists.laptop.org" target="_blank">Olpc-uruguay@lists.laptop.org</a><br>
<a href="http://lists.laptop.org/listinfo/olpc-uruguay" target="_blank">http://lists.laptop.org/listinfo/olpc-uruguay</a><br>
<br></blockquote></div><font color="#888888"><br><br clear="all"><br>-- <br>Ing. Daniel Castelo<br>Plan Ceibal - Área Técnica<br>Avda. Italia 6201<br>Montevideo - Uruguay.<br>Tel.: 2 601 57 73 Interno 2228<br>E-mail : <a href="mailto:dcastelo@plan.ceibal.edu.uy" target="_blank">dcastelo@plan.ceibal.edu.uy</a><br>




</font></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
Olpc-uruguay mailing list<br>
<a href="mailto:Olpc-uruguay@lists.laptop.org">Olpc-uruguay@lists.laptop.org</a><br>
<a href="http://lists.laptop.org/listinfo/olpc-uruguay" target="_blank">http://lists.laptop.org/listinfo/olpc-uruguay</a><br>
<br></blockquote></div><br>