Created
May 1, 2016 09:07
-
-
Save hackerdem/aeca7bdfe03bb3da9c289dc3a00a8f82 to your computer and use it in GitHub Desktop.
python script with a GUI to search a keyword in files
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from tkinter import * | |
import os | |
from tkinter.filedialog import askdirectory | |
from tkinter import messagebox | |
import subprocess | |
def content_analyser(pat): | |
with open(pat,'r') as f: | |
try: | |
for line in f: | |
if search in line: | |
d.update() | |
d.insert(END, pat) | |
break | |
except: | |
pass | |
def smali_finder(pat): | |
try: | |
for file in os.listdir(pat): | |
spat=pat+'/'+file | |
if os.path.isdir(spat): | |
smali_finder(spat) | |
else: | |
if file.endswith(".smali"): | |
content_analyser(spat) | |
except Exception as e: | |
print ("Error:::",pat,e) | |
def fing(path): | |
global search | |
if search_word.get()=='': | |
var=messagebox.showwarning(message="Please a search word") | |
else: | |
search=search_word.get() | |
smali_finder(path) | |
def save_list(): | |
with open("saved_result","w") as sfile: | |
sfile.write('\n'.join(d.get(0,END))) | |
var=messagebox.showwarning(message="File names are saved as {}".format("saved_result.txt")) | |
def chose_folder(): | |
global path | |
foldername = askdirectory() | |
path=foldername | |
folder_name.delete(0,END) | |
folder_name.update() | |
folder_name.insert(END, path) | |
if __name__=="__main__": | |
parent=Tk() | |
parent.title('File Finder') | |
Label(parent,text="Folder name: ").grid(row=0,column=0,sticky='e') | |
folder_name=Entry(parent,width=20) | |
folder_name.grid(row=0,column=1,padx=2,pady=2,sticky='we',columnspan=9) | |
Label(parent,text="Search word: ").grid(row=1,column=0,sticky='e') | |
search_word=Entry(parent,width=20) | |
search_word.grid(row=1,column=1,padx=2,pady=2,sticky='we',columnspan=9) | |
Label(parent,text="Search Results: ").grid(row=3,column=0,sticky='e') | |
d=Listbox(parent,width=125,height=20) | |
d.grid(row=4,column=3,padx=2,pady=2,sticky='we',columnspan=9) | |
Button(parent,text="Folder",command=lambda:chose_folder()).grid(row=0,column=10,sticky='e'+'w',padx=2,pady=2,) | |
start=Button(parent,text="Start",command=lambda:fing(path)).grid(row=1,column=10,sticky='e'+'w',padx=2,pady=2,) | |
save=Button(parent,text="Save",command=lambda:save_list()) | |
save.grid(row=2,column=10,sticky='e'+'w',padx=2,pady=2) | |
Button(parent,text="Exit",command=parent.destroy).grid(row=3,column=10,sticky='e'+'w',padx=2,pady=2) | |
parent.mainloop() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment