Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Haciendo una aplicación única con python y DBUS

Lo bus­qué en google y siem­pre en­cuen­tro la mis­ma res­pues­ta, "u­sá dbus, tra­tá de to­mar el nom­bre, si ya exis­te, en­ton­ces hay una co­pia co­rrien­do­".

Lo que no pu­de en­con­trar es un ejem­plo que fun­cio­ne de es­to, o al me­nos no un ejem­plo con­ve­nien­te­men­te eti­que­ta­do "a­sí es co­mo se ha­ce una apli­ca­ción úni­ca usan­do DBUS y py­tho­n".

Así que, así es co­mo se ha­ce una apli­ca­ción úni­ca usan­do DBUS y py­tho­n:

Su­po­nien­do que tu apli­ca­ción se lla­ma uR­S­Sus (la mía se lla­ma así):

session_bus = dbus.SessionBus()
try:
    session_bus.get_object("org.urssus.service", "/uRSSus")
    # Esta es la segunda copia, hacer que se vea la primera
    # TODO: implementar
except dbus.DBusException: # No hay otra copia corriendo
    # Esto 'toma' el nombre DBUS
    name = dbus.service.BusName("org.urssus.service", bus=session_bus)
    # Ahora, empezá la aplicación:
    window=MainWindow()
    object = UrssusServer(window,name)
    :
    :
    :
    etc, etc

Y eso es to­do. No, no es di­fí­ci­l, pe­ro co­mo la do­cu­men­ta­ción de DBUS es... o me­jor di­cho co­mo la do­cu­men­ta­ción de DBUS no es, ca­da co­si­ta pue­de ayu­da­r.

Yo sabía que no tenía que hacerlo, o como HTML5 y Qt hacen mi trabajo.

Des­de ha­ce un tiem­po quie­ro que ten­ga so­por­te de po­dcas­ts. El asun­to es que ... siem­pre me pa­re­ció mu­cho tra­ba­jo. Se­gu­ro, usan­do pho­non pue­do crear un re­pro­duc­tor de au­dio y eso, pe­ro­...

Es­toy usan­do un wi­dget HT­ML pa­ra mos­trar los pos­ts, así que ten­dría que en­con­trar una for­ma de agre­gar el re­pro­duc­tor a la in­ter­fa­ce y... mu­cho tra­ba­jo.

Hoy me des­per­té y pen­sé... es­pe­rá... El wi­dget HT­ML de Qt es­tá ba­sa­do en We­bki­t. Y we­bkit so­por­ta HT­M­L5. Y HT­M­L5 tie­ne un tag "au­dio­".

En­ton­ce­s, si hi­cie­ra que uR­S­Sus ba­ja­ra los li­nks de los en­clo­su­res, y los agre­ga­ra a la ba­se de da­to­s, y agre­go es­to al tem­pla­te de pos­t:

<?py for enclosure in  post.enclosures: ?>
  <audio autobuffer="Yes" controls="controls" src=#{enclosure.href}></audio><br>
<?py #end ?>

Eso no fun­cio­na­ría? Bue­no, sí!

urssus26

Y ahí es­tá, yo te­nia ra­zón en no im­ple­men­tar­lo, por­que la for­ma fá­cil de ha­cer­lo es de­jar que Qt lo ha­ga ;-)

Rant: Ser molesto no me va a hacer cliente

Si sos clien­te de Fi­ber­te­l: Si de­cís que que­rés can­ce­lar el ser­vi­cio por­que otro pro­vee­dor es más ba­ra­to, te van a lla­mar pa­ra ofre­cer­te pro­mo­cio­nes. Em­pie­zan ofre­cien­do 1M­bps en vez de 3. Si de­cís que no, te van a ofre­cer 3M­bps por un año por $79. Si de­cís que no, te ofre­cen 3 me­ses gra­tis.

Eso son $600 de aho­rro, así que si que­rés se­guir sien­do clien­te de Fi­ber­te­l, ha­cé­lo y sa­cá­les su di­ne­ro.

A con­ti­nua­ció­n, mi ex­pe­rien­cia tra­tan­do de de­jar de ser­lo.

He si­do clien­te de Fi­ber­tel pa­ra mi co­ne­xión a in­ter­net por va­rios año­s. Su ser­vi­cio no es ma­lo, aun­que en el pa­sa­do tu­ve al­gu­nos pro­ble­ma­s.

Sin em­bar­go, ha­ce un mes de­ci­dí cam­biar a otro pro­vee­dor por una muy bue­na ra­zó­n: Es mu­cho mu­cho mu­cho más ba­ra­to 1

Co­mo no soy idio­ta, can­ce­lé tar­de con Fi­ber­te­l, pa­ra te­ner un mes com­ple­to de los dos se­vi­cio­s. Pen­sé, bue­no, si el pro­vee­dor nue­vo no sir­ve vuel­vo 2

Lo que pa­só des­de en­ton­ces ha si­do ca­da vez más mo­les­to.

Pri­me­ro Fi­ber­tel lla­mó al ti­tu­lar del ser­vi­cio (no soy yo­). Eso es ra­zo­na­ble.

En­ton­ces me lla­ma­ron a mí pa­ra pre­gun­tar­me por­qué can­ce­la­ba. Ex­pli­qué que el otro ser­vi­cio (to­man­do to­do en cuen­ta) es un 75% más ba­ra­to pa­ra el mis­mo an­cho de ban­da. Eso tam­bién es ra­zo­na­ble.

Lo que fué ca­da vez me­nos y me­nos ra­zo­na­ble fue­ron las 5 lla­ma­das si­guien­tes, ca­da vez ofre­cien­do ser­vi­cio más ba­ra­to, pe­ro aún más ca­ro que mi nue­vo ser­vi­cio.

Lo que no fué ra­zo­na­ble es qu em­pe­za­ran a de­cir­me pa­va­das y men­ti­ras "téc­ni­ca­s" pa­ra asus­tar­me y que vuel­va con ello­s.

Lo que es de­ci­di­da­men­te po­co ra­zo­na­ble es que me lla­men 6 ve­ce­s, aún des­pués de que les di­je que de­ja­ran de lla­mar en la ter­ce­ra.

Lo que es in­creí­ble­men­te es­tú­pi­do y mo­les­to es que de­ci­die­ran blo­quear mi ac­ce­so a in­ter­net pa­ra mos­trar­me un avi­so de las mis­mas ofer­tas que ya ha­bía re­cha­za­do y que has­ta que hi­cie­ra cli­ck en el avi­so no pue­da usar In­ter­ne­t.

Lo que es lo­co es que por­que ten­go un ac­ce­ss point no pu­de ver el avi­so, y es­tu­ve sin in­ter­net has­ta que:

  • Sa­­qué el ac­­ce­ss point

  • En­­gan­­ché mi no­­­te­­book al ca­­ble mo­­­dem

  • Me re­­cha­­zó

  • En­­gan­­ché de nue­­vo el AP

  • Sa­­qué la MAC del AP

  • Fa­l­­seé la MAC de mi no­­­te­­book

  • Hi­­ce cli­­ck en los ma­l­­di­­tos avi­­sos

  • Co­­­ne­c­­té el AP de nue­­vo

  • Vo­l­­ví mi MAC a la real

O sea, per­dí una ho­ra.

En­ton­ce­s, que­ri­do Fi­ber­te­l... tu com­pa­ñía tam­bién pro­vee TV por ca­ble. Es­toy eno­ja­do con ud­s. He de­ci­di­do com­prar ser­vi­cio de Di­rec­TV ex­clu­si­va­men­te por bron­ca ha­cia Ud­s.

Sí. Yo, que les ven­go pa­gan­so $230 al mes des­de ha­ce año­s, les voy a pa­gar $0 el mes que vie­ne. Po­drían ha­ber si­do $100 pe­ro no, tu­vie­ron que ser mo­les­to­s. No me po­dían de­jar ir. Bue­no, no me gus­ta que me aga­rren. No me gus­ta que ac­túen co­mo un ado­les­cen­te ena­mo­ra­do 3

Fi­ber­te­l: me caían bien. Aho­ra opino que son cual­quier co­sa.

1

$130 al mes contra $79 al mes por el mis­mo an­cho de ban­d­s, que ade­más in­clu­ye te­lé­fono con lla­ma­das lo­ca­les gra­tis.

2

Co­mo to­da­vía pue­de ser una por­que­ría no di­go quié­nes so­n, to­da­vía no se ga­na­ron que les ha­ga pro­pa­gan­da.

3

Que­rés salir el sá­ba­do? Va­mos al ci­ne a ver la de los vam­pi­ro­s? No? Va­mos a Sun­se­t? Te pa­so a bus­ca­r? Le pi­do el au­to a mi vie­jo! Pa­go yo los tra­go­s! Fi­ber­te­l: así sue­nan.


Contents © 2000-2020 Roberto Alsina