def describe_directory(self, path):
conn = self.get_conn()<EOL>conn.cwd(path)<EOL>try:<EOL><INDENT>files = dict(conn.mlsd())<EOL><DEDENT>except AttributeError:<EOL><INDENT>files = dict(mlsd(conn))<EOL><DEDENT>return files<EOL>
Returns a dictionary of {filename: {attributes}} for all files
on the remote system (where the MLSD command is supported).

:param path: full path to the remote directory
:type path: str