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

Method analyze

persper/analytics/analyzer.py:79–123  ·  view source on GitHub ↗
(self, rev=None,
                from_beginning=False,
                num_commits=None,
                continue_iter=False,
                end_commit_sha=None,
                into_branches=False,
                max_branch_length=100,
                min_branch_date=None,
                checkpoint_interval=1000,
                verbose=False)

Source from the content-addressed store, hash-verified

77 self._observer = value or emptyAnalyzerObserver
78
79 async def analyze(self, rev=None,
80 from_beginning=False,
81 num_commits=None,
82 continue_iter=False,
83 end_commit_sha=None,
84 into_branches=False,
85 max_branch_length=100,
86 min_branch_date=None,
87 checkpoint_interval=1000,
88 verbose=False):
89
90 if not continue_iter:
91 self.reset_state()
92 self._graph_server.reset_graph()
93
94 commits, branch_commits = \
95 self._ri.iter(rev=rev,
96 from_beginning=from_beginning,
97 num_commits=num_commits,
98 continue_iter=continue_iter,
99 end_commit_sha=end_commit_sha,
100 into_branches=into_branches,
101 max_branch_length=max_branch_length,
102 min_branch_date=min_branch_date)
103
104 print_overview(commits, branch_commits)
105 start_time = time.time()
106
107 for idx, commit in enumerate(reversed(commits), 1):
108 phase = 'main'
109 print_commit_info(phase, idx, commit, start_time, verbose)
110 self._observer.onBeforeCommit(self, idx, commit, True)
111 await self.analyze_master_commit(commit)
112 self._observer.onAfterCommit(self, idx, commit, True)
113 self.autosave(phase, idx, checkpoint_interval)
114
115 for idx, commit in enumerate(branch_commits, 1):
116 phase = 'branch'
117 print_commit_info(phase, idx, commit, start_time, verbose)
118 self._observer.onBeforeCommit(self, idx, commit, False)
119 await self.analyze_branch_commit(commit)
120 self._observer.onAfterCommit(self, idx, commit, False)
121 self.autosave(phase, idx, checkpoint_interval)
122
123 self.autosave('finished', 0, 1)
124
125 async def _analyze_commit(self, commit, server_func):
126 self._graph_server.register_commit(commit.hexsha,

Callers

nothing calls this directly

Calls 10

reset_stateMethod · 0.95
analyze_master_commitMethod · 0.95
autosaveMethod · 0.95
analyze_branch_commitMethod · 0.95
print_overviewFunction · 0.70
print_commit_infoFunction · 0.70
reset_graphMethod · 0.45
iterMethod · 0.45
onBeforeCommitMethod · 0.45
onAfterCommitMethod · 0.45

Tested by

no test coverage detected