lib/clicoder/site_base.rb in clicoder-0.0.3 vs lib/clicoder/site_base.rb in clicoder-0.0.4
- old
+ new
@@ -11,10 +11,11 @@
module Clicoder
class SiteBase
include Helper
# Parameters
+ abstract_method :login
abstract_method :site_name
abstract_method :problem_url
abstract_method :description_xpath
abstract_method :inputs_xpath
abstract_method :outputs_xpath
@@ -30,11 +31,11 @@
when 'sample_site'
SampleSite.new
when 'aoj'
AOJ.new(config['problem_number'])
when 'atcoder'
- AtCoder.new(config['contest_id'], config['problem_number'])
+ AtCoder.new(config['contest_id'], config['task_id'])
end
end
def start
prepare_directories
@@ -119,10 +120,12 @@
f.write(config.local.to_yaml)
end
end
def xml_document
- @xml_document ||= Nokogiri::HTML(open(problem_url))
+ login do |mechanize, contest_page|
+ @xml_document ||= Nokogiri::HTML(mechanize.get(problem_url).content)
+ end
end
def config
@config ||= Config.new
end