Atravessando a listagem de FTP

Eu estou tentando obter o nome de todos os diretórios de um servidor FTP e armazená-los em ordem hierárquica em uma lista multidimensional ou dit

Por exemplo, um servidor que contém a seguinte estrutura:

/www/
    mysite.com
        images
            png
            jpg

no final do roteiro, me daria uma lista como

['/www/'
  ['mysite.com'
    ['images'
      ['png'],
      ['jpg']
    ]
  ]
]

Eu tentei usar uma função recursiva da seguinte forma: def traverse (dir): FTP.dir (dir, traverse)

FTP.dir retorna linhas neste formato:

drwxr-xr-x    5 leavesc1 leavesc1     4096 Nov 29 20:52 mysite.com

assim fazendo linha [56:] vai me dar apenas o nome do diretório (mysite.com). Eu uso isso na função recursiva.

Mas eu não posso fazê-lo funcionar. Eu tentei muitas abordagens diferentes e não consigo fazê-lo funcionar. Muitos erros de FTP também (ou não é possível encontrar o diretório - o que é um problema lógico e, às vezes, erros inesperados retornados pelo servidor, o que não deixa nenhum log e eu não posso depurar)

questão final: Como obter uma lista de diretórios hierárquicos de um servidor FTP?

questionAnswers(5)

yourAnswerToTheQuestion