History

Finish Falcon scraper

Thibaut Courouble committed 9 years ago

Commit 899aee81 parent f42425610 files · +27 −15Browse files

Showing the changes to lib/docs (2 of 10 files). Show all

Unified · Split

2 files
  1. lib/docs/filters/falcon/entries.rb +17 −11
  2. lib/docs/scrapers/falcon.rb +6 −6
lib/docs/filters/falcon/entries.rb+17−11
@@ -9,14 +9,10 @@ module Docs · 8 unmodified lines
9 9
10 def get_type10 def get_type
11 case slug.split('/').first11 case slug.split('/').first
12 when 'community'
13 'Community Guide'
14 when 'user'12 when 'user'
15 'User Guide'13 'Guide'
16 when 'api'14 when 'api'
17 'Classes and Functions'15 'API'
18 else
19 'Other'
20 end16 end
21 end17 end
22 18
@@ -24,23 +20,33 @@ module Docs · 1 unmodified line
24 entries = []20 entries = []
25 21
26 css('.class').each do |node|22 css('.class').each do |node|
23 namespace = node.at_css('.descclassname').content.strip.remove(/\.\z/)
27 class_name = node.at_css('dt > .descname').content24 class_name = node.at_css('dt > .descname').content
28 class_id = node.at_css('dt[id]')['id']25 class_id = node.at_css('dt[id]')['id']
29 entries << [class_name, class_id]26 entries << ["#{namespace}.#{class_name}", class_id, namespace]
27
28 node.css('.attribute').each do |n|
29 next unless n.at_css('dt[id]')
30 name = n.at_css('.descname').content
31 name = "#{namespace}.#{class_name}.#{name}"
32 id = n.at_css('dt[id]')['id']
33 entries << [name, id, namespace]
34 end
30 35
31 node.css('.method').each do |n|36 node.css('.method').each do |n|
32 next unless n.at_css('dt[id]')37 next unless n.at_css('dt[id]')
33 name = n.at_css('.descname').content38 name = n.at_css('.descname').content
34 name = "#{class_name}.#{name}()"39 name = "#{namespace}.#{class_name}.#{name}()"
35 id = n.at_css('dt[id]')['id']40 id = n.at_css('dt[id]')['id']
36 entries << [name, id]41 entries << [name, id, namespace]
37 end42 end
38 end43 end
39 44
40 css('.function').each do |node|45 css('.function').each do |node|
41 name = "#{node.at_css('.descname').content}()"46 namespace = node.at_css('.descclassname').content.strip.remove(/\.\z/)
47 name = "#{namespace}.#{node.at_css('.descname').content}()"
42 id = node.at_css('dt[id]')['id']48 id = node.at_css('dt[id]')['id']
43 entries << [name, id]49 entries << [name, id, namespace]
44 end50 end
45 51
46 entries52 entries
lib/docs/scrapers/falcon.rb+6−6
@@ -11,17 +11,17 @@ module Docs · 10 unmodified lines
11 11
12 options[:container] = '.body'12 options[:container] = '.body'
13 13
14 options[:skip_patterns] = [/\Achanges/, /\A_modules/]14 options[:skip] = %w(user/index.html api/index.html)
15 options[:skip_patterns] = [/\Achanges/, /\A_modules/, /\Acommunity/]
15 16
16 options[:attribution] = <<-HTML17 options[:attribution] = <<-HTML
17 &copy; 2016 Falcon Contributors<br>18 &copy; 2012&ndash;2016 by Rackspace Hosting, Inc. and other contributors<br>
18 Licensed under the Apache 2 License.19 Licensed under the Apache License, Version 2.0.
19 HTML20 HTML
20 21
21 version '1.2.0' do22 version '1.2' do
22 self.release = '1.2.0'23 self.release = '1.2.0'
23 self.base_url = "https://falcon.readthedocs.io/en/#{self.version}/"24 self.base_url = "https://falcon.readthedocs.io/en/#{self.release}/"
24 end25 end
25
26 end26 end
27end27end