Я получил этот алгоритм для генерации MPTT из моей структуры папок: https://gist.github.com/unbracketed/946520MPTT Модификация
Найдена на GitHub и отлично работает для моих потребностей. В настоящее время у меня есть требование добавить к нему функциональность пропуска некоторых папок в дереве. Например, я хочу пропустить все в/under/tmp/A/B1/C2. Поэтому мое дерево не будет содержать ничего из C2 (включая C2).
Я не так бесполезно в Python, так что я создал, что запросы (и передается дополнительный список для работы):
def is_subdir(path, directory):
path = os.path.realpath(path)
directory = os.path.realpath(directory)
relative = os.path.relpath(path, directory)
return not relative.startswith(os.pardir + os.sep)
/Now we can add somewhere
for single in ignorelist:
if fsprocess.is_subdir(node,single):
Но мой вопрос куда приткнуть в функции? Я пробовал это сверху и в том случае, если возвращаюсь, но это выходит из всего моего приложения. Это повторяющийся вызов, поэтому я довольно потерян.
Любые полезные советы? Я пробовал использовать создателя скрипта на сайте github. Действительно хорошая работа с этим алгоритмом, избавит меня от времени и идеально подходит для наших требований к проекту.