forked from WardCunningham/search
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsite-web.rb
More file actions
37 lines (31 loc) · 754 Bytes
/
site-web.rb
File metadata and controls
37 lines (31 loc) · 754 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
require 'json'
require 'date'
@links = {}
@pages = {}
@web = {}
def read
Dir.new('sites').each do |site|
next if site.match /^\./
next unless Dir.exist?("sites/#{site}/pages")
next if (Date.today - File.mtime("sites/#{site}/pages").to_date).to_i > 365
size = Dir["sites/#{site}/pages/*"].size
next if size < 10
@pages[site] = size
next unless File.exist?("sites/#{site}/sites.txt")
@links[site] = File.readlines("sites/#{site}/sites.txt").map(&:chomp)
end
end
def clean
@links.each do |site, links|
links.select! {|link| @pages.has_key?(link)}
end
end
def merge
@pages.each do |site, pages|
@web[site] = {pages: pages, links: @links[site]}
end
end
read
clean
merge
puts JSON.pretty_generate @web