cpython: c592e5a8fa4f (original) (raw)
Mercurial > cpython
changeset 78581:c592e5a8fa4f
Merge #15269: document dircmp.left and right, and add tests for them. Patch by Chris Jerdonek. [#15269]
R David Murray rdmurray@bitdance.com | |
---|---|
date | Tue, 14 Aug 2012 21:45:25 -0400 |
parents | ba9b35fb9c40(current diff)7590dec388a7(diff) |
children | 8d90fde35cc6 |
files | Doc/library/filecmp.rst |
diffstat | 2 files changed, 33 insertions(+), 2 deletions(-)[+] [-] Doc/library/filecmp.rst 25 Lib/test/test_filecmp.py 10 |
line wrap: on
line diff
--- a/Doc/library/filecmp.rst
+++ b/Doc/library/filecmp.rst
@@ -91,6 +91,16 @@ The :class:dircmp
class
to compute are used.
+
+
.. attribute:: left_list
Files and subdirectories in a, filtered by hide and ignore.
@@ -154,3 +164,18 @@ The :class:dircmp
class
A dictionary mapping names in :attr:common_dirs
to :class:dircmp
objects.
+
+Here is a simplified example of using the subdirs
attribute to search
+recursively through two directories to show common different files::
+
- ... for name in dcmp.diff_files:
- ... print("diff_file %s found in %s and %s" % (name, dcmp.left,
- ... dcmp.right))
- ... for sub_dcmp in dcmp.subdirs.values():
- ... print_diff_files(sub_dcmp)
- ...
--- a/Lib/test/test_filecmp.py +++ b/Lib/test/test_filecmp.py @@ -98,7 +98,10 @@ class DirCompareTestCase(unittest.TestCa def test_dircmp(self): # Check attributes for comparison of two identical directories
d = filecmp.dircmp(self.dir, self.dir_same)[](#l2.7)
left_dir, right_dir = self.dir, self.dir_same[](#l2.8)
d = filecmp.dircmp(left_dir, right_dir)[](#l2.9)
self.assertEqual(d.left, left_dir)[](#l2.10)
self.assertEqual(d.right, right_dir)[](#l2.11) if self.caseinsensitive:[](#l2.12) self.assertEqual([d.left_list, d.right_list],[['file'], ['FiLe']])[](#l2.13) else:[](#l2.14)
@@ -109,7 +112,10 @@ class DirCompareTestCase(unittest.TestCa self.assertEqual(d.diff_files, []) # Check attributes for comparison of two different directories
d = filecmp.dircmp(self.dir, self.dir_diff)[](#l2.19)
left_dir, right_dir = self.dir, self.dir_diff[](#l2.20)
d = filecmp.dircmp(left_dir, right_dir)[](#l2.21)
self.assertEqual(d.left, left_dir)[](#l2.22)
self.assertEqual(d.right, right_dir)[](#l2.23) self.assertEqual(d.left_list, ['file'])[](#l2.24) self.assertTrue(d.right_list == ['file', 'file2'])[](#l2.25) self.assertEqual(d.common, ['file'])[](#l2.26)