Como uso o módulo do Discoverer com o pygi GstPbutils?

3

Estou tentando portar alguns pygtk music player code para pygi que usa o módulo de descobridor do gst.

from gi.repository import Gst, GstPbutils

def on_discovered(discoverer, ismedia):
    print("%s -- %s" %( discoverer.tags.get('title', 'Unknown'),
                        discoverer.tags.get('artist', 'Unknown')))

Gst.init(None)
location = "file:///srv/Music/molly_hatchet-the_creeper.mp3"
discoverer = GstPbutils.Discoverer()
discoverer.discover_uri(location)
discoverer.connect('discovered', on_discovered)

Quando tento executar isso, recebo o seguinte erro:

/usr/lib/python2.7/dist-packages/gi/types.py:43: Warning: g_object_get_qdata: assertion 'G_IS_OBJECT (object)' failed
  return info.invoke(*args, **kwargs)
/usr/lib/python2.7/dist-packages/gi/types.py:43: Warning: g_object_ref_sink: assertion 'G_IS_OBJECT (object)' failed
  return info.invoke(*args, **kwargs)

** (python:21482): CRITICAL **: pygobject_register_wrapper: assertion 'PyObject_TypeCheck(self, &PyGObject_Type)' failed
/usr/lib/python2.7/dist-packages/gi/types.py:43: Warning: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
  return info.invoke(*args, **kwargs)

Infelizmente a documentação deste módulo pygi parece um pouco esparsa.

Por enquanto eu voltei ao pygtk, mas eu adoraria saber como fazer isso funcionar com o pygi, já que esse é o caminho para o Ubuntu.

    
por Bryce 05.07.2012 / 05:33

1 resposta

0

O erro MSG indica "python 2.7", mas você está importando os módulos python3. Certifique-se de usar algo como

#!/usr/bin/env python3

No topo do seu script, ou invoque-o com python3 explicitamente. Lembre-se, parece haver um problema com os GstPbutils do python3 também : (

    
por yPhil 28.06.2016 / 05:10

Tags