Skip to content

Commit acc3b5c

Browse files
formatted code in filesearch
1 parent 4a2bfe7 commit acc3b5c

File tree

1 file changed

+75
-19
lines changed

1 file changed

+75
-19
lines changed

file_search/filesearch.py

+75-19
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,34 @@
33
import argparse
44
from progress.bar import Bar
55

6+
67
class FileSearch:
78
def __init__(self):
89
self.file_count = 0
910
self.progress_bar = Bar('Searching', suffix='%(eta)ds')
1011

1112
def get_file_count(self, path, is_folder):
12-
13+
1314
if not is_folder:
1415
print("[INFO] Reading files ...")
1516
else:
1617
print("[INFO] Reading folders ...")
17-
18+
1819
self.file_count = 0
1920
for root, dirs, files in os.walk(path):
2021
if is_folder:
2122
self.file_count += len(dirs)
2223
else:
2324
self.file_count += len(files)
2425

25-
def __recursive_check(self, search_term, start_dir, is_folder, disable_case, show_bar):
26+
def __perform_search(
27+
self,
28+
search_term,
29+
start_dir,
30+
is_folder,
31+
disable_case,
32+
show_bar
33+
):
2634
results = []
2735
for root, dirs, files in os.walk(start_dir):
2836
if is_folder:
@@ -48,7 +56,14 @@ def __recursive_check(self, search_term, start_dir, is_folder, disable_case, sho
4856

4957
return results
5058

51-
def search(self, search_term, start_dir, is_folder=False, disable_case=False, show_bar=True):
59+
def search(
60+
self,
61+
search_term,
62+
start_dir,
63+
is_folder=False,
64+
disable_case=False,
65+
show_bar=True
66+
):
5267
self.file_count = 0
5368
self.get_file_count(start_dir, is_folder)
5469
self.progress_bar.max = self.file_count
@@ -57,33 +72,74 @@ def search(self, search_term, start_dir, is_folder=False, disable_case=False, sh
5772
raise Exception(f"Path {start_dir} does not exist.")
5873

5974
start_time = datetime.datetime.now()
60-
result = self.__recursive_check(search_term, start_dir, is_folder, disable_case, show_bar)
75+
result = self.__perform_search(
76+
search_term,
77+
start_dir,
78+
is_folder,
79+
disable_case,
80+
show_bar
81+
)
6182
end_time = datetime.datetime.now()
6283

6384
if not is_folder:
64-
print(f"\n\n[INFO] Searched {self.file_count:,} files in {(end_time-start_time).total_seconds()} seconds")
85+
print(
86+
f"\n\n[INFO] Searched {self.file_count:,} files in {(end_time-start_time).total_seconds()} seconds")
6587
else:
66-
print(f"\n\n[INFO] Searched {self.file_count:,} folders in {(end_time-start_time).total_seconds()} seconds")
67-
88+
print(
89+
f"\n\n[INFO] Searched {self.file_count:,} folders in {(end_time-start_time).total_seconds()} seconds")
90+
6891
return result
6992

93+
7094
if __name__ == "__main__":
7195

72-
parser = argparse.ArgumentParser(description="Search files within your computer")
73-
74-
parser.add_argument("search-term", metavar="term", type=str, help="Filename/Word to search for")
75-
parser.add_argument("start-dir", metavar="dir", type=str, help="Directory where you want to search")
76-
77-
parser.add_argument("-dc", "--disable-case", action="store_true", help="Perform case insensitive search")
78-
parser.add_argument("-f", "--folder", action="store_true", help="Search only folders (default: searches files)")
79-
parser.add_argument("-nb", "--no-bar", action="store_false", help="Not show progress bar")
80-
96+
parser = argparse.ArgumentParser(
97+
description="Search files within your computer")
98+
99+
parser.add_argument(
100+
"search-term",
101+
metavar="term",
102+
type=str,
103+
help="Filename/Word to search for"
104+
)
105+
parser.add_argument(
106+
"start-dir",
107+
metavar="dir",
108+
type=str,
109+
help="Directory where you want to search"
110+
)
111+
112+
parser.add_argument(
113+
"-dc",
114+
"--disable-case",
115+
action="store_true",
116+
help="Perform case insensitive search"
117+
)
118+
parser.add_argument(
119+
"-f",
120+
"--folder",
121+
action="store_true",
122+
help="Search only folders (default: searches files)"
123+
)
124+
parser.add_argument(
125+
"-nb",
126+
"--no-bar",
127+
action="store_false",
128+
help="Not show progress bar"
129+
)
130+
81131
args = parser.parse_args().__dict__
82132

83133
searcher = FileSearch()
84-
results = searcher.search(args['search-term'], args['start-dir'], args['folder'], args['disable_case'], args['no_bar'])
134+
results = searcher.search(
135+
args['search-term'],
136+
args['start-dir'],
137+
args['folder'],
138+
args['disable_case'],
139+
args['no_bar']
140+
)
85141

86142
print("[INFO] Results: \n")
87143
for path in results:
88144
print("Path:", path)
89-
print("")
145+
print("")

0 commit comments

Comments
 (0)