Criar árvore de diretórios a partir da API do dropbox

O que eu gostaria de fazer é construir uma árvore a partir da API do dropbox, para um determinado caminho, com links de compartilhamento para cada caminho, usando as ligações python.

Minha estrutura proposta é mais ou menos assim:

[
    {
        'path': '/a',
        'is_dir': True,
        'contents': [
            {
                'path': '/a/b',
                'is_dir': True,
                'contents': [etc]
            },
            {
                'path': '/a/readme.txt',
                'is_dir': False,
                'share_link': 'http://etc'
            }
        ]
    },
    etc.
]

Eu tenho algo que funciona principalmente usandometadata() mas é terrivelmente lento, pois precisa fazer uma chamada de API por diretório atravessado.

O que eu gostaria de usar édelta(), que receberá todos os arquivos em uma solicitação e depois construirá em uma árvore, mas estou tendo problemas para descobrir exatamente como, em particular, como analisar os caminhos em uma árvore.

Edit: E eu percebi que há uma chamada para cada link de compartilhamento, então eu vou omiti-los e obtê-los quando solicitado.

Aqui está um código que eu tenho para obter os dados necessários até agora:

paths = []

for path, metadata in client.delta(path_prefix='/whatever')['entries']:
    paths.append({
        'path': path,
        'is_dir': metadata['is_dir']
    })

Acho que estou tendo problemas para descobrir como aninhar esses caminhos. Tenho certeza de que preciso de uma função recursiva aqui, mas não consigo entender direito.

questionAnswers(1)

yourAnswerToTheQuestion