Построить дерево каталогов из Dropbox API

То, что я хотел бы сделать, - это построить дерево из API Dropbox для заданного пути, с общими ссылками для каждого пути, используя привязки Python.

Моя предложенная структура выглядит примерно так:

[
    {
        '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.
]

У меня есть то, что в основном работает с использованиемmetadata() но он ужасно медленный, так как ему нужно сделать вызов API для каждого пройденного каталога.

Вместо этого я бы хотел использоватьdelta(), который получит каждый файл в одном запросе, а затем соберет его в дерево, но у меня возникли проблемы с определением, как именно, в частности, как разобрать пути в дерево.

Изменить: И я понял, что есть вызов для каждой ссылки, поэтому я собираюсь пропустить их и просто получить их по запросу.

Вот код, который мне нужен, чтобы получить данные, которые мне нужны:

paths = []

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

Так что, думаю, у меня возникли проблемы с выяснением того, как эти пути вложены. Я уверен, что мне нужна рекурсивная функция, но не могу понять это.

Ответы на вопрос(1)

Ваш ответ на вопрос