From 77d7e2ea770b4e79146fc5322ceacedc91bf5e1c Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Wed, 5 Oct 2022 22:42:21 +0200 Subject: [PATCH] python: add all statements from index Previously, only non-text statements (such as `**`) were added. Now also `for`, `if`, `elif`, `else`, ... are added See https://github.com/freeCodeCamp/devdocs/issues/696#issuecomment-1243554434 --- lib/docs/filters/python/entries_v3.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/docs/filters/python/entries_v3.rb b/lib/docs/filters/python/entries_v3.rb index 90c9a970..2db966d6 100644 --- a/lib/docs/filters/python/entries_v3.rb +++ b/lib/docs/filters/python/entries_v3.rb @@ -90,8 +90,6 @@ module Docs name = node.content.remove("\u{00b6}") name.concat " (#{self.name})" if slug.start_with?('library') entries << [name, node.parent['id']] - statement = name[/The (.+) statement/, 1] - entries << ["#{statement} (statement)", node.parent['id'], 'Statements'] if statement && slug.start_with?('reference') end end @@ -112,19 +110,25 @@ module Docs name = node.children.first next unless name.text? name = name.text.strip() - next if name[/^\w/] || name[/^-+\w/] + next if name[/Python Enhancement Proposals/] node.css('> ul > li > a').each do |inner_node| inner_name = inner_node.text.strip() next if inner_name[/\[\d+\]/] + href = inner_node['href'] + next if (name[/^\w/] || name[/^-+\w/]) && !href[/stmts/] type = case inner_name + when 'keyword' + 'Keywords' when 'operator' 'Operators' when 'in regular expressions' 'Regular Expression' + when /statement/ + 'Statements' else 'Symbols' end - entries << ["#{name} (#{inner_name})", inner_node['href'], type] + entries << ["#{name} (#{inner_name})", href, type] end end end