krzsam commited on
Commit
e2523de
·
1 Parent(s): a573bfb
app.py CHANGED
@@ -16,7 +16,7 @@ questions_to_run = [
16
  #"a1e91b78-d3d8-4675-bb8d-62741b4b68a6", # (!)
17
  #"2d83110e-a098-4ebb-9987-066c06fa42d0", # OK
18
  #"cca530fc-4052-43b2-b130-b30968d8aa44", # OK, need to remove FINAL_ANSWER string
19
- "4fc2f1ae-8625-45b5-ab34-ad4433bc21f8", # <--------
20
  #"6f37996b-2ac7-44b0-8e68-6d28256631b4",
21
  #"9d191bce-651d-4746-be2d-7ef8ecadb9c2",
22
  #"cabe07ed-9eca-40ea-8ead-410ef5e83f91",
 
16
  #"a1e91b78-d3d8-4675-bb8d-62741b4b68a6", # (!)
17
  #"2d83110e-a098-4ebb-9987-066c06fa42d0", # OK
18
  #"cca530fc-4052-43b2-b130-b30968d8aa44", # OK, need to remove FINAL_ANSWER string
19
+ #"4fc2f1ae-8625-45b5-ab34-ad4433bc21f8", # OK
20
  #"6f37996b-2ac7-44b0-8e68-6d28256631b4",
21
  #"9d191bce-651d-4746-be2d-7ef8ecadb9c2",
22
  #"cabe07ed-9eca-40ea-8ead-410ef5e83f91",
my_base_wiki_api.py CHANGED
@@ -58,13 +58,23 @@ class MyWikiAPI:
58
  def __process_featured_log__(self, html_content):
59
  tree = html.fromstring(html_content)
60
  article_heading = "mw-heading mw-heading3"
61
- #article_heading = "mw-heading3"
62
- #elements_css = tree.cssselect(article_heading)
63
- #for element in elements_css:
64
- # print(f"Tag {element.tag}")
65
  elements = tree.xpath(f"//div[@class='{article_heading}']")
 
66
  for element in elements:
67
- print(f"Tag {element.tag} {element.text}")
 
 
 
 
 
 
 
 
 
 
 
 
 
68
 
69
 
70
  def __is_int__(self, s):
@@ -108,8 +118,10 @@ class MyWikiAPI:
108
 
109
  def get_featured_articles(self, month, year):
110
  # https://en.wikipedia.org/wiki/Wikipedia:Featured_article_candidates/Featured_log
111
- ret = self.__get_featured_log__(month,year)
112
- self.__process_featured_log__(ret)
 
 
113
 
114
  #print(f"Featured for {month} {year}:\n{ret}")
115
  return ret
 
58
  def __process_featured_log__(self, html_content):
59
  tree = html.fromstring(html_content)
60
  article_heading = "mw-heading mw-heading3"
 
 
 
 
61
  elements = tree.xpath(f"//div[@class='{article_heading}']")
62
+ element_texts = []
63
  for element in elements:
64
+ #print("-----------------------------------")
65
+ #print(f"Tag {element.tag}")
66
+
67
+ n1 = element.getnext()
68
+ n1_text = " ".join(n1.itertext())
69
+
70
+ n2 = n1.getnext()
71
+ n2_text = " ".join(n2.itertext())
72
+ element_text = f"{n1_text} {n2_text}"
73
+
74
+ #print(f"Element text: {element_text}")
75
+ element_texts.append(element_text)
76
+
77
+ return element_texts
78
 
79
 
80
  def __is_int__(self, s):
 
118
 
119
  def get_featured_articles(self, month, year):
120
  # https://en.wikipedia.org/wiki/Wikipedia:Featured_article_candidates/Featured_log
121
+ # all articles with all discussions about them
122
+ full_html = self.__get_featured_log__(month, year)
123
+
124
+ ret = self.__process_featured_log__(full_html)
125
 
126
  #print(f"Featured for {month} {year}:\n{ret}")
127
  return ret
my_prompt_config.py CHANGED
@@ -31,8 +31,8 @@ class MyPromptConfig:
31
  * _my_tool_reverse_string : reverse provided string
32
  * _my_tool_wiki_page_section : get contents of a section of the Wikipedia page
33
  * _my_tool_wiki_table_filter : filter the subsection and tables on the Wikipedia page for provided years
34
- * _my_tool_wiki_featured_articles : get information about all featured articles on Wikipedia for the
35
- given month and year
36
 
37
  If the question mentions image or other file, use one of provided tools to load it
38
  using task_id associated with the question.
 
31
  * _my_tool_reverse_string : reverse provided string
32
  * _my_tool_wiki_page_section : get contents of a section of the Wikipedia page
33
  * _my_tool_wiki_table_filter : filter the subsection and tables on the Wikipedia page for provided years
34
+ * _my_tool_wiki_featured_articles : get nominator and summary information for Wikipedia featured articles
35
+ for given month and year
36
 
37
  If the question mentions image or other file, use one of provided tools to load it
38
  using task_id associated with the question.
my_tool_wiki_featured_articles.py CHANGED
@@ -18,7 +18,7 @@ from my_base_wiki_api import MyWikiAPI
18
  class MyWikiFeaturedArticles(Tool):
19
  name = "_my_tool_wiki_featured_articles"
20
  description = """
21
- Extract contents of the page section for the provided a Wikipedia page
22
  To invoke the tool use code as below
23
  <code>
24
  featured = _my_tool_wiki_featured_articles(month='January', year='2005')
@@ -28,7 +28,7 @@ class MyWikiFeaturedArticles(Tool):
28
  inputs = {
29
  "month": {
30
  "type": "string",
31
- "description": "month provided as name of the month for example January",
32
  },
33
  "year": {
34
  "type": "integer",
@@ -44,7 +44,6 @@ class MyWikiFeaturedArticles(Tool):
44
  print(f"***KS*** Wiki featured articles tool initializing ...")
45
  self.wiki = MyWikiAPI()
46
 
47
- def forward(self, month, year) -> str:
48
  result = self.wiki.get_featured_articles(month, year)
49
- #print(f"***KS*** Wiki table filter tool, result: {result}")
50
  return result
 
18
  class MyWikiFeaturedArticles(Tool):
19
  name = "_my_tool_wiki_featured_articles"
20
  description = """
21
+ Extracts a list of nominators and summaries of featured Wikipedia articles for the provided month and year
22
  To invoke the tool use code as below
23
  <code>
24
  featured = _my_tool_wiki_featured_articles(month='January', year='2005')
 
28
  inputs = {
29
  "month": {
30
  "type": "string",
31
+ "description": "name of the month for example January",
32
  },
33
  "year": {
34
  "type": "integer",
 
44
  print(f"***KS*** Wiki featured articles tool initializing ...")
45
  self.wiki = MyWikiAPI()
46
 
47
+ def forward(self, month, year):
48
  result = self.wiki.get_featured_articles(month, year)
 
49
  return result
test_tools.py CHANGED
@@ -6,6 +6,7 @@ from my_tool_chess_analysis import ChessAnalysisTool
6
  from my_tool_wiki_page_section import MyWikiPageSectionTool
7
  from my_tool_wiki_filter_tables import MyWikiTableFilterTool
8
  from my_base_wiki_api import MyWikiAPI
 
9
  import pytest
10
  import matplotlib as mp
11
 
@@ -13,10 +14,14 @@ import matplotlib as mp
13
 
14
  @pytest.mark.parametrize("_month,_year,_exp", [('November',2016, "Giganotosaurus")])
15
  def test_tool_wiki_contributions(_month,_year, _exp):
16
- api = MyWikiAPI()
17
- content = api.get_featured_articles(_month,_year)
 
 
 
 
18
 
19
- assert content.find(_exp) >= 0
20
 
21
 
22
  @pytest.mark.skip(reason="disabled")
 
6
  from my_tool_wiki_page_section import MyWikiPageSectionTool
7
  from my_tool_wiki_filter_tables import MyWikiTableFilterTool
8
  from my_base_wiki_api import MyWikiAPI
9
+ from my_tool_wiki_featured_articles import MyWikiFeaturedArticles
10
  import pytest
11
  import matplotlib as mp
12
 
 
14
 
15
  @pytest.mark.parametrize("_month,_year,_exp", [('November',2016, "Giganotosaurus")])
16
  def test_tool_wiki_contributions(_month,_year, _exp):
17
+ #api = MyWikiAPI()
18
+ #content = api.get_featured_articles(_month,_year)
19
+ tool = MyWikiFeaturedArticles()
20
+ results = tool(month=_month, year=_year)
21
+ results_str = "\n".join(results)
22
+ print(f"Results: {len(results)}\n{results_str}")
23
 
24
+ assert 0 == 0
25
 
26
 
27
  @pytest.mark.skip(reason="disabled")