summaryrefslogtreecommitdiffstats
path: root/bin/find-duplicated-files.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /bin/find-duplicated-files.py
parentInitial commit. (diff)
downloadlibreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz
libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'bin/find-duplicated-files.py')
-rwxr-xr-xbin/find-duplicated-files.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/bin/find-duplicated-files.py b/bin/find-duplicated-files.py
new file mode 100755
index 000000000..08d90076c
--- /dev/null
+++ b/bin/find-duplicated-files.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python3
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+import os
+import sys
+
+from filecmp import dircmp
+
+"""
+This script compares two directories and lists the files which are the same in both directories.
+Intended to find duplicate icons among icon themes.
+
+Adopted from the example at https://docs.python.org/3.5/library/filecmp.html
+
+Usage: ./bin/findduplicatefiles dir1 dir2
+"""
+
+def print_diff_files(dcmp):
+ for name in dcmp.same_files:
+ print("%s found in %s and %s" % (name, dcmp.left, dcmp.right))
+ for sub_dcmp in dcmp.subdirs.values():
+ print_diff_files(sub_dcmp)
+
+if len(sys.argv) != 3:
+ print("Usage: %s dir1 dir2" % sys.argv[0])
+ exit()
+
+dir1 = sys.argv[1]
+dir2 = sys.argv[2]
+
+if not os.path.isdir(dir1) or not os.path.isdir(dir2):
+ print("Arguments must be directories!")
+ exit()
+
+dcmp = dircmp(dir1, dir2)
+print_diff_files(dcmp)
+