Skip to content

Commit 351a796

Browse files
committed
WIP Add extension agnostic functionality
1 parent 3d80bbc commit 351a796

File tree

2 files changed

+28
-7
lines changed

2 files changed

+28
-7
lines changed

phodupe/__main__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ def main():
77
destination1 = sys.argv[1]
88
destination2 = sys.argv[2]
99

10-
dupe_files = DupeFinder.getDuplicateFileNames(destination1, destination2)
10+
dupe_files = DupeFinder.getDuplicateFileNames(destination1, destination2, False)
1111

1212
if len(dupe_files) is 0:
1313
print('No dupe files found!')

phodupe/dupe_finder.py

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import os
2+
import pathlib
23

34

45
class DupeFinder:
@@ -7,7 +8,7 @@ class DupeFinder:
78
"""
89

910
@staticmethod
10-
def getDuplicateFileNames(directory1, directory2):
11+
def getDuplicateFileNames(directory1, directory2, sameExtension = True):
1112
"""
1213
Return a list of duplicate file names in both directories
1314
@@ -24,14 +25,34 @@ def getDuplicateFileNames(directory1, directory2):
2425
A list of the duplicate file names between both directories. If no
2526
duplicate files are found, an empty list is returned
2627
"""
27-
directory1Files = os.listdir(directory1)
28-
directory2Files = os.listdir(directory2)
28+
directory1Path = pathlib.Path(directory1)
29+
directory2Path = pathlib.Path(directory2)
30+
31+
directory1Files = os.listdir(directory1Path)
32+
directory2Files = os.listdir(directory2Path)
33+
34+
directory1FilesNoExt = {}
35+
directory2FilesNoExt = {}
36+
37+
if sameExtension == False:
38+
for i, file in enumerate(directory1Files):
39+
purePath = pathlib.Path(directory1 + '/' + file)
40+
directory1FilesNoExt[purePath.stem] = purePath.suffix
41+
for i, file in enumerate(directory2Files):
42+
purePath = pathlib.Path(directory2 + '/' + file)
43+
directory2FilesNoExt[purePath.stem] = purePath.suffix
2944

3045
dupeFiles = []
3146

32-
for file in directory1Files:
33-
if(file in directory2Files):
34-
dupeFiles.append(file)
47+
if sameExtension:
48+
for file in directory1Files:
49+
if(file in directory2Files):
50+
dupeFiles.append(file)
51+
else:
52+
for fileName, ext in directory1FilesNoExt.items():
53+
if fileName in directory2FilesNoExt:
54+
dupeFiles.append(fileName + ext)
55+
//We need to delete both extensions
3556

3657
return dupeFiles
3758

0 commit comments

Comments
 (0)