Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Lucksi
GitHub Repository: Lucksi/Mr.Holmes
Path: blob/master/Core/Support/Recap.py
1071 views
1
# ORIGINAL CREATOR: Luca Garofalo (Lucksi)
2
# AUTHOR: Luca Garofalo (Lucksi)
3
# Copyright (C) 2022-2023 Lucksi <[email protected]>
4
# License: GNU General Public License v3.0
5
6
from Core.Support import Font
7
from Core.Support import Language
8
from Core.Support import Encoding
9
from time import sleep
10
11
filename = Language.Translation.Get_Language()
12
filename
13
14
15
class Stats:
16
17
@staticmethod
18
def Places(PostLocations,report,Params,username,Hobby):
19
print(Font.Color.GREEN + "\n[+]" + Font.Color.WHITE + "GETTING GEOLOCATION HYPOTHESIS...")
20
try:
21
sleep(3)
22
getPost = float(Params[2].replace(",", ''))
23
if getPost <= 12:
24
numP = getPost
25
else:
26
numP = 12
27
percentage = round((len(PostLocations)/numP*100),1)
28
num = len(PostLocations)
29
if num >= 1 and num <=3:
30
geo = Language.Translation.Translate_Language(
31
filename, "Report", "Geo", "Low").format(username,str(num),str(numP),str(percentage))
32
elif num > 3 and num <=6:
33
geo = Language.Translation.Translate_Language(
34
filename, "Report", "Geo", "Medium").format(username,str(num),str(numP),str(percentage))
35
Hobby.append("Travelling")
36
elif num > 6 and num == 12:
37
geo = Language.Translation.Translate_Language(
38
filename, "Report", "Geo", "High").format(username,str(num),str(numP),str(percentage))
39
Hobby.append("Travelling")
40
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + geo)
41
f = open(report, "a")
42
f.write("\n\n" + geo)
43
f.close()
44
except Exception as e:
45
print(Font.Color.RED + "\n[!]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Default", "Error", "None") + str(e))
46
47
@staticmethod
48
def Hypotesys(Params, username, report):
49
sleep(2)
50
try:
51
private = Params[0]
52
if private == "False":
53
Followers = Params[1]
54
Posts = Params[2]
55
FollowN = float(Followers.replace(",", ''))
56
FollowConv = int(FollowN)
57
PostsN = float(Posts.replace(",", ''))
58
PostsConv = int(PostsN)
59
if FollowConv >= 0 and FollowConv <= 700:
60
if PostsConv >= 0 and PostsConv <= 30:
61
Hypo = Language.Translation.Translate_Language(
62
filename, "Report", "Specific", "LowLow").format(username, Followers, Posts)
63
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "LowLow").format(
64
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
65
elif PostsConv > 30 and PostsConv <= 100:
66
Hypo = Language.Translation.Translate_Language(
67
filename, "Report", "Specific", "LowMid").format(username, Followers, Posts)
68
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "LowMid").format(
69
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
70
elif PostsConv > 100:
71
Hypo = Language.Translation.Translate_Language(
72
filename, "Report", "Specific", "LowHigh").format(username, Followers, Posts)
73
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "LowHigh").format(
74
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
75
elif FollowConv > 700 and FollowConv <= 150000:
76
if PostsConv >= 0 and PostsConv <= 30:
77
Hypo = Language.Translation.Translate_Language(
78
filename, "Report", "Specific", "MidLow").format(username, Followers, Posts)
79
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "MidLow").format(
80
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
81
elif PostsConv > 30 and PostsConv <= 100:
82
Hypo = Language.Translation.Translate_Language(
83
filename, "Report", "Specific", "MidMid").format(username, Followers, Posts)
84
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "MidMid").format(
85
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
86
elif PostsConv > 100:
87
Hypo = Language.Translation.Translate_Language(
88
filename, "Report", "Specific", "MidHigh").format(username, Followers, Posts)
89
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "MidHigh").format(
90
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
91
92
elif FollowConv > 150000:
93
if PostsConv >= 0 and PostsConv <= 30:
94
Hypo = Language.Translation.Translate_Language(
95
filename, "Report", "Specific", "HighLow").format(username, Followers,Posts)
96
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "HighLow").format(
97
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
98
elif PostsConv > 30 and PostsConv <= 100:
99
Hypo = Language.Translation.Translate_Language(
100
filename, "Report", "Specific", "HighMid").format(username, Followers, Posts)
101
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "HighMid").format(
102
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
103
elif PostsConv > 100:
104
Hypo = Language.Translation.Translate_Language(
105
filename, "Report", "Specific", "HighHigh").format(username, Followers, Posts)
106
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "HighHigh").format(
107
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
108
elif private == "True":
109
Followers = Params[1]
110
Posts = Params[2]
111
FollowN = float(Followers.replace(",", ''))
112
FollowConv = int(FollowN)
113
PostsN = float(Posts.replace(",", ''))
114
PostsConv = int(PostsN)
115
if FollowConv >= 0 and FollowConv <= 700:
116
if PostsConv >= 0 and PostsConv <= 30:
117
Hypo = Language.Translation.Translate_Language(
118
filename, "Report", "Specific", "LowLowPriv").format(username, Followers, Posts)
119
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "LowLowPriv").format(
120
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
121
elif PostsConv > 30 and PostsConv <= 100:
122
Hypo = Language.Translation.Translate_Language(
123
filename, "Report", "Specific", "LowMidPriv").format(username, Followers, Posts)
124
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "LowMidPriv").format(
125
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
126
elif PostsConv > 100:
127
Hypo = Language.Translation.Translate_Language(
128
filename, "Report", "Specific", "LowHighPriv").format(username, Followers, Posts)
129
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "LowHighPriv").format(
130
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
131
elif FollowConv > 700 and FollowConv <= 150000:
132
if PostsConv >= 0 and PostsConv <= 30:
133
Hypo = Language.Translation.Translate_Language(
134
filename, "Report", "Specific", "MidLowPriv").format(username, Followers, Posts)
135
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "MidLowPriv").format(
136
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
137
elif PostsConv > 30 and PostsConv <= 100:
138
Hypo = Language.Translation.Translate_Language(
139
filename, "Report", "Specific", "MidMidPriv").format(username, Followers, Posts)
140
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "MidMidPriv").format(
141
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
142
elif PostsConv > 100:
143
Hypo = Language.Translation.Translate_Language(
144
filename, "Report", "Specific", "MidHighPriv").format(username, Followers, Posts)
145
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "MidHighPriv").format(
146
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
147
148
elif FollowConv > 150000:
149
if PostsConv >= 0 and PostsConv <= 30:
150
Hypo = Language.Translation.Translate_Language(
151
filename, "Report", "Specific", "HighLowPriv").format(username, Followers,Posts)
152
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "HighLowPriv").format(
153
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
154
elif PostsConv > 30 and PostsConv <= 100:
155
Hypo = Language.Translation.Translate_Language(
156
filename, "Report", "Specific", "HighMidPriv").format(username, Followers, Posts)
157
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "HighMidPriv").format(
158
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
159
elif PostsConv > 100:
160
Hypo = Language.Translation.Translate_Language(
161
filename, "Report", "Specific", "HighHighPriv").format(username, Followers, Posts)
162
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Specific", "HighHighPriv").format(
163
Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + Followers + Font.Color.WHITE, Font.Color.GREEN + Posts + Font.Color.WHITE))
164
else:
165
Hypo = Language.Translation.Translate_Language(
166
filename, "Report", "Specific", "Blocked")
167
print(Font.Color.RED + "[!]" + Font.Color.WHITE + Language.Translation.Translate_Language(
168
filename, "Report", "Specific", "Blocked"))
169
try:
170
f = open(report, "a")
171
f.write(Hypo + "\n\n")
172
f.close()
173
except Exception as e:
174
print(Font.Color.RED + "\n[!]" + Font.Color.WHITE + "ERROR: {}".format(str(e)))
175
except Exception as e:
176
print(Font.Color.RED + "\n[!]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Default", "Error", "None"))
177
178
@staticmethod
179
def Printer(username, found, Count, Percent, subject, Tags, InstagramParams, TwitterParamas, ScraperSites, ScrapeOp, MostTags):
180
report = "GUI/Reports/Usernames/{}/Recap.txt".format(username)
181
print(Font.Color.GREEN +
182
"\n[+]" + Font.Color.WHITE + "GENERATING SUMMARY REPORT...")
183
sleep(3)
184
Total = round(Percent, 1)
185
Percentual = Language.Translation.Translate_Language(
186
filename, "Report", "Recap", "Summary").format(username, str(found), str(Count), username, str(Total) + "%")
187
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(
188
filename, "Report", "Recap", "Summary").format(Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + str(found) + Font.Color.WHITE, Font.Color.GREEN + str(Count) + Font.Color.WHITE, Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + str(Total), "%" + Font.Color.WHITE))
189
f = open(report, "w")
190
f.write(
191
"REPORT CREATED BY MR.HOLMES\n\nGENERATING SUMMARY REPORT...\n" + Percentual)
192
f.close()
193
if subject == "USERNAME":
194
print(Font.Color.GREEN +
195
"\n[+]" + Font.Color.WHITE + "GENERATING TAGS REPORT...")
196
sleep(3)
197
Tag = Language.Translation.Translate_Language(
198
filename, "Report", "Recap", "Tags").format(', '.join(Tags))
199
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(
200
filename, "Report", "Recap", "Tags").format(Font.Color.WHITE + "[" + Font.Color.GREEN + ', '.join(Tags) + Font.Color.WHITE + "]"))
201
Mtag = Language.Translation.Translate_Language(
202
filename, "Report", "Recap", "MTags").format(', '.join(MostTags))
203
print(Font.Color.BLUE + "\n[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(
204
filename, "Report", "Recap", "MTags").format(Font.Color.WHITE + "[" + Font.Color.GREEN + ', '.join(MostTags) + Font.Color.WHITE + "]"))
205
f = open(report, "a")
206
f.write("\nGENERATING TAGS REPORT\n\n" + "[" + Tag + "]" + "\n\n" + Mtag)
207
f.close()
208
print(Font.Color.GREEN +
209
"\n[+]" + Font.Color.WHITE + "GENERATING GENERAL HYPOTESY REPORT...")
210
sleep(3)
211
if Total < 10:
212
General = Language.Translation.Translate_Language(
213
filename, "Report", "Recap", "Percentual_Low").format(username, str(Total))
214
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Recap",
215
"Percentual_Low").format(Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + str(Total) + Font.Color.WHITE))
216
elif Total > 10 and Total < 20:
217
General = Language.Translation.Translate_Language(
218
filename, "Report", "Recap", "Percentual_Mid").format(username, str(Total))
219
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Recap",
220
"Percentual_Mid").format(Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + str(Total) + Font.Color.WHITE))
221
else:
222
General = Language.Translation.Translate_Language(
223
filename, "Report", "Recap", "Percentual_High").format(username, str(Total))
224
print(Font.Color.BLUE + "[I]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Report", "Recap",
225
"Percentual_High").format(Font.Color.GREEN + username + Font.Color.WHITE, Font.Color.GREEN + str(Total) + Font.Color.WHITE))
226
227
f = open(report, "a+")
228
f.write("\n\nGENERATING GENERAL HYPOTESY REPORT...\n\n" + General)
229
f.close()
230
231
print(Font.Color.GREEN + "\n[+]" + Font.Color.WHITE +
232
"GENERATING HYPOTESYS ON VARIOUS SOCIAL MEDIAS")
233
if ScrapeOp == "Positive":
234
if "Instagram" in ScraperSites:
235
print(Font.Color.GREEN +
236
"\n[+]" + Font.Color.WHITE + "INSTAGRAM HYPOTESIS...")
237
try:
238
Stats.Hypotesys(InstagramParams, username, report)
239
except Exception as e:
240
print(Font.Color.RED + "\n[!]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Default", "Error", "None"))
241
if "Twitter" in ScraperSites:
242
print(Font.Color.GREEN +
243
"\n[+]" + Font.Color.WHITE + "TWITTER HYPOTESIS...")
244
try:
245
Stats.Hypotesys(TwitterParamas, username, report)
246
except Exception as e:
247
print(Font.Color.RED + "\n[!]" + Font.Color.WHITE + Language.Translation.Translate_Language(filename, "Default", "Error", "None"))
248
else:
249
pass
250
#Encoding.Encoder.Encode(report)
251
252