MCPcopy Create free account
hub / github.com/Persper/code-analytics / GraphServerHttp

Class GraphServerHttp

persper/graphs/graph_server_http.py:8–54  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6
7
8class GraphServerHttp(GraphServer):
9 def __init__(self, server_addr, filename_regex_strs):
10 self.server_addr = server_addr
11 self.filename_regexes = [re.compile(regex_str) for regex_str in filename_regex_strs]
12 self.config_param = dict()
13
14 def update_graph(self, old_filename, old_src, new_filename, new_src, patch):
15 payload = {'oldFname': old_filename,
16 'oldSrc': old_src,
17 'newFname': new_filename,
18 'newSrc': new_src,
19 'patch': patch.decode('utf-8', 'replace'),
20 'config': self.config_param}
21
22 update_url = urllib.parse.urljoin(self.server_addr, '/update')
23 r = requests.post(update_url, json=payload).json()
24 return r['idToLines'], r['idMap']
25
26 def parse(self, old_filename, old_src, new_filename, new_src, patch):
27 payload = {'oldFname': old_filename,
28 'oldSrc': old_src,
29 'newFname': new_filename,
30 'newSrc': new_src,
31 'patch': patch.decode('utf-8', 'replace'),
32 'config': self.config_param}
33
34 stats_url = urllib.parse.urljoin(self.server_addr, '/stats')
35 r = requests.get(stats_url, json=payload).json()
36 return r['idToLines'], r['idMap']
37
38 def get_graph(self):
39 graph_url = self.server_addr + '/callgraph'
40 r = requests.get(graph_url)
41 return json_graph.node_link_graph(r.json())
42
43 def reset_graph(self):
44 reset_url = urllib.parse.urljoin(self.server_addr, '/reset')
45 requests.post(reset_url)
46
47 def filter_file(self, filename):
48 for regex in self.filename_regexes:
49 if not regex.match(filename):
50 return False
51 return True
52
53 def config(self, param):
54 self.config_param = param

Callers 3

test_map_idFunction · 0.90
azFunction · 0.90
azFunction · 0.90

Calls

no outgoing calls

Tested by 3

test_map_idFunction · 0.72
azFunction · 0.72
azFunction · 0.72