clicoder 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/clicoder/cli.rb +10 -3
- data/lib/clicoder/site_base.rb +5 -2
- data/lib/clicoder/sites/atcoder.rb +5 -5
- data/lib/clicoder/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab43482f8623533ebf4522b2ba10a442943e36f4
|
4
|
+
data.tar.gz: fd96596c5157e9322f157c7295c3141fee35e901
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06a0796538db286cfd1675fd83163ab968d846610fc5a6b12c672163f133a149853c3cb299a35287efb3be33b26b584b0c22fb7a226e71408ed40a6ddb72b603
|
7
|
+
data.tar.gz: b89241d61f27cc6eb051a3d8d8995a7b9f91f7b015708aa2671a8d0fac2e0f0fe28cffd3bf4c89f0b159153703dabce467851c44d1af68100a2c43a28b345357
|
data/README.md
CHANGED
data/lib/clicoder/cli.rb
CHANGED
@@ -22,9 +22,16 @@ module Clicoder
|
|
22
22
|
start_with(aoj)
|
23
23
|
end
|
24
24
|
|
25
|
-
desc "atcoder
|
26
|
-
def atcoder(
|
27
|
-
|
25
|
+
desc "atcoder TASK_URL", "Prepare directory to deal with new problem from AtCoder"
|
26
|
+
def atcoder(task_url)
|
27
|
+
match_regexp = %r{http://([^.]*)\.contest\.atcoder\.jp/tasks/(.*)}
|
28
|
+
if m = task_url.match(match_regexp)
|
29
|
+
contest_id, task_id = task_url.match(match_regexp)[1, 2]
|
30
|
+
else
|
31
|
+
raise ArgumentError, 'Please provide a valid atcoder task url.'
|
32
|
+
end
|
33
|
+
|
34
|
+
atcoder = AtCoder.new(contest_id, task_id)
|
28
35
|
start_with(atcoder)
|
29
36
|
end
|
30
37
|
|
data/lib/clicoder/site_base.rb
CHANGED
@@ -13,6 +13,7 @@ module Clicoder
|
|
13
13
|
include Helper
|
14
14
|
|
15
15
|
# Parameters
|
16
|
+
abstract_method :login
|
16
17
|
abstract_method :site_name
|
17
18
|
abstract_method :problem_url
|
18
19
|
abstract_method :description_xpath
|
@@ -32,7 +33,7 @@ module Clicoder
|
|
32
33
|
when 'aoj'
|
33
34
|
AOJ.new(config['problem_number'])
|
34
35
|
when 'atcoder'
|
35
|
-
AtCoder.new(config['contest_id'], config['
|
36
|
+
AtCoder.new(config['contest_id'], config['task_id'])
|
36
37
|
end
|
37
38
|
end
|
38
39
|
|
@@ -121,7 +122,9 @@ module Clicoder
|
|
121
122
|
end
|
122
123
|
|
123
124
|
def xml_document
|
124
|
-
|
125
|
+
login do |mechanize, contest_page|
|
126
|
+
@xml_document ||= Nokogiri::HTML(mechanize.get(problem_url).content)
|
127
|
+
end
|
125
128
|
end
|
126
129
|
|
127
130
|
def config
|
@@ -6,11 +6,11 @@ require 'mechanize'
|
|
6
6
|
module Clicoder
|
7
7
|
class AtCoder < SiteBase
|
8
8
|
|
9
|
-
def initialize(contest_id,
|
9
|
+
def initialize(contest_id, task_id)
|
10
10
|
config.local['contest_id'] = contest_id
|
11
|
-
config.local['
|
11
|
+
config.local['task_id'] = task_id
|
12
12
|
@contest_id = contest_id
|
13
|
-
@
|
13
|
+
@task_id = task_id
|
14
14
|
end
|
15
15
|
|
16
16
|
def submit
|
@@ -44,7 +44,7 @@ module Clicoder
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def problem_url
|
47
|
-
"http://#{@contest_id}.contest.atcoder.jp/tasks/#{@
|
47
|
+
"http://#{@contest_id}.contest.atcoder.jp/tasks/#{@task_id}"
|
48
48
|
end
|
49
49
|
|
50
50
|
def description_xpath
|
@@ -60,7 +60,7 @@ module Clicoder
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def working_directory
|
63
|
-
@
|
63
|
+
@task_id
|
64
64
|
end
|
65
65
|
end
|
66
66
|
end
|
data/lib/clicoder/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clicoder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugimoto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -266,3 +266,4 @@ test_files:
|
|
266
266
|
- spec/sites/aoj_spec.rb
|
267
267
|
- spec/sites/sample_site_spec.rb
|
268
268
|
- spec/spec_helper.rb
|
269
|
+
has_rdoc:
|