forked from ASCIIwwdc/asciiwwdc.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
37 lines (30 loc) · 1000 Bytes
/
Rakefile
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 'bundler'
Bundler.require
require 'yaml'
Sequel.extension :migration
DB = Sequel.connect(ENV['DATABASE_URL'])
Sequel::Migrator.run(DB, ::File.join(::File.dirname(__FILE__), 'lib/migrations'))
require './lib/models/session'
namespace :db do
task :seed do
Dir["data/*"].each do |directory|
year = Integer(directory.split(/\//).last)
YAML.load(File.open(File.join(directory, "_sessions.yml"))).each do |number, attributes|
session = Session.new(attributes)
session.number = number
session.year = year
session.transcript = File.read("data/#{year}/#{number}.srt").lines.delete_if{|line|
line == "\n" ||
line[0] == "[" ||
/^\d{2}\:\d{2}\:\d{2}\.\d{3}/ === line ||
/^WEBVTT/ === line ||
/^X-TIMESTAMP-MAP/ === line
}.collect{|line|
line.gsub(/[\r\n]+/, " ").gsub(/(>\;|\-\-)/, "")
}.join
puts session
session.save
end
end
end
end