git-contest 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +13 -5
  2. data/.travis.yml +1 -0
  3. data/LICENSE.txt +1 -1
  4. data/README.md +22 -25
  5. data/bin/git-contest +2 -2
  6. data/bin/git-contest-finish +2 -2
  7. data/bin/git-contest-init +2 -2
  8. data/bin/git-contest-rebase +2 -2
  9. data/bin/git-contest-start +2 -2
  10. data/bin/git-contest-submit +34 -17
  11. data/git-contest.gemspec +2 -2
  12. data/lib/contest/driver.rb +3 -0
  13. data/lib/contest/driver/aizu_online_judge.rb +12 -12
  14. data/lib/contest/driver/base.rb +44 -19
  15. data/lib/contest/driver/codeforces.rb +21 -15
  16. data/lib/contest/driver/common.rb +21 -5
  17. data/lib/contest/driver/driver_event.rb +1 -1
  18. data/lib/contest/driver/kattis.rb +168 -0
  19. data/lib/contest/driver/uva_online_judge.rb +14 -11
  20. data/lib/git/contest/version.rb +2 -2
  21. data/spec/bin/t004_git_contest_submit_spec.rb +143 -69
  22. data/spec/lib/contest/driver/t001_aizu_online_judge_spec.rb +46 -29
  23. data/spec/lib/contest/driver/t002_codeforces_spec.rb +185 -20
  24. data/spec/lib/contest/driver/t003_uva_online_judge_spec.rb +157 -10
  25. data/spec/lib/contest/driver/t010_kattis_spec.rb +207 -0
  26. data/spec/mock/default_config/plugins/driver_dummy.rb +31 -11
  27. data/spec/mock/t002/codeforces_after_submit.html +45 -0
  28. data/spec/mock/t002/codeforces_enter.html +67 -0
  29. data/spec/mock/t002/codeforces_submit.html +110 -0
  30. data/spec/mock/t002/codeforces_wait_result.html +58 -0
  31. data/spec/mock/t003/uva_after_quick_submit.html +17 -0
  32. data/spec/mock/t003/uva_home.html +39 -0
  33. data/spec/mock/t003/uva_my_submissions.html +111 -0
  34. data/spec/mock/t003/uva_quick_submit.html +67 -0
  35. data/spec/mock/t010/open_kattis_com_login.html +20 -0
  36. data/spec/mock/t010/open_kattis_com_submit.html +54 -0
  37. data/spec/mock/t010/open_kattis_com_user_submissions.html +28 -0
  38. data/spec/mock/t010/user_submission_111111.html +30 -0
  39. data/spec/mock/t010/user_submission_222222.html +79 -0
  40. data/spec/mock/t010/user_submissions.html +39 -0
  41. metadata +58 -27
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
+ <body>
4
+ <div id="page_margins">
5
+ <div id="page" class="hold_floats">
6
+ <div id="main">
7
+ <div id="col3">
8
+ <div id="col3_content" class="clearfix">
9
+ <div id="col3_content_wrapper" class="floatbox">
10
+ <a id="content" name="content"></a>
11
+ <div class="componentheading">Quick Submit</div>
12
+ <h1></h1>
13
+ <form action="index.php?option=com_onlinejudge&amp;Itemid=25&amp;page=save_submission"
14
+ method="post" enctype="multipart/form-data">
15
+ <input type="hidden" name="problemid" value=""/>
16
+ <input type="hidden" name="category" value=""/>
17
+ <table width="100%" cellspacing="4" cellpadding="2" border="0">
18
+ <tr>
19
+ <td width="15%">Problem ID</td>
20
+ <td width="70%"><input type="text" size="10" maxlength="10" name="localid"/></td>
21
+ <td>&nbsp;</td>
22
+ </tr>
23
+ <tr>
24
+ <td width="15%" style="vertical-align : top ;">Language</td>
25
+ <td width="70%">
26
+ <input type="radio" name="language" value="1" />&nbsp;
27
+ ANSI C&nbsp;4.8.2&nbsp;-&nbsp;GNU C Compiler with options: -lm -lcrypt -O2 -pipe -ansi -DONLINE_JUDGE<br/>
28
+ <input type="radio" name="language" value="2" />&nbsp;
29
+ JAVA&nbsp;1.7.0&nbsp;-&nbsp;Java Sun JDK<br/>
30
+ <input type="radio" name="language" value="3" />&nbsp;
31
+ C++&nbsp;4.8.2&nbsp;-&nbsp;GNU C++ Compiler with options: -lm -lcrypt -O2 -pipe -DONLINE_JUDGE<br/>
32
+ <input type="radio" name="language" value="4" />&nbsp;
33
+ PASCAL&nbsp;2.6.2&nbsp;-&nbsp;Free Pascal Compiler<br/>
34
+ <input type="radio" name="language" value="5" />&nbsp;
35
+ C++11&nbsp;4.8.2&nbsp;-&nbsp;GNU C++ Compiler with options: -lm -lcrypt -O2 -std=c++11 -pipe -DONLINE_JUDGE<br/>
36
+ </td>
37
+ <td>&nbsp;</td>
38
+ </tr>
39
+ <tr>
40
+ <td width="15%" style="vertical-align : top;">Paste your code...</td>
41
+ <td width="70%">
42
+ <textarea name="code" rows="20" cols="60" ></textarea>
43
+ </td>
44
+ <td>&nbsp;</td>
45
+ </tr>
46
+ <tr>
47
+ <td width="15%">...or upload it</td>
48
+ <td width="70%">
49
+ <input type="file" name="codeupl" size="50"></textarea>
50
+ </td>
51
+ <td>&nbsp;</td>
52
+ </tr>
53
+ <tr>
54
+ <td width="15%">&nbsp;</td>
55
+ <td width="70%"><input type="submit" value="Submit"/>&nbsp;&nbsp;<input type="reset" value="Reset form"/></td>
56
+ <td>&nbsp;</td>
57
+ </tr>
58
+ </table>
59
+ </form>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </body>
66
+ </html>
67
+
@@ -0,0 +1,20 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <body>
4
+ <div class='container'>
5
+ <h1><center>Log in or sign up for Kattis</center></h1><br />
6
+ <div class="login">
7
+ <div class="login-right">
8
+ <form action="login?email_login=true" method="post">
9
+ <input type='hidden' name='csrf_token' value='this is dummy' />
10
+ Username or email<br />
11
+ <input name="user" type="text" title="user" /><br />
12
+ Password<br />
13
+ <input name="password" type="password" title="pass" /><br /><br />
14
+ <input type="submit" name="submit" value="Submit" />
15
+ </form>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ </body>
20
+ </html>
@@ -0,0 +1,54 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <body>
4
+ <div class='container'>
5
+ <h1>Upload to judge</h1><form action='submit' name='upload' method='post' enctype='multipart/form-data'>
6
+ <input type='hidden' name='csrf_token' value='this is dummy' />
7
+ <table id='submit_table' width='100%'>
8
+ <tr>
9
+ <td>
10
+ <span id='sub_files'>Select files to upload <input type='file' name='sub_file[]' id='sub_files_input' multiple onChange='hideEditor("sub_code"); document.getElementById("show_editor_button_sub_code").style.display="none"; document.getElementById("cancel").disabled=false; fileDialogEnabled();' />
11
+ </span>
12
+ <button id='show_editor_button_sub_code' name='editor_visible' type='button' onClick='showEditor("sub_code"); document.getElementById("show_editor_button_sub_code").style.display="none"; document.getElementById("sub_files").style.display="none"; document.getElementById("cancel").disabled=false; editorEnabled();'>OR open an editor</button><br />
13
+ </td>
14
+ </tr>
15
+ <tr>
16
+ <td colspan='2'>
17
+ <div id='editor_resize' style='display:none'><div class='editor_wrapper' id='sub_code_box' style='display:none'>
18
+ <div id='sub_code'></div>
19
+ </div>
20
+ </div>
21
+ <input type='hidden' id='sub_code_submit' name='sub_code' value='' />
22
+ </td>
23
+ </tr>
24
+ <tr>
25
+ <td>
26
+ Problem ID: <input type='text' name='problem' value='' list='problems'/>
27
+ </td>
28
+ <td>
29
+ <tr>
30
+ <td>Language:
31
+ <select name='lang' onChange='setLanguageChoice(parseInt(document.upload.lang.value), "")'>
32
+ <option value='1' selected='selected'>C++</option>
33
+ <option value='2' >C</option>
34
+ <option value='3' >Java</option>
35
+ <option value='6' >Python 2</option>
36
+ <option value='8' >Python 3</option>
37
+ <option value='9' >C#</option>
38
+ <option value='10' >Go</option>
39
+ <option value='11' >Objective-C</option>
40
+ </select> </td>
41
+ </tr>
42
+ <tr>
43
+ <td></td>
44
+ <td>
45
+ <button id='cancel' name='cancel' type='button' onClick='window.location="submit";' disabled>Cancel</button>
46
+ <input type='submit' name='submit' onClick='setEditorValues();' value='Submit' />
47
+ </td>
48
+ </tr>
49
+ </table>
50
+ <input type='hidden' name='submit_ctr' value='1' />
51
+ </form>
52
+ </div>
53
+ </body>
54
+ </html>
@@ -0,0 +1,28 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <body>
4
+ <div class='container'>
5
+ <h1>test user</h1>
6
+ <div id='stats'>
7
+ <table id='submissions'>
8
+ <tr>
9
+ <th>ID</th>
10
+ <th>Date</th>
11
+ <th>Problem</th>
12
+ <th>Status</th>
13
+ <th>CPU</th>
14
+ <th>Lang</th>
15
+ </tr>
16
+ <tr>
17
+ <td><a href='submission?id=999999'>999999</a></td>
18
+ <td>2014-01-01 00:00:00</td>
19
+ <td><a href="problems/333333">Problem Name</a></td>
20
+ <td class='status'><span class="rejected">Wrong Answer</span></td>
21
+ <td class='runtime'>0.00&nbsp;s</td>
22
+ <td>C++</td>
23
+ </tr>
24
+ </table>
25
+ </div>
26
+ </div>
27
+ </body>
28
+ </html>
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <body>
4
+ <div class="container">
5
+ <h1>Submission</h1>
6
+ <table id="judge_table">
7
+ <tbody>
8
+ <tr>
9
+ <th>ID</th>
10
+ <th>Date</th>
11
+ <th>Problem</th>
12
+ <th>Status</th>
13
+ <th>CPU</th>
14
+ <th>Lang</th>
15
+ <th>Test cases</th>
16
+ </tr>
17
+ <tr>
18
+ <td><a href="submission?id=111111">111111</a></td>
19
+ <td>04:46:40</td>
20
+ <td><a href="problems/aaah">Aaah!</a></td>
21
+ <td class="status"><span class="accepted">Accepted</span></td>
22
+ <td class="runtime">0.00&nbsp;s</td>
23
+ <td>C++</td>
24
+ <td><div class="testcases"><span class="accepted" title="Test case 1/52: Accepted"> ✔ </span><span class="accepted" title="Test case 2/52: Accepted"> ✔ </span><span class="accepted" title="Test case 3/52: Accepted"> ✔ </span><span class="accepted" title="Test case 4/52: Accepted"> ✔ </span><span class="accepted" title="Test case 5/52: Accepted"> ✔ </span><span class="accepted" title="Test case 6/52: Accepted"> ✔ </span><span class="accepted" title="Test case 7/52: Accepted"> ✔ </span><span class="accepted" title="Test case 8/52: Accepted"> ✔ </span><span class="accepted" title="Test case 9/52: Accepted"> ✔ </span><span class="accepted" title="Test case 10/52: Accepted"> ✔ </span><span class="accepted" title="Test case 11/52: Accepted"> ✔ </span><span class="accepted" title="Test case 12/52: Accepted"> ✔ </span><span class="accepted" title="Test case 13/52: Accepted"> ✔ </span><span class="accepted" title="Test case 14/52: Accepted"> ✔ </span><span class="accepted" title="Test case 15/52: Accepted"> ✔ </span><span class="accepted" title="Test case 16/52: Accepted"> ✔ </span><span class="accepted" title="Test case 17/52: Accepted"> ✔ </span><span class="accepted" title="Test case 18/52: Accepted"> ✔ </span><span class="accepted" title="Test case 19/52: Accepted"> ✔ </span><span class="accepted" title="Test case 20/52: Accepted"> ✔ </span><span class="accepted" title="Test case 21/52: Accepted"> ✔ </span><span class="accepted" title="Test case 22/52: Accepted"> ✔ </span><span class="accepted" title="Test case 23/52: Accepted"> ✔ </span><span class="accepted" title="Test case 24/52: Accepted"> ✔ </span><span class="accepted" title="Test case 25/52: Accepted"> ✔ </span><span class="accepted" title="Test case 26/52: Accepted"> ✔ </span><span class="accepted" title="Test case 27/52: Accepted"> ✔ </span><span class="accepted" title="Test case 28/52: Accepted"> ✔ </span><span class="accepted" title="Test case 29/52: Accepted"> ✔ </span><span class="accepted" title="Test case 30/52: Accepted"> ✔ </span><span class="accepted" title="Test case 31/52: Accepted"> ✔ </span><span class="accepted" title="Test case 32/52: Accepted"> ✔ </span><span class="accepted" title="Test case 33/52: Accepted"> ✔ </span><span class="accepted" title="Test case 34/52: Accepted"> ✔ </span><span class="accepted" title="Test case 35/52: Accepted"> ✔ </span><span class="accepted" title="Test case 36/52: Accepted"> ✔ </span><span class="accepted" title="Test case 37/52: Accepted"> ✔ </span><span class="accepted" title="Test case 38/52: Accepted"> ✔ </span><span class="accepted" title="Test case 39/52: Accepted"> ✔ </span><span class="accepted" title="Test case 40/52: Accepted"> ✔ </span><span class="accepted" title="Test case 41/52: Accepted"> ✔ </span><span class="accepted" title="Test case 42/52: Accepted"> ✔ </span><span class="accepted" title="Test case 43/52: Accepted"> ✔ </span><span class="accepted" title="Test case 44/52: Accepted"> ✔ </span><span class="accepted" title="Test case 45/52: Accepted"> ✔ </span><span class="accepted" title="Test case 46/52: Accepted"> ✔ </span><span class="accepted" title="Test case 47/52: Accepted"> ✔ </span><span class="accepted" title="Test case 48/52: Accepted"> ✔ </span><span class="accepted" title="Test case 49/52: Accepted"> ✔ </span><span class="accepted" title="Test case 50/52: Accepted"> ✔ </span><span class="accepted" title="Test case 51/52: Accepted"> ✔ </span><span class="accepted" title="Test case 52/52: Accepted"> ✔ </span></div></td>
25
+ </tr>
26
+ </tbody>
27
+ </table>
28
+ </div>
29
+ </body>
30
+ </html>
@@ -0,0 +1,79 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <body>
4
+ <div class="container">
5
+ <h1>Submission</h1>
6
+ <table id="judge_table">
7
+ <tbody>
8
+ <tr>
9
+ <th>ID</th>
10
+ <th>Date</th>
11
+ <th>Problem</th>
12
+ <th>Status</th>
13
+ <th>CPU</th>
14
+ <th>Lang</th>
15
+ <th>Test cases</th>
16
+ </tr>
17
+ <tr>
18
+ <td><a href="submission?id=222222">222222</a></td>
19
+ <td>04:43:57</td>
20
+ <td><a href="problems/aaah">Aaah!</a></td>
21
+ <td class="status"><span class="rejected">Wrong Answer</span></td>
22
+ <td class="runtime">0.00&nbsp;s</td>
23
+ <td>C++</td>
24
+ <td>
25
+ <div class="testcases"><span class="accepted" title="Test case 1/52: Accepted"> ✔ </span><span class="accepted" title="Test case 2/52: Accepted"> ✔ </span><span class="accepted" title="Test case 3/52: Accepted"> ✔ </span><span class="rejected" title="Test case 4/52: Wrong Answer"> ✘ </span><span title="Test case 5/52: not checked
26
+ "> &nbsp; </span><span title="Test case 6/52: not checked
27
+ "> &nbsp; </span><span title="Test case 7/52: not checked
28
+ "> &nbsp; </span><span title="Test case 8/52: not checked
29
+ "> &nbsp; </span><span title="Test case 9/52: not checked
30
+ "> &nbsp; </span><span title="Test case 10/52: not checked
31
+ "> &nbsp; </span><span title="Test case 11/52: not checked
32
+ "> &nbsp; </span><span title="Test case 12/52: not checked
33
+ "> &nbsp; </span><span title="Test case 13/52: not checked
34
+ "> &nbsp; </span><span title="Test case 14/52: not checked
35
+ "> &nbsp; </span><span title="Test case 15/52: not checked
36
+ "> &nbsp; </span><span title="Test case 16/52: not checked
37
+ "> &nbsp; </span><span title="Test case 17/52: not checked
38
+ "> &nbsp; </span><span title="Test case 18/52: not checked
39
+ "> &nbsp; </span><span title="Test case 19/52: not checked
40
+ "> &nbsp; </span><span title="Test case 20/52: not checked
41
+ "> &nbsp; </span><span title="Test case 21/52: not checked
42
+ "> &nbsp; </span><span title="Test case 22/52: not checked
43
+ "> &nbsp; </span><span title="Test case 23/52: not checked
44
+ "> &nbsp; </span><span title="Test case 24/52: not checked
45
+ "> &nbsp; </span><span title="Test case 25/52: not checked
46
+ "> &nbsp; </span><span title="Test case 26/52: not checked
47
+ "> &nbsp; </span><span title="Test case 27/52: not checked
48
+ "> &nbsp; </span><span title="Test case 28/52: not checked
49
+ "> &nbsp; </span><span title="Test case 29/52: not checked
50
+ "> &nbsp; </span><span title="Test case 30/52: not checked
51
+ "> &nbsp; </span><span title="Test case 31/52: not checked
52
+ "> &nbsp; </span><span title="Test case 32/52: not checked
53
+ "> &nbsp; </span><span title="Test case 33/52: not checked
54
+ "> &nbsp; </span><span title="Test case 34/52: not checked
55
+ "> &nbsp; </span><span title="Test case 35/52: not checked
56
+ "> &nbsp; </span><span title="Test case 36/52: not checked
57
+ "> &nbsp; </span><span title="Test case 37/52: not checked
58
+ "> &nbsp; </span><span title="Test case 38/52: not checked
59
+ "> &nbsp; </span><span title="Test case 39/52: not checked
60
+ "> &nbsp; </span><span title="Test case 40/52: not checked
61
+ "> &nbsp; </span><span title="Test case 41/52: not checked
62
+ "> &nbsp; </span><span title="Test case 42/52: not checked
63
+ "> &nbsp; </span><span title="Test case 43/52: not checked
64
+ "> &nbsp; </span><span title="Test case 44/52: not checked
65
+ "> &nbsp; </span><span title="Test case 45/52: not checked
66
+ "> &nbsp; </span><span title="Test case 46/52: not checked
67
+ "> &nbsp; </span><span title="Test case 47/52: not checked
68
+ "> &nbsp; </span><span title="Test case 48/52: not checked
69
+ "> &nbsp; </span><span title="Test case 49/52: not checked
70
+ "> &nbsp; </span><span title="Test case 50/52: not checked
71
+ "> &nbsp; </span><span title="Test case 51/52: not checked
72
+ "> &nbsp; </span><span title="Test case 52/52: not checked
73
+ "> &nbsp; </span></div></td>
74
+ </tr>
75
+ </tbody>
76
+ </table>
77
+ </div>
78
+ </body>
79
+ </html>
@@ -0,0 +1,39 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <body>
4
+ <table id='submissions'>
5
+ <tr>
6
+ <th>ID</th>
7
+ <th>Date</th>
8
+ <th>Problem</th>
9
+ <th>Status</th>
10
+ <th>CPU</th>
11
+ <th>Lang</th>
12
+ </tr>
13
+ <tr>
14
+ <td><a href='submission?id=111111'>111111</a></td>
15
+ <td>04:46:40</td>
16
+ <td><a href="problems/aaah">Aaah!</a></td>
17
+ <td class='status'><span class="accepted">Accepted</span></td>
18
+ <td class='runtime'>0.00&nbsp;s</td>
19
+ <td>C++</td>
20
+ </tr>
21
+ <tr>
22
+ <td><a href='submission?id=222222'>222222</a></td>
23
+ <td>04:43:57</td>
24
+ <td><a href="problems/aaah">Aaah!</a></td>
25
+ <td class='status'><span class="rejected">Wrong Answer</span></td>
26
+ <td class='runtime'>0.00&nbsp;s</td>
27
+ <td>C++</td>
28
+ </tr>
29
+ <tr>
30
+ <td><a href='submission?id=333333'>333333</a></td>
31
+ <td>04:42:39</td>
32
+ <td><a href="problems/aaah">Aaah!</a></td>
33
+ <td class='status'><span class="rejected">Wrong Answer</span></td>
34
+ <td class='runtime'>0.00&nbsp;s</td>
35
+ <td>C++</td>
36
+ </tr>
37
+ </table>
38
+ </body>
39
+ </html>
metadata CHANGED
@@ -1,142 +1,142 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-contest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroyuki Sano
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-20 00:00:00.000000000 Z
11
+ date: 2014-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mechanize
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: trollop
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: highline
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - ! '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.3'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.3'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - ! '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - ! '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: watchr
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - ! '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - ! '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - ! '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: webmock
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - ! '>='
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - ! '>='
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
- description: the Git Extension for online judge (Codeforces, etc...)
139
+ description: The Git Extension for online judges (Codeforces, etc...)
140
140
  email:
141
141
  - sh19910711@gmail.com
142
142
  executables:
@@ -149,9 +149,9 @@ executables:
149
149
  extensions: []
150
150
  extra_rdoc_files: []
151
151
  files:
152
- - ".gitignore"
153
- - ".rspec"
154
- - ".travis.yml"
152
+ - .gitignore
153
+ - .rspec
154
+ - .travis.yml
155
155
  - Gemfile
156
156
  - LICENSE.txt
157
157
  - README.md
@@ -169,6 +169,7 @@ files:
169
169
  - lib/contest/driver/codeforces.rb
170
170
  - lib/contest/driver/common.rb
171
171
  - lib/contest/driver/driver_event.rb
172
+ - lib/contest/driver/kattis.rb
172
173
  - lib/contest/driver/uva_online_judge.rb
173
174
  - lib/git/contest.rb
174
175
  - lib/git/contest/common.rb
@@ -183,6 +184,7 @@ files:
183
184
  - spec/lib/contest/driver/t001_aizu_online_judge_spec.rb
184
185
  - spec/lib/contest/driver/t002_codeforces_spec.rb
185
186
  - spec/lib/contest/driver/t003_uva_online_judge_spec.rb
187
+ - spec/lib/contest/driver/t010_kattis_spec.rb
186
188
  - spec/mock/default_config/config.yml
187
189
  - spec/mock/default_config/plugins/driver_dummy.rb
188
190
  - spec/mock/t001/002.status_log.xml
@@ -190,10 +192,18 @@ files:
190
192
  - spec/mock/t001/description.html
191
193
  - spec/mock/t001/status.html
192
194
  - spec/mock/t001/status_log.xml
195
+ - spec/mock/t002/codeforces_after_submit.html
196
+ - spec/mock/t002/codeforces_enter.html
197
+ - spec/mock/t002/codeforces_submit.html
198
+ - spec/mock/t002/codeforces_wait_result.html
193
199
  - spec/mock/t002/my_submissions.html
194
200
  - spec/mock/t003/after_submit.html
195
201
  - spec/mock/t003/my_submissions.compile_error.html
196
202
  - spec/mock/t003/my_submissions.sent_to_judge.html
203
+ - spec/mock/t003/uva_after_quick_submit.html
204
+ - spec/mock/t003/uva_home.html
205
+ - spec/mock/t003/uva_my_submissions.html
206
+ - spec/mock/t003/uva_quick_submit.html
197
207
  - spec/mock/t004/config.yml
198
208
  - spec/mock/t005/001/config.yml
199
209
  - spec/mock/t006/001/001/001/config.yml
@@ -205,6 +215,12 @@ files:
205
215
  - spec/mock/t006/001/003/001/config.yml
206
216
  - spec/mock/t006/001/003/002/config.yml
207
217
  - spec/mock/t006/001/003/003/config.yml
218
+ - spec/mock/t010/open_kattis_com_login.html
219
+ - spec/mock/t010/open_kattis_com_submit.html
220
+ - spec/mock/t010/open_kattis_com_user_submissions.html
221
+ - spec/mock/t010/user_submission_111111.html
222
+ - spec/mock/t010/user_submission_222222.html
223
+ - spec/mock/t010/user_submissions.html
208
224
  - spec/spec_helper.rb
209
225
  - spec/spec_list.txt
210
226
  - spec/t006_config_spec.rb
@@ -218,12 +234,12 @@ require_paths:
218
234
  - lib
219
235
  required_ruby_version: !ruby/object:Gem::Requirement
220
236
  requirements:
221
- - - ">="
237
+ - - ! '>='
222
238
  - !ruby/object:Gem::Version
223
239
  version: '0'
224
240
  required_rubygems_version: !ruby/object:Gem::Requirement
225
241
  requirements:
226
- - - ">="
242
+ - - ! '>='
227
243
  - !ruby/object:Gem::Version
228
244
  version: '0'
229
245
  requirements: []
@@ -231,7 +247,7 @@ rubyforge_project:
231
247
  rubygems_version: 2.1.11
232
248
  signing_key:
233
249
  specification_version: 4
234
- summary: the Git Extension for online judge (Codeforces, etc...)
250
+ summary: The Git Extension for online judges (Codeforces, etc...)
235
251
  test_files:
236
252
  - spec/bin/t004_git_contest_submit_spec.rb
237
253
  - spec/bin/t005_git_contest_branching_spec.rb
@@ -241,6 +257,7 @@ test_files:
241
257
  - spec/lib/contest/driver/t001_aizu_online_judge_spec.rb
242
258
  - spec/lib/contest/driver/t002_codeforces_spec.rb
243
259
  - spec/lib/contest/driver/t003_uva_online_judge_spec.rb
260
+ - spec/lib/contest/driver/t010_kattis_spec.rb
244
261
  - spec/mock/default_config/config.yml
245
262
  - spec/mock/default_config/plugins/driver_dummy.rb
246
263
  - spec/mock/t001/002.status_log.xml
@@ -248,10 +265,18 @@ test_files:
248
265
  - spec/mock/t001/description.html
249
266
  - spec/mock/t001/status.html
250
267
  - spec/mock/t001/status_log.xml
268
+ - spec/mock/t002/codeforces_after_submit.html
269
+ - spec/mock/t002/codeforces_enter.html
270
+ - spec/mock/t002/codeforces_submit.html
271
+ - spec/mock/t002/codeforces_wait_result.html
251
272
  - spec/mock/t002/my_submissions.html
252
273
  - spec/mock/t003/after_submit.html
253
274
  - spec/mock/t003/my_submissions.compile_error.html
254
275
  - spec/mock/t003/my_submissions.sent_to_judge.html
276
+ - spec/mock/t003/uva_after_quick_submit.html
277
+ - spec/mock/t003/uva_home.html
278
+ - spec/mock/t003/uva_my_submissions.html
279
+ - spec/mock/t003/uva_quick_submit.html
255
280
  - spec/mock/t004/config.yml
256
281
  - spec/mock/t005/001/config.yml
257
282
  - spec/mock/t006/001/001/001/config.yml
@@ -263,6 +288,12 @@ test_files:
263
288
  - spec/mock/t006/001/003/001/config.yml
264
289
  - spec/mock/t006/001/003/002/config.yml
265
290
  - spec/mock/t006/001/003/003/config.yml
291
+ - spec/mock/t010/open_kattis_com_login.html
292
+ - spec/mock/t010/open_kattis_com_submit.html
293
+ - spec/mock/t010/open_kattis_com_user_submissions.html
294
+ - spec/mock/t010/user_submission_111111.html
295
+ - spec/mock/t010/user_submission_222222.html
296
+ - spec/mock/t010/user_submissions.html
266
297
  - spec/spec_helper.rb
267
298
  - spec/spec_list.txt
268
299
  - spec/t006_config_spec.rb