feat(scraper): scrap module Signals section
This commit is contained in:
parent
b1c3d80604
commit
43cc531cc4
|
@ -9,6 +9,7 @@ local record Module_Doc
|
|||
constructors: List<Function_Info.Function_Info>
|
||||
methods: List<Function_Info.Function_Info>
|
||||
static_functions: List<Function_Info.Function_Info>
|
||||
signals: List<string>
|
||||
end
|
||||
|
||||
local __Module_Doc: metatable<Module_Doc> = {
|
||||
|
|
|
@ -8,6 +8,10 @@ local utils = require "utils"
|
|||
|
||||
local log = logger.log("scraper")
|
||||
|
||||
local function extract_node_text(node: scan.HTMLNode): string
|
||||
return utils.sanitize_string(node:inner_text())
|
||||
end
|
||||
|
||||
local function extract_function_name(function_name_node: scan.HTMLNode): string
|
||||
return function_name_node and ((function_name_node.attr.name as string):gsub(".*:", ""))
|
||||
end
|
||||
|
@ -20,9 +24,7 @@ local function extract_function_return_types(function_return_types_node: scan.HT
|
|||
local selector = "span.types .type"
|
||||
local html = function_return_types_node:outer_html()
|
||||
|
||||
return scraper_utils.scrape(html, selector, function(node: scan.HTMLNode): string
|
||||
return utils.sanitize_string(node:inner_text())
|
||||
end)
|
||||
return scraper_utils.scrape(html, selector, extract_node_text)
|
||||
end
|
||||
|
||||
local function extract_section_functions(dl: string): { Function_Info.Function_Info }
|
||||
|
@ -50,6 +52,12 @@ local function extract_section_functions(dl: string): { Function_Info.Function_I
|
|||
)
|
||||
end
|
||||
|
||||
local function extract_section_signal(dl: string): { string }
|
||||
local selector = "dt strong"
|
||||
|
||||
return scraper_utils.scrape(dl, selector, extract_node_text)
|
||||
end
|
||||
|
||||
local module = {}
|
||||
|
||||
function module.get_doc_from_page(html: string): Module_Doc.Module_Doc
|
||||
|
@ -80,7 +88,7 @@ function module.get_doc_from_page(html: string): Module_Doc.Module_Doc
|
|||
elseif section_name == "Object methods" then
|
||||
module_doc.methods = List(extract_section_functions(dl_html))
|
||||
elseif section_name == "Signals" then
|
||||
log:warn("Not implemented: Signals")
|
||||
module_doc.signals = List(extract_section_signal(dl_html))
|
||||
else
|
||||
error("Unknown section name: " .. section_name)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue