Merge pull request #1368 from ediamantopoulou/feature

Add number of results in the end of the process
pull/1328/merge
Yahya SayadArbabi 3 years ago committed by GitHub
commit a2c630ee31
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -5,7 +5,7 @@ results of queries.
""" """
from result import QueryStatus from result import QueryStatus
from colorama import Fore, Style from colorama import Fore, Style
globvar = 0 # global variable to count the number of results.
class QueryNotify: class QueryNotify:
"""Query Notify Object. """Query Notify Object.
@ -52,7 +52,7 @@ class QueryNotify:
Nothing. Nothing.
""" """
# return # return
def update(self, result): def update(self, result):
"""Notify Update. """Notify Update.
@ -101,8 +101,7 @@ class QueryNotify:
Return Value: Return Value:
Nicely formatted string to get information about this object. Nicely formatted string to get information about this object.
""" """
return str(self.result) return str(self.result)
class QueryNotifyPrint(QueryNotify): class QueryNotifyPrint(QueryNotify):
"""Query Notify Print Object. """Query Notify Print Object.
@ -132,7 +131,7 @@ class QueryNotifyPrint(QueryNotify):
self.print_all = print_all self.print_all = print_all
return return
def start(self, message): def start(self, message):
"""Notify Start. """Notify Start.
@ -185,6 +184,20 @@ class QueryNotifyPrint(QueryNotify):
# return # return
def countResults(self):
"""This function counts the number of results. Every time the fuction is called,
the number of results is increasing.
Keyword Arguments:
self -- This object.
Return Value:
The number of results by the time we call the function.
"""
global globvar
globvar += 1
return globvar
def update(self, result): def update(self, result):
"""Notify Update. """Notify Update.
@ -206,6 +219,7 @@ class QueryNotifyPrint(QueryNotify):
# Output to the terminal is desired. # Output to the terminal is desired.
if result.status == QueryStatus.CLAIMED: if result.status == QueryStatus.CLAIMED:
self.countResults()
print(Style.BRIGHT + Fore.WHITE + "[" + print(Style.BRIGHT + Fore.WHITE + "[" +
Fore.GREEN + "+" + Fore.GREEN + "+" +
Fore.WHITE + "]" + Fore.WHITE + "]" +
@ -213,7 +227,7 @@ class QueryNotifyPrint(QueryNotify):
Fore.GREEN + Fore.GREEN +
f" {self.result.site_name}: " + f" {self.result.site_name}: " +
Style.RESET_ALL + Style.RESET_ALL +
f"{self.result.site_url_user}") f"{self.result.site_url_user}")
elif result.status == QueryStatus.AVAILABLE: elif result.status == QueryStatus.AVAILABLE:
if self.print_all: if self.print_all:
@ -255,11 +269,19 @@ class QueryNotifyPrint(QueryNotify):
Will print the last line to the standard output. Will print the last line to the standard output.
Keyword Arguments: Keyword Arguments:
self -- This object. self -- This object.
message -- The last phrase. message -- The 2 last phrases.
Return Value: Return Value:
Nothing. Nothing.
""" """
NumberOfResults = self.countResults() - 1
title = "Results:"
print(Style.BRIGHT + Fore.GREEN + "[" +
Fore.YELLOW + "*" +
Fore.GREEN + f"] {title}" +
Fore.WHITE + f" {NumberOfResults}" )
title = "End" title = "End"
print('\r') # An empty line between last line of main output and last line(more clear output) print('\r') # An empty line between last line of main output and last line(more clear output)
@ -282,4 +304,4 @@ class QueryNotifyPrint(QueryNotify):
Return Value: Return Value:
Nicely formatted string to get information about this object. Nicely formatted string to get information about this object.
""" """
return str(self.result) return str(self.result)

@ -7,7 +7,19 @@ import sherlock as sh
checksymbols = [] checksymbols = []
checksymbols = ["_", "-", "."] checksymbols = ["_", "-", "."]
class TestMulripleUsernames(unittest.TestCase): """Test for mulriple usernames.
This test ensures that the function MultipleUsernames works properly. More specific,
different scenarios are tested and only usernames that contain this specific sequence: {?}
should return positive.
Keyword Arguments:
self -- This object.
Return Value:
Nothing.
"""
class TestMultipleUsernames(unittest.TestCase):
def test_area(self): def test_area(self):
test_usernames = ["test{?}test" , "test{?feo" , "test"] test_usernames = ["test{?}test" , "test{?feo" , "test"]
for name in test_usernames: for name in test_usernames:

Loading…
Cancel
Save