Skip to content

Commit a110fbe

Browse files
author
netevert
committed
fixed #1
1 parent 713d47d commit a110fbe

File tree

2 files changed

+33
-18
lines changed

2 files changed

+33
-18
lines changed

pockint.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ def validate_input(self, event=None):
203203
self.validator = InputValidator()
204204
_input = self.entry.get()
205205
if _input:
206-
validated_input = self.validator.validate(_input)
206+
validated_input = self.validator.validate(_input)[-1:][0]
207207
if validated_input[0]:
208208
self.status['text'] = validated_input[1]
209209
self.selector['values'] = validated_input[2]
@@ -224,12 +224,13 @@ def validate_input(self, event=None):
224224
def run_data_mining(self, event=None):
225225
"""Performs the select OSINT data mining operation"""
226226
self.status['text'] = "running..."
227-
_input = self.entry.get()
227+
_input = self.entry.get().split(",")
228228
transform = self.selector.get()
229229
try:
230-
data = self.validator.execute_transform(_input, transform)
231-
for item in data:
232-
self.treeview.insert(self.getID(_input), "end", values=(transform, item))
230+
for i in _input:
231+
data = self.validator.execute_transform(i, transform)
232+
for item in data:
233+
self.treeview.insert(self.getID(i), "end", values=(transform, item))
233234
# todo: focus on last treeview output to be able to hit enter and iterate
234235
# item = self.treeview.insert('', 'end', text=_input, values=(transform, data))
235236
# self.treeview.focus_set()

utils.py

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -593,21 +593,35 @@ def run(self, _function, **kwargs):
593593
except Exception as e:
594594
return e
595595

596+
def consistency_check(self, entity_list, entity_type):
597+
"""Ensures that a list of inputs contains the same entities"""
598+
if not entity_list:
599+
entity_list.append(entity_type)
600+
if entity_type in entity_list:
601+
return True
602+
return False
603+
596604
def validate(self, _input: str):
597605
"""Functions to validate user inputs"""
598-
if self.ip.is_ip_address(_input):
599-
return [True, "input: ipv4 address", [option for option in self.ip.osint_options.keys()]]
600-
elif self.email.is_valid_email(_input):
601-
return [True, "input: email address", [option for option in self.email.osint_options.keys()]]
602-
elif self.domain.is_valid_domain(_input):
603-
return [True, "input: domain", [option for option in self.domain.osint_options.keys()]]
604-
elif self.url.is_url(_input):
605-
return [True, "input: url", [option for option in self.url.osint_options.keys()]]
606-
elif self.md5.is_md5(_input):
607-
return [True, "input: md5", [option for option in self.md5.osint_options.keys()]]
608-
elif self.sha256.is_sha256(_input):
609-
return [True, "input: sha256", [option for option in self.sha256.osint_options.keys()]]
610-
return [False, []]
606+
_input = _input.split(",")
607+
_list = []
608+
output = []
609+
for i in _input:
610+
if self.ip.is_ip_address(i) and self.consistency_check(_list, "ip"):
611+
output.append([True, "input: ipv4 address", [option for option in self.ip.osint_options.keys()]])
612+
elif self.email.is_valid_email(i) and self.consistency_check(_list, "email"):
613+
output.append([True, "input: email address", [option for option in self.email.osint_options.keys()]])
614+
elif self.domain.is_valid_domain(i) and self.consistency_check(_list, "domain"):
615+
output.append([True, "input: domain", [option for option in self.domain.osint_options.keys()]])
616+
elif self.url.is_url(i) and self.consistency_check(_list, "url"):
617+
output.append([True, "input: url", [option for option in self.url.osint_options.keys()]])
618+
elif self.md5.is_md5(i) and self.consistency_check(_list, "hash"):
619+
output.append([True, "input: md5", [option for option in self.md5.osint_options.keys()]])
620+
elif self.sha256.is_sha256(i) and self.consistency_check(_list, "hash"):
621+
output.append([True, "input: sha256", [option for option in self.sha256.osint_options.keys()]])
622+
else:
623+
output.append([False, []])
624+
return output
611625

612626
def execute_transform(self, _input: str, transform: str):
613627
"""Function to run osint data mining tasks appropriate to each input"""

0 commit comments

Comments
 (0)