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

Class Analyzer

persper/analytics/analyzer2.py:13–190  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11
12
13class Analyzer:
14 def __init__(self, repositoryRoot: str, graphServer: GraphServer,
15 terminalCommit: str = "master",
16 firstParentOnly: bool = False):
17 self._repositoryRoot = repositoryRoot
18 self._graphServer = graphServer
19 self._repo = Repo(repositoryRoot)
20 self._originCommit: Commit = None
21 self._terminalCommit: Commit = self._repo.rev_parse(terminalCommit)
22 self._firstParentOnly = firstParentOnly
23 self._visitedCommits = set()
24 self._s_visitedCommits = _ReadOnlySet(self._visitedCommits)
25 self._observer: AnalyzerObserver = emptyAnalyzerObserver
26
27 def __getstate__(self):
28 state = self.__dict__.copy()
29 state.pop("_repo", None)
30 state.pop("_s_visitedCommits", None)
31 state["_originCommit"] = self._originCommit.hexsha if self._originCommit else None
32 state["_terminalCommit"] = self._terminalCommit.hexsha if self._terminalCommit else None
33 state.pop("_observer", None)
34 return state
35
36 def __setstate__(self, state):
37 self.__dict__.update(state)
38 self._repo = Repo(self._repositoryRoot)
39 self.originCommit = state["_originCommit"]
40 self.terminalCommit = state["_terminalCommit"]
41 self._s_visitedCommits = _ReadOnlySet(self._visitedCommits)
42
43 @property
44 def observer(self):
45 """
46 The AnalyzerObserver used to observe current Analyzer.
47 """
48 return self._observer
49
50 @observer.setter
51 def observer(self, value):
52 self._observer = value or emptyAnalyzerObserver
53
54 @property
55 def originCommit(self):
56 """
57 Gets/sets the first commit to visit. (exclusive)
58 Use None to start visiting from the first commit.
59 """
60 return self._originCommit
61
62 @originCommit.setter
63 def originCommit(self, value: Union[Commit, str]):
64 self._originCommit = self._repo.rev_parse(value) if value else None
65
66 @property
67 def terminalCommit(self):
68 """
69 Gets/sets the last commit to visit. (inclusive)
70 """

Callers 3

testFeatureBranchFunction · 0.90
testCppTestRepoFunction · 0.90

Calls

no outgoing calls

Tested by 3

testFeatureBranchFunction · 0.72
testCppTestRepoFunction · 0.72