Skip to content

Commit a8ae3cd

Browse files
committed
Fix visualization
1 parent 2b2500e commit a8ae3cd

5 files changed

Lines changed: 20 additions & 29 deletions

File tree

src/modules/analyzer.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@
33
"""
44
from requests.exceptions import HTTPError
55

6-
from ete3 import Tree, TreeStyle, TextFace, add_face_to_node
7-
from .link import LinkNode
8-
from .utils import multi_thread
6+
from ete3 import faces, Tree, TreeStyle, TextFace, add_face_to_node
97

108

119
def default_layout(node):
1210
node_style = TextFace(node.name, tight_text=True)
13-
add_face_to_node(node_style, node, column=0, position='branch-bottom')
11+
faces.add_face_to_node(node_style, node, column=0, position='branch-bottom')
1412

1513

1614
default_style = TreeStyle()
@@ -51,6 +49,7 @@ def save(self, file_name, tree_style=default_style):
5149
file_name (str): Name of file being saved to
5250
tree_style (TreeStyle): Styling of downloaded tree
5351
"""
52+
self._tree.layout_fn = default_layout
5453
self._tree.render(file_name, tree_style)
5554

5655
def show(self, tree_style=default_style):
@@ -60,7 +59,8 @@ def show(self, tree_style=default_style):
6059
Args:
6160
tree_style (TreeStyle): Styling of downloaded tree
6261
"""
63-
self._tree.show(tree_style)
62+
self._tree.layout_fn = default_layout
63+
self._tree.show(tree_style=tree_style)
6464

6565

6666
def build_tree(node, stop=1, rec=0):
@@ -76,16 +76,15 @@ def build_tree(node, stop=1, rec=0):
7676
tree (ete3.Tree): Built tree.
7777
"""
7878

79+
print('Adding node for: ', node.get_name())
7980
tree = Tree(name=node.get_name())
8081

8182
if rec == stop:
8283
return tree
8384
else:
8485
rec += 1
8586

86-
node.load_data()
8787
for child in node.get_children():
88-
child.load_data()
8988
if child.get_children():
9089
tree.add_child(build_tree(child, stop, rec))
9190
else:

src/modules/collect_data.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
from bs4 import BeautifulSoup
1010
from dotenv import load_dotenv
11-
from .utils import multi_thread
1211
from .utils import find_file
1312
from threadsafe.safe_csv import SafeDictWriter
1413
from progress.bar import Bar

src/modules/link.py

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,7 @@ def get_json_data(node):
4848
json = []
4949
for anchor_tag in node._node.find_all('a'):
5050
link = anchor_tag.get('href')
51-
title = "Not Available"
52-
if validate_link(link):
53-
node = LinkNode(link)
54-
title = node.get_name()
55-
json.append({"link":link,"title":title})
51+
json.append({"link":link,"tag":anchor_tag})
5652
return json
5753

5854

@@ -91,9 +87,6 @@ def __init__(self, link):
9187
self._link = link
9288

9389
def load_data(self):
94-
if self._loaded:
95-
return
96-
9790
response = requests.get(self._link)
9891
status = str(response.status_code)
9992
try:
@@ -102,40 +95,43 @@ def load_data(self):
10295
self._node = BeautifulSoup(response.text, 'html.parser')
10396
self.status = color(status, 'green')
10497
self._name = self._node.title.string
98+
self._emails = get_emails(self)
99+
self._children = get_children(self)
100+
self._emails = get_emails(self)
101+
self._images = get_images(self)
102+
self._json_data = get_json_data(self)
105103
except Exception:
106104
self._node = None
107105
self.status = color(status, 'yellow')
108106
self._name = 'TITLE NOT FOUND'
107+
finally:
108+
self._loaded = True
109109

110-
self._emails = get_emails(self)
111-
self._children = get_children(self)
112-
self._emails = get_emails(self)
113-
self._images = get_images(self)
114-
self._json_data = get_json_data(self)
115-
self._loaded = True
116110

117111
def get_link(self):
118112
return self._link
119113

120114
def get_name(self):
115+
if not self._loaded:
116+
self.load_data()
121117
return self._name
122118

123119
def get_children(self):
124120
if not self._loaded:
125-
raise Exception("node is not loaded")
121+
self.load_data()
126122
return self._children
127123

128124
def get_emails(self):
129125
if not self._loaded:
130-
raise Exception("node is not loaded")
126+
self.load_data()
131127
return self._emails
132128

133129
def get_json(self):
134130
if not self._loaded:
135-
raise Exception("node is not loaded")
131+
self.load_data()
136132
return self._json_data
137133

138134
def get_meatadta(self):
139135
if not self._loaded:
140-
raise Exception("node is not loaded")
136+
self.load_data()
141137
return self._metadata

src/modules/link_io.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ def display_children(node):
2828
Args:
2929
node (LinkNode): root of children to be displayed
3030
"""
31-
node.load_data()
3231
children = node.get_children()
3332
sucess_msg = color(f'Links Found - {len(children)}', 'green')
3433
print(sucess_msg + '\n' + '---------------------------------')
@@ -43,7 +42,6 @@ def display(node):
4342
link (str): link to get status of
4443
"""
4544
try:
46-
node.load_data()
4745
title = node.get_name()
4846
status = node.status
4947
except Exception:

src/torBot.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,6 @@ def main():
150150
print_tor_ip_address()
151151
# -m/--mail
152152
if args.mail:
153-
node.load_data()
154153
emails = node.get_emails()
155154
print(emails)
156155
if args.save:

0 commit comments

Comments
 (0)