MCPcopy Index your code
hub / github.com/dbcli/pgcli / PrevalenceCounter

Class PrevalenceCounter

pgcli/packages/prioritization.py:24–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22
23
24class PrevalenceCounter:
25 def __init__(self):
26 self.keyword_counts = defaultdict(int)
27 self.name_counts = defaultdict(int)
28
29 def update(self, text):
30 self.update_keywords(text)
31 self.update_names(text)
32
33 def update_names(self, text):
34 for parsed in sqlparse.parse(text):
35 for token in parsed.flatten():
36 if token.ttype in Name:
37 self.name_counts[token.value] += 1
38
39 def clear_names(self):
40 self.name_counts = defaultdict(int)
41
42 def update_keywords(self, text):
43 # Count keywords. Can't rely for sqlparse for this, because it's
44 # database agnostic
45 for keyword, regex in keyword_regexs.items():
46 for _ in regex.finditer(text):
47 self.keyword_counts[keyword] += 1
48
49 def keyword_count(self, keyword):
50 return self.keyword_counts[keyword]
51
52 def name_count(self, name):
53 return self.name_counts[name]

Callers 2

test_prevalence_counterFunction · 0.90
__init__Method · 0.85

Calls

no outgoing calls

Tested by 1

test_prevalence_counterFunction · 0.72