Como criar um GLib.TimeVal de timestamp?

1

Eu tenho um valor como 'timestamp' abaixo, onde os últimos três dígitos correspondem a milissegundos.

timestamp = 1340830988768

Atualmente tenho código parecido com o seguinte:

import indicate
indicator = indicate.Indicator()
indicator.set_property_time("time", int(timestamp[:-3]))

Quero alterá-lo para usar:

from gi.repository import Indicate
indicator = Indicate.Indicator()

No entanto, a nova versão de set_property_time exige que o segundo parâmetro seja um GLib.TimeVal . Como faço para criar um GLib.TimeVal do meu timestamp? A precisão de milissegundos não é importante para este aplicativo.

    
por 8128 03.07.2012 / 10:27

1 resposta

1

Isso é o que eu criei, talvez seja de alguma ajuda:

>>> from gi.repository import GLib, Indicate
>>> timestamp = '1340830988768'
>>> indicator = Indicate.Indicator()
>>> timeval = GLib.TimeVal()
>>> timeval.tv_sec = int(timestamp[:-3])
>>> indicator.set_property_time("time", timeval)
>>>

Observe esta seção no manual de referência do GLib :

  

O GLib está tentando se unificar em torno do uso de inteiros de 64 bits para representar o tempo de precisão de microssegundos. Dessa forma, esse tipo será removido de uma versão futura do GLib.

    
por Timo 03.07.2012 / 13:10