From a55efb3b6fe8c386a01b7fe7e9cf91d455fb4b7a Mon Sep 17 00:00:00 2001 From: Giampaolo Rodola' Date: Sat, 7 May 2011 16:06:59 +0200 Subject: #11072- applying http://bugs.python.org/review/11072/show suggestions --- Doc/library/ftplib.rst | 16 ++++++++-------- Lib/test/test_ftplib.py | 11 +++++++---- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/Doc/library/ftplib.rst b/Doc/library/ftplib.rst index 2696549..f4205f4 100644 --- a/Doc/library/ftplib.rst +++ b/Doc/library/ftplib.rst @@ -322,13 +322,13 @@ followed by ``lines`` for the text version or ``binary`` for the binary version. .. method:: FTP.mlsd(path="", facts=[]) List a directory in a standardized format by using MLSD command - (:rfc:`3659`). If *path* is omitted the current directory is assumed. + (:rfc:`3659`). If *path* is omitted the current directory is assumed. *facts* is a list of strings representing the type of information desired - (e.g. *["type", "size", "perm"]*). Return a generator object yielding a - tuple of two elements for every file found in path. First element is the - file name, the second one is a dictionary including a variable number of - "facts" depending on the server and whether *facts* argument has been - provided. + (e.g. ``["type", "size", "perm"]``). Return a generator object yielding a + tuple of two elements for every file found in path. First element is the + file name, the second one is a dictionary containing facts about the file + name. Content of this dictionary might be limited by the *facts* argument + but server is not guaranteed to return all requested facts. .. versionadded:: 3.3 @@ -340,7 +340,7 @@ followed by ``lines`` for the text version or ``binary`` for the binary version. directory). Multiple arguments can be used to pass non-standard options to the ``NLST`` command. - .. deprecated:: 3.3 use :meth:`mlsd` instead + .. deprecated:: 3.3 use :meth:`mlsd` instead. .. method:: FTP.dir(argument[, ...]) @@ -352,7 +352,7 @@ followed by ``lines`` for the text version or ``binary`` for the binary version. as a *callback* function as for :meth:`retrlines`; the default prints to ``sys.stdout``. This method returns ``None``. - .. deprecated:: 3.3 use :meth:`mlsd` instead + .. deprecated:: 3.3 use :meth:`mlsd` instead. .. method:: FTP.rename(fromname, toname) diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py index 8d75b96..cf961ae 100644 --- a/Lib/test/test_ftplib.py +++ b/Lib/test/test_ftplib.py @@ -586,10 +586,12 @@ class TestFTPClass(TestCase): ls = list(self.client.mlsd()) for name, facts in ls: + self.assertIsInstance(name, str) + self.assertIsInstance(facts, dict) self.assertTrue(name) - self.assertTrue('type' in facts) - self.assertTrue('perm' in facts) - self.assertTrue('unique' in facts) + self.assertIn('type', facts) + self.assertIn('perm', facts) + self.assertIn('unique', facts) def set_data(data): self.server.handler_instance.next_data = data @@ -626,7 +628,8 @@ class TestFTPClass(TestCase): # case sensitiveness set_data('Type=type;TyPe=perm;UNIQUE=unique; name\r\n') _name, facts = next(self.client.mlsd()) - [self.assertTrue(x.islower()) for x in facts.keys()] + for x in facts: + self.assertTrue(x.islower()) # no data (directory empty) set_data('') self.assertRaises(StopIteration, next, self.client.mlsd()) -- cgit v0.12