Como posso acessar os contatos e notas do UbuntuOne com o Python?

7

Eu quero usar o UbuntuOne no meu próprio aplicativo em Python. Eu quero acessar contatos e talvez armazenar outros dados. Mas não consegui encontrar nenhuma documentação ou exemplos (em Python). Como posso usar isso?

    
por burli 07.02.2011 / 17:51

2 respostas

12

Existem várias maneiras diferentes de trabalhar com seus dados do Ubuntu One, você ficará feliz em ouvir.

Se o seu aplicativo Python estiver sendo executado no Ubuntu

Os dados dos seus contatos são armazenados no Ubuntu One e também são sincronizados com a sua área de trabalho. Os dados de contatos estão disponíveis no sistema de armazenamento desktopcouch . Você pode encontrar mais informações sobre o na documentação do desktop. Haverá mais informações disponíveis nos próximos meses como parte do programa de desenvolvimento de aplicativos do Ubuntu One.

Um breve resumo: o desktopcouch é o seu CouchDB pessoal, rodando na sua área de trabalho do Ubuntu, e seus contatos são armazenados nele. Assim, você pode usar a biblioteca desktopcouch.records para obter acesso aos seus contatos:

from desktopcouch.records.server import CouchDatabase
CONTACT_RECORD_TYPE = 'http://www.freedesktop.org/wiki/Specifications/desktopcouch/contact'
db=CouchDatabase('contacts')
contact_names = []
for row in db.get_records(record_type=CONTACT_RECORD_TYPE):
    first_name = row.value.get('first_name', '')
    last_name = row.value.get('last_name', '')
    contact_names.append('%s %s' % (first_name, last_name))
print contact_names

Existem mais exemplos de como trabalhar com dados do desktop na página da documentação do desktop . O formato de dados para contatos é definido aqui .

Você pode criar outros bancos de dados de que gosta no desktop; simplesmente faça

db = CouchDatabase("my_new_db", create=True)

e, em seguida, trabalhe com esse banco de dados; seu novo banco de dados será sincronizado com sua nuvem pessoal e com todas as suas máquinas, e você poderá armazenar os dados que desejar.

Se o seu aplicativo Python não estiver sendo executado no Ubuntu, ou se você quiser acessar os dados diretamente no Ubuntu One

Seus dados são armazenados em seu próprio CouchDB pessoal na nuvem no Ubuntu One, bem como no desktop do seu desktop Ubuntu. Você pode acessá-lo diretamente em sua nuvem pessoal, se quiser. Você precisa estar familiarizado com o OAuth para isso. Primeiro, obtenha um token OAuth para o Ubuntu One; você pode fazer isso a partir de um desktop Ubuntu, olhando no chaveiro. Em seguida, o OAuth assina uma solicitação para o link que retornará alguns JSON, incluindo o seu "couchdb_root", que será semelhante a < href="https://couchdb.one.ubuntu.com/u/abc/efg/12345"> link .

Seu banco de dados de contatos na nuvem pessoal está disponível no link (é o seu couchdb_root com "contatos" no final, e / escapou para% 2F). Você pode então trabalhar com isso como com qualquer CouchDB, assinando o OAuth suas solicitações de curl para ele. O guia do CouchDB explica como trabalhar com o CouchDB sobre HTTP.

Trabalhar com notas é um pouco mais complicado: o armazenamento principal para notas é o aplicativo Tomboy. O Tomboy irá sincronizar suas anotações com o Ubuntu One, e elas estarão disponíveis em seu CouchDB na nuvem pessoal (um banco de dados chamado "notas"), e aquele banco de "anotações" também será sincronizado no desktopcouch. No entanto, se seu aplicativo estiver rodando no desktop Ubuntu, eu recomendo que você use a abrangente API D-Bus do Tomboy para trabalhar com suas anotações diretamente na fonte, em vez de editar as cópias do desktop e esperar que essas mudanças sejam sincronizadas para o Ubuntu One e depois para o Tomboy novamente! Este artigo da Ars Technica explica como para fazer isso, e a equipe do Tomboy é uma pessoa adorável que estará ansiosa para ajudar.

Nós (Ubuntu One) estamos construindo um programa de desenvolvimento de aplicativos para tornar ainda mais fácil responder a esse tipo de pergunta e fornecer orientação e documentação; Eu adoraria ouvir o que você está planejando fazer e como posso facilitar para você, então por favor me mande uma mensagem (stuart.langridge @ canonical.com, ou link ) se eu puder ajudar, ou postar mais perguntas ao askubuntu!

    
por sil 07.02.2011 / 19:25
0

Se você quiser ver um código de amostra que é executado no osx (embora seja de plataforma cruzada), consulte link - isto baixa / atualiza arquivos do ubuntu one e usa oauth etc. Ele ainda está nos estágios iniciais, mas demonstra o processo oauth, armazena seu token de acesso e, felizmente, baixa arquivos.

    
por ddimmich 05.10.2012 / 17:25