ISKU / Boj Autocommit
Programming Languages
Projects that are alternatives of or similar to Boj Autocommit
BOJ-AutoCommit
BOJ-AutoCommit
์ Baekjoon Online Judge(์ดํ BOJ)์ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ์ด์ ์ ์ถํ๊ณ ์ ๋ต์ ๋ง์ถ๋ฉด Github์ ๊ฐ์ ์๊ฒฉ์ ์ฅ์์ Source Code๋ฅผ Pushํฉ๋๋ค. ์ผ์ ํ ์๊ฐ๋ง๋ค BOJ์์ ์ฌ์ฉ์์ ID๋ฅผ ์ด์ฉํ์ฌ ์ ๋ต์ ๋ง์ถ ๋ฌธ์ ๋ค์ ๊ฒ์ ๋ฐ ๋ถ์ํ๊ณ , Local Repository์ ํด๋น ๋ฌธ์ ํ์ผ์ด ์กด์ฌํ์ง ์์ผ๋ฉด Source Code๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์ Local Repository์ ์ ์ฅํจ๊ณผ ๋์์ Git
์ ์ฌ์ฉํ์ฌ Add, Commit ๊ทธ๋ฆฌ๊ณ Push๋ฅผ ์๋์ผ๋ก ํ๋ฉฐ, Python3
์ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ก์ต๋๋ค.
Installation
$ git clone https://github.com/ISKU/BOJ-AutoCommit
Dependency
$ pip3 install requests
$ pip3 install bs4
How to use
- ๋ค์๊ณผ ๊ฐ์ด Tool์ ์คํํ์ฌ, ์ฌ๋ฐ๋ฅธ ์ ๋ณด๋ฅผ ์ ๋ ฅํฉ๋๋ค.
$ python3 main.py
- Tool ์คํ์ ๋ค์๊ณผ ๊ฐ์ด BOJ์ ํ์ ์ ๋ณด์ GitHub์ ํ์ ์ ๋ณด ๋ฐ Repository ์ด๋ฆ์ ์ ๋ ฅํ์ฌ์ผ ํฉ๋๋ค.
Input | Description |
---|---|
BOJ id | BOJ์์ ์ฌ์ฉํ๋ ID๋ฅผ ์ ๋ ฅํฉ๋๋ค. |
BOJ password | ๋ก๊ทธ์ธ์ ์ํด BOJ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค. |
GitHub id | GitHub์์ ์ฌ์ฉํ๋ ID๋ฅผ ์ ๋ ฅํฉ๋๋ค. |
GitHub password | ๋ก๊ทธ์ธ์ ์ํด GitHub์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค. |
Repository | Source Code๋ฅผ Pushํ ์๊ฒฉ์ ์ฅ์์ Repository์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค. |
- ์ด Tool์ ๋๊ธฐํ๊ณ ์๋ ์๊ฐ์ด ๊ธธ๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด Background์์ ์คํ์ ๊ถ์ฅํฉ๋๋ค.
$ nohup python3 main.py &
Default
- ๋ฌธ์ ๋ฒํธ๋ก Directory๋ฅผ ์์ฑ ํ ํ, ํ์์ ๋ฌธ์ ๋ฒํธ๋ฅผ ์ ๋ชฉ์ผ๋ก Source Code ํ์ผ์ด ์ ์ฅ๋ฉ๋๋ค.
- Commit Message๋ ๊ธฐ๋ณธ์ ์ผ๋ก "BOJ #๋ฌธ์ ๋ฒํธ" ์ ๋๋ค.
- ์ฝ 10๋ถ๋ง๋ค ๋ง์๋ ๋ฌธ์ ๋ฅผ ๊ฒ์ํ๊ณ ์๋กญ๊ฒ ๋ง์ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ์๊ฒฉ์ ์ฅ์์ Pushํฉ๋๋ค.
- ์ ๋ต์ ๋ง์ถ ๊ฐ์ฅ ์ต๊ทผ 20๊ฐ์ ๋ฌธ์ ์ ๋ํด์๋ง ๋ถ์ํ๋ฉฐ, ์ ๋ต์ ๋ง์ถ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ์ง๋ ์์ต๋๋ค.
- ์ ๋ต์ ๋ง์ถ ๋ฌธ์ ๊ฐ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์์ ๊ฒฝ์ฐ ๊ฐ์ฅ ๋ง์ง๋ง์ ์ ์ถํ Source Code๋ฅผ ์ ํํฉ๋๋ค.
Extension
- Tool์ ํ์ฅํ์ฌ ์์ ๋กญ๊ฒ ์์ ์ ์๊ฒฉ์ ์ฅ์๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- option.json์ ๋ค์ ์์ ์ ๊ฐ์ด ์ํ๋ Option์ ์ค์ ํ์ธ์.
{
"commit_message": "[NO]๋ฒ [TITLE] ๋ฌธ์ ํ์ด",
"source_tree": "Algorithm/BOJ/Src",
"dir_name": "[NO]",
"mkdir": true,
"private": true,
"poll": 1800,
"source_name": "[NO]",
"lang": "Java"
}
๐ก ์ฌ์ฉํ์ง ์๋ Option์ ๋ฐ๋์ ์ง์์ผ ํฉ๋๋ค.
Key Options:
Key | Description |
---|---|
commit_message | Commit ๋ด์ฉ์ ์ง์ ํฉ๋๋ค. |
source_tree | ์ํ๋ ์์น์ Source๋ฅผ ์ ์ฅํฉ๋๋ค. (์์ Directory๋ Repository ์ด๋ฆ๊ณผ ์ผ์นํ์ฌ์ผ ํฉ๋๋ค.) |
dir_name | Source๊ฐ ์ ์ฅ ๋๋ Directory์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. |
mkdir | Source๊ฐ ์ ์ฅ ๋ ๋ Directory๋ฅผ ์์ฑ ํ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.(false: dir_name์ ๋ฌด์๋ฉ๋๋ค.) |
private | BOJ์์ Source๋ฅผ ๋น๊ณต๊ฐ๋ก ์ค์ ํ๋ฉด ํด๋น ๋ฌธ์ ๋ ๋ฌด์๋ฉ๋๋ค. |
poll | BOJ์ ๋ง์ ๋ฌธ์ ๋ฅผ ๊ฒ์ํ๋ ์ฃผ๊ธฐ๋ฅผ ์ด ๋จ์๋ก ์ค์ ํฉ๋๋ค. (์ต์ 5๋ถ ์ด์์ด์ฌ์ผ ํฉ๋๋ค.) |
source_name | Source ํ์ผ์ ์ด๋ฆ์ ์ค์ ํฉ๋๋ค. [NO]๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฒํธ๋ก ์ ์ฅํ๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค. |
lang | ํด๋น ์ธ์ด๋ก ์ ์ถํ Source๋ง ์๊ฒฉ์ ์ฅ์์ Pushํฉ๋๋ค. |
๐ก [NO]: ๋ด์ฉ์ [NO]๊ฐ ์์ผ๋ฉด ๋ฌธ์ ์ ๋ฒํธ๋ก ๋์ฒด๋ฉ๋๋ค.
๐ก [TITLE]: ๋ด์ฉ์ [TITLE]์ด ์์ผ๋ฉด ๋ฌธ์ ์ ์ ๋ชฉ์ผ๋ก ๋์ฒด๋ฉ๋๋ค.
Example
- https://github.com/ISKU/Algorithm
- ์ Repository๋ BOJ-AutoCommit์ ์ฌ์ฉํ์ฌ Source Code๋ฅผ ๊ด๋ฆฌํ๊ณ ์์ผ๋ฉฐ ์ฌ์ฉํ๊ณ ์๋ Option์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
{
"commit_message": "BOJ #[NO]: [TITLE]",
"source_tree": "Algorithm/BOJ",
"private": true,
"poll": 1800,
"source_name": "Main",
"lang": "Java"
}
License
Author
- Minho Kim (ISKU)
- https://www.acmicpc.net/user/isku
- E-mail: [email protected]