MCPcopy Create free account
hub / github.com/OpenBMB/BMTools / WikiPage

Class WikiPage

bmtools/tools/wikipedia/api.py:10–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8 return p.encode().decode("unicode-escape").encode("latin1").decode("utf-8")
9
10class WikiPage:
11 def __init__(self):
12 self.page = ""
13 self.paragraphs = []
14 self.sentences = []
15 self.lookup_cnt = 0
16 self.lookup_list = []
17 self.lookup_keyword = None
18
19 def reset_page(self):
20 self.page = ""
21 self.paragraphs = []
22 self.sentences = []
23 self.lookup_cnt = 0
24 self.lookup_list = []
25 self.lookup_keyword = None
26
27 def get_page_obs(self, page):
28 self.page = page
29 paragraphs = []
30 sentences = []
31 # find all paragraphs
32 paragraphs = page.split("\n")
33 paragraphs = [p.strip() for p in paragraphs if p.strip()]
34
35 # find all sentence
36 sentences = []
37 for p in paragraphs:
38 sentences += p.split('. ')
39 sentences = [s.strip() + '.' for s in sentences if s.strip()]
40 self.paragraphs = paragraphs
41 self.sentences = sentences
42 return ' '.join(sentences[:5])
43
44 def construct_lookup_list(self, keyword : str):
45 sentences = self.sentences
46 parts = []
47 for index, p in enumerate(sentences):
48 if keyword.lower() in p.lower():
49 parts.append(index)
50 self.lookup_list = parts
51 self.lookup_keyword = keyword
52 self.lookup_cnt = 0
53
54currentPage = WikiPage()
55

Callers 1

api.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected