Como posso ver quais arquivos o Ubuntu One sincronizou? [duplicado]

4

Durante a sincronização, o Ubuntu One exibe uma notificação dizendo algo como "'filename.xxx' e outros 59 arquivos sendo enviados para sua nuvem pessoal." Como posso verificar quais são os outros (59) arquivos? Nenhum dos arquivos de log em .cache / ubuntuone / log parece registrar essas informações de uma maneira amigável .

Eu sei que eu poderia usar o u1sdtool para ver o que está sendo sincronizado em tempo real. Mas, no entanto, após a sincronização ter ocorrido, não há como saber o que aconteceu?

    
por Andreas J. 14.06.2012 / 15:49

1 resposta

4

Possivelmente, o local mais amigável ao usuário, onde este é (um pouco) exposto, é gnome-activity-journal . Você terá que cavar um pouco, mas pelo menos no nível do arquivo eles estão lá (pastas, no entanto, parecem estar faltando). Por exemplo, ontem eu criei uma nova pasta sincronizada com um monte de imagens, e as imagens aparecem em gnome-activity-journal da seguinte forma:

Uma maneira bastante amigável para o desenvolvedor de descobrir o que foi sincronizado é usar a API REST para consultar o servidor. Usando u1oauthrequest (que você pode encontrar no pacote ubuntuone-couch - não se preocupe, não depende do couchdb), e o documentação da API que você pode ler no site de desenvolvedores , é possível detalhar rapidamente o conteúdo sincronizado.

O log do syncdaemon contém as informações do que foi sincronizado (dependendo do seu nível de log, que é configurável), mas como você descobriu, você teria que escrever algo para extrair as informações que estava procurando. No entanto, o syncdaemon envia eventos para o zeitgeist, então você pode consultá-lo com algo como o seguinte:

from zeitgeist import client, datamodel
import gobject

def on_ev_recv(evs):
    for ev in evs:
        print ev.get_interpretation().encode('utf-8'),
        print ev.get_subjects()[0].get_origin().encode('utf-8')

mainloop = gobject.MainLoop()
client = client.ZeitgeistClient()

client.find_events_for_template(
    datamodel.Event.new_for_values(actor='dbus://com.ubuntuone.SyncDaemon.service'),
    on_ev_recv,
    result_type=datamodel.ResultType.MostRecentEvents,
    num_events=1000)

mainloop.run()
    
por Chipaca 14.06.2012 / 17:38