ojsubmitter 0.4.0 → 0.4.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4c31db1fd2585d4ed4427c155dfa5aa995773c74
4
- data.tar.gz: 9399f3e6179459f81314f50205224afbc94ce3c7
3
+ metadata.gz: 124914fec76b8a1b202797e835a73fe4de8385dc
4
+ data.tar.gz: bb2beaff82cd088c173ccc39e6b187483ff6db46
5
5
  SHA512:
6
- metadata.gz: a602d458dd531e674b253579a01c55aff2641b4a73f838c88e6222686f9c52e5856913af81378f29b9d0e2d0637fad32d97a423e314db1927a31d12c628479c7
7
- data.tar.gz: cee4338c534b173fc6b3e90e46eda0e4a08279cd246e9be74f55a49aa05e7d2259af35cbf4cc6297582cfdd73405cb21a6ca7e2201ccf663212479c465661e74
6
+ metadata.gz: 7f50806fb64c218d31eed9ba39c59a703c14d3601e961e9c408837f938d0b54ef001b5bcdaf297db4732fbe3b3b013aacdab98bb66df2d9f01cd28496eb95612
7
+ data.tar.gz: e83aba4eb5aa6b2838ba2357a0a7bd90d522698dcff948c816e4450ab2c5a1b38d1e9c95624b5c80da431e8a8f8387747f78ddd1d20325ed661a9a209407f6fe
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/ojsubmitter.svg)](https://badge.fury.io/rb/ojsubmitter) [![Build Status](https://travis-ci.org/hadrori/ojsubmitter.svg?branch=master)](https://travis-ci.org/hadrori/ojsubmitter) [![Coverage Status](https://coveralls.io/repos/github/hadrori/ojsubmitter/badge.svg?branch=master)](https://coveralls.io/github/hadrori/ojsubmitter?branch=master) [![Dependency Status](https://gemnasium.com/hadrori/ojsubmitter.svg)](https://gemnasium.com/hadrori/ojsubmitter)
4
4
 
5
- Submit a source code to the online judge from CLI.
5
+ This gem helps you submit source code to online judges from command line interface.
6
6
 
7
7
  ## Requirements
8
8
 
@@ -18,23 +18,11 @@ You can also get this list from `ojsubmitter list` command.
18
18
 
19
19
  ## Installation
20
20
 
21
- Add this line to your application's Gemfile:
22
-
23
- ```ruby
24
- gem 'ojsubmitter'
25
- ```
26
-
27
- And then execute:
28
-
29
- $ bundle
30
-
31
- Or install it yourself as:
32
-
33
21
  $ gem install ojsubmitter
34
22
 
35
23
  ## Configure
36
24
 
37
- Please run below command to create config file to home directory.
25
+ Please run below command to create config file to home directory(`~/.ojsconf.yml`).
38
26
  You can set the default options of ojsubmitter command.
39
27
 
40
28
  $ ojsubmitter init
@@ -44,9 +32,157 @@ You can set the default options of ojsubmitter command.
44
32
 
45
33
  #### Submit
46
34
 
47
- $ ojsubmitter -j [JUDGE_NAME] -u [USER_NAME] -p [PASSWORD] -l [LANGUAGE] -f [SOURCE_FILE]
35
+ $ ojsubmitter -j [JUDGE_NAME] -u [USER_NAME] -p [PASSWORD] -l [LANGUAGE] -f [SOURCE_FILE] -i [PROBLEM_ID]
36
+
37
+ This command has too many options, so you can use `.ojsconf.yml` to set default options.
38
+ After submitting, this will open the submission status page with web browser. If you don't want to open browser, please use `-n` option.
39
+ If you don't specify the problem id, this tool assume the problem id from file name and target judge name.
40
+
41
+ #### Available judges and options to submit.
42
+
43
+ | online judge | problem | judge (-j) | problem_id (-i) | file name (-f) |
44
+ |:--|:--|:--:|:--:|:--:|
45
+ | Aizu Online Judge | [0000](http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0000) | aoj | 0000 | 0000.cpp |
46
+ | PKU Judge Online | [1000](http://poj.org/problem?id=1000) | poj | 1000 | 1000.cpp |
47
+ | Sphere Online Judge | [PRIME1](http://www.spoj.com/problems/PRIME1/) | spoj | PRIME1 | prime1.cpp |
48
+ | Codeforces | [1A](http://codeforces.com/problemset/problem/1/A) | cf, codeforces | 1A | 1A.cpp |
49
+
50
+ When you submit to Codeforces and your file name is like `A.cpp`, this tool assume contest id from your current directory. For example, if your current directory is `/path/to/cf/1` and file name is `A.cpp`, problem id will be `1A`.
51
+
52
+
53
+ #### Available languages
54
+
55
+ All languages are case-insensitive.
56
+
57
+ #### Aizu Online Judge
58
+
59
+ Version infomation of AOJ is [here](http://judge.u-aizu.ac.jp/onlinejudge/status_note.jsp).
60
+
61
+ | Language | language option (-l) |
62
+ |:--|:--|
63
+ | C | C |
64
+ | C++ | C++ |
65
+ | C++11 | C++11 |
66
+ | C++14 | C++14 |
67
+ | JAVA | JAVA |
68
+ | Scala | Scala |
69
+ | Haskell | Haskell |
70
+ | OCaml | OCaml |
71
+ | C# | C# |
72
+ | D | D |
73
+ | Ruby | Ruby |
74
+ | Python | Python |
75
+ | Python3 | Python3 |
76
+ | PHP | PHP |
77
+ | JavaScript | JavaScript |
78
+
79
+ #### PKU JudgeOnline
80
+
81
+ Version infomation of POJ is [here](http://poj.org/page?id=1000).
82
+
83
+ | Language | language option (-l) |
84
+ |:--|:--|
85
+ | G++ | G++ |
86
+ | GCC | GCC |
87
+ | Java | Java |
88
+ | Pascal | Pascal |
89
+ | C++ | C++ |
90
+ | C | C |
91
+ | Fortran | Fortran |
92
+
93
+ #### Sphere Online Judge
94
+
95
+ Version infomation of SPOJ is [here](http://poj.org/page?id=1000).
96
+
97
+ | Language | language option (-l) |
98
+ |:--|:--|
99
+ | ADA 95 (gnat 5.1) | ADA |
100
+ | Assembler (nasm 2.11.05) | Assembler |
101
+ | Awk (gawk-4.1.1) | Awk |
102
+ | Bash (bash-4.3.33) | Bash |
103
+ | Brainf**k (bff 1.0.5) | Brainf**k |
104
+ | C (gcc 5.1) | C |
105
+ | C# (gmcs 4.0.2) | C# |
106
+ | C++ (g++ 5.1) | C++ |
107
+ | C++14 (g++ 5.1) | C++14 |
108
+ | C99 strict (gcc 5.1) | C99 |
109
+ | Clips (clips 6.24) | Clips |
110
+ | Clojure (clojure 1.7) | Clojure |
111
+ | Cobol (opencobol 1.1) | Cobol |
112
+ | Common Lisp (clisp 2.49) | CommonLisp |
113
+ | D (dmd 2.067.1) | D |
114
+ | Elixir (1.1.0) | Elixir |
115
+ | Erlang (erl 18) | Erlang |
116
+ | F# (fsharp 3.1) | F# |
117
+ | Fantom (1.0.67) | Fantom |
118
+ | Fortran 95 (gfortran 5.1) | Fortran |
119
+ | Go (gc 1.4.2) | Go |
120
+ | Groovy (2.4.4) | groovy |
121
+ | Haskell (ghc 7.8) | Haskell |
122
+ | Icon (iconc 9.4.3) | Icon |
123
+ | Intercal (ick 0.28-4) | Intercal |
124
+ | JAR (JavaSE 6) | JAR |
125
+ | Java (JavaSE 8u51) | Java |
126
+ | JavaScript (spidermonkey 24.) | JavaScript |
127
+ | Lua (luac 5.2) | Lua |
128
+ | Nemerle (ncc 0.9.3) | Nemerle |
129
+ | Nice (nicec 0.9.13) | Nice |
130
+ | Nim (nim 0.11.2) | Nim |
131
+ | ObjC (clang 3.7) | ObjC |
132
+ | Ocaml (ocamlopt 4.01.0) | Ocaml |
133
+ | Pascal (gpc 20070904) | Pascal |
134
+ | Perl (perl 5.20.1) | Perl |
135
+ | PHP (php 5.6.9) | PHP |
136
+ | PicoLisp (3.1.1) | PicoLisp |
137
+ | Pike (pike 7.8) | Pike |
138
+ | Prolog (swipl 7.2) | Prolog |
139
+ | Python (python 2.7.10) | Python |
140
+ | Python (PyPy 2.6) | PyPy |
141
+ | Python 3 (python 3.4) | Python3 |
142
+ | Ruby (ruby 2.1) | Ruby |
143
+ | Rust (1.0.0) | Rust |
144
+ | Scala (scala 2.11.7) | Scala |
145
+ | Scheme (guile 2.0.11) | Scheme |
146
+ | Sed (sed-4.2) | Sed |
147
+ | Smalltalk (gst 3.2.4) | Smalltalk |
148
+ | Tcl (tclsh 8.6) | Tcl |
149
+ | TECS () | TECS |
150
+ | Text (plain text) | Text |
151
+ | VB.net (vnbc 4.0.2) | VB.net |
152
+ | Whitespace (wspace 0.3) | Whitespace |
153
+
154
+
155
+ #### Codeforces
156
+
157
+ Version infomation of Codeforces is [here](http://codeforces.com/blog/entry/79).
158
+
159
+
160
+ | Language | language option (-l) |
161
+ |:--|:--|
162
+ | GNU GCC 5.1.0 | GCC |
163
+ | GNU G++ 5.1.0 | G++ |
164
+ | GNU G++11 5.1.0 | G++11 |
165
+ | Microsoft Visual C++ 2010 | MSC++ |
166
+ | C# Mono 3.12.1.0 | C# |
167
+ | MS C# .NET 4.0.30319 | MSC# |
168
+ | D DMD32 v2.069.2 | D |
169
+ | Go 1.5.2 | Go |
170
+ | Haskell GHC 7.8.3 | Haskell |
171
+ | Java 1.7.0_80 | Java7 |
172
+ | Java 1.8.0_66 | Java |
173
+ | OCaml 4.02.1 | OCaml |
174
+ | Delphi 7 | Delphi |
175
+ | Free Pascal 2.6.4 | Pascal |
176
+ | Perl 5.20.1 | Perl |
177
+ | PHP 5.4.42 | PHP |
178
+ | Python 2.7.10 | Python |
179
+ | Python 3.5.1 | Python3 |
180
+ | PyPy 2.7.10 (2.6.1) | PyPy |
181
+ | PyPy 3.2.5 (2.4.0) | PyPy3 |
182
+ | Ruby 2.0.0p645 | Ruby |
183
+ | Scala 2.11.7 | Scala |
184
+ | JavaScript V8 4.8.0 | JavaScript |
48
185
 
49
- To omit these options, you can use config file `.ojsconf.yml` located in your home directory.
50
186
 
51
187
  #### Help
52
188
 
@@ -54,12 +190,6 @@ Please read the help command to get more info.
54
190
 
55
191
  $ ojsubmitter help
56
192
 
57
- ## Development
58
-
59
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
60
-
61
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
62
-
63
193
  ## Contributing
64
194
 
65
195
  Bug reports and pull requests are welcome on GitHub at https://github.com/hadrori/ojsubmitter. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
@@ -33,6 +33,9 @@ module OJS
33
33
  option :language,
34
34
  aliases: "-l",
35
35
  desc: "Specify a programming language."
36
+ option :problem_id,
37
+ aliases: "-i",
38
+ desc: "Specify a problem id."
36
39
  option :nostatus,
37
40
  aliases: "-n",
38
41
  type: :boolean,
@@ -7,7 +7,11 @@ module OJS
7
7
  'c' => 'C',
8
8
  'c++' => 'C++',
9
9
  'c++11' => 'C++11',
10
+ 'c++14' => 'C++14',
10
11
  'java' => 'JAVA',
12
+ 'scala' => 'Scala',
13
+ 'haskell' => 'Haskell',
14
+ 'ocaml' => 'OCaml',
11
15
  'c#' => 'C#',
12
16
  'd' => 'D',
13
17
  'ruby' => 'Ruby',
@@ -6,8 +6,8 @@ module OJS
6
6
  class << self
7
7
  LANGUAGE_ID = {
8
8
  'gcc' => '10',
9
- 'g++' => '43',
10
- 'g++11' => '1',
9
+ 'g++11' => '42',
10
+ 'g++' => '1',
11
11
  'msc++' => '2',
12
12
  'c#' => '9',
13
13
  'msc#' => '29',
@@ -6,24 +6,23 @@ module OJS
6
6
  LANGUAGE_ID = {
7
7
  'ada' => '7',
8
8
  'assembler' => '13', # nasm
9
- # 'Assembler' => '45', # Assembler GC g++
10
9
  'awk' => '104',
11
10
  'bash' => '28',
12
11
  'brainf**k' => '12',
13
12
  'c' => '11',
14
13
  'c#' => '27',
15
- 'c++' => '1',
16
- # 'C++' => '41', # g++ 4.3.2
14
+ 'c++' => '1', # g++-5
17
15
  'c++14' => '44',
18
16
  'c99' => '34',
19
17
  'clips' => '14',
20
18
  'clojure' => '111',
21
19
  'cobol' => '118',
22
20
  'commonlisp' => '32', # clisp
23
- # 'CommonLisp' => '31', # sbcl
24
- 'd' => '20',
21
+ 'd' => '102', # dmd
22
+ 'elixir' => '96',
25
23
  'erlang' => '36',
26
24
  'f#' => '124',
25
+ 'fantom' => '92',
27
26
  'fortran' => '5',
28
27
  'go' => '114',
29
28
  'groovy' => '121',
@@ -32,25 +31,26 @@ module OJS
32
31
  'intercal' => '9',
33
32
  'jar' => '24',
34
33
  'java' => '10',
35
- 'javascript' => '112',
34
+ 'javascript' => '112', # spidermonkey
36
35
  'lua' => '26',
37
36
  'nemerle' => '30',
38
37
  'nice' => '25',
38
+ 'nim' => '122',
39
+ 'objc' => '83', # clang
39
40
  'ocaml' => '8',
40
- 'pascal' => '22',
41
+ 'pascal' => '2', # gpc
41
42
  'perl' => '3',
42
43
  'php' => '29',
44
+ 'picolisp' => '94',
43
45
  'pike' => '19',
44
46
  'prolog' => '15',
45
- 'python' => '4',
46
- # 'Python' => '99' # PyPy
47
- 'python3' => '98',
48
- # 'Python3' => '116', # python 3.2.3
49
- # 'Python3' => '126', # python 3.2.3 nbc
47
+ 'python' => '4', # 2.7.0
48
+ 'pypy' => '99', # 2.6
49
+ 'python3' => '116', # Python 3.4
50
50
  'ruby' => '17',
51
+ 'rust' => '93',
51
52
  'scala' => '39',
52
53
  'scheme' => '33', # guile
53
- # 'Scheme' => '18', # stalin
54
54
  'sed' => '46',
55
55
  'smalltalk' => '23',
56
56
  'tcl' => '38',
@@ -1,3 +1,3 @@
1
1
  module OJS
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ojsubmitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - hadrori