All Projects → arafat-hasan → uva-tool

arafat-hasan / uva-tool

Licence: MIT license
Command Line Based UVa OJ Submitting and uHunting Tool

Programming Languages

C++
36643 projects - #6 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to uva-tool

ProgrammingProblems
Our answers to some programming problems,like ACM ICPC problems and others.(All problems are available on http://uva.onlinejudge.org or https://open.kattis.com) ** PLEASE STAR THE REPO IF IT 'S USEFUL :) **
Stars: ✭ 27 (-15.62%)
Mutual labels:  uva, uva-online-judge
plz.el
An HTTP library for Emacs
Stars: ✭ 113 (+253.13%)
Mutual labels:  curl
Human curl
Simple Human wrapper for cURL library
Stars: ✭ 206 (+543.75%)
Mutual labels:  curl
libpascurl
libPasCURL is delphi and object pascal wrapper around cURL library. Library for transferring data with URL syntax, supporting HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP and RTMP.
Stars: ✭ 58 (+81.25%)
Mutual labels:  curl
Notica
Send browser notifications from your terminal. No installation. No registration.
Stars: ✭ 215 (+571.88%)
Mutual labels:  curl
into-curl
Print clj-http as a curl.
Stars: ✭ 17 (-46.87%)
Mutual labels:  curl
Curl To Ruby
⬇️ Convert a curl command into ruby's net/http
Stars: ✭ 202 (+531.25%)
Mutual labels:  curl
socks-cli
A solution to make CLI commands use socks5 proxy.
Stars: ✭ 48 (+50%)
Mutual labels:  curl
Node.js-API-Masterclass-With-Express-MongoDB
[Brad Traversy] Node.js API Masterclass With Express & MongoDB [ENG, 2019]
Stars: ✭ 16 (-50%)
Mutual labels:  curl
Httpie
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie
Stars: ✭ 53,052 (+165687.5%)
Mutual labels:  curl
Websocat
Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions
Stars: ✭ 3,477 (+10765.63%)
Mutual labels:  curl
Parrot.live
🐦 Bringing animated parrots to terminals everywhere
Stars: ✭ 2,642 (+8156.25%)
Mutual labels:  curl
httpproxy
一个轻量级HTTP代理,支持shadowsocks服务,方便命令行、开发环境使用。
Stars: ✭ 90 (+181.25%)
Mutual labels:  curl
Awesome Console Services
A curated list of awesome console services (reachable via HTTP, HTTPS and other network protocols)
Stars: ✭ 3,628 (+11237.5%)
Mutual labels:  curl
flysystem-curlftp
Flysystem Adapter for the FTP with cURL implementation
Stars: ✭ 36 (+12.5%)
Mutual labels:  curl
Goploader
Easy file sharing with server-side encryption, curl/httpie/wget compliant
Stars: ✭ 205 (+540.63%)
Mutual labels:  curl
TF2DeepFloorplan
TF2 Deep FloorPlan Recognition using a Multi-task Network with Room-boundary-Guided Attention. Enable tensorboard, quantization, flask, tflite, docker, github actions and google colab.
Stars: ✭ 98 (+206.25%)
Mutual labels:  curl
curlall
Simple curl-like CLI tool to automatically page through APIs
Stars: ✭ 25 (-21.87%)
Mutual labels:  curl
vjudge-to-oj
Import your vJudge solutions to actual online judges. Currently supports UVa, CodeForces, SPOJ, and CodeForces GYM.
Stars: ✭ 43 (+34.38%)
Mutual labels:  uva
Covid19 Tracker Cli
A curl-based command line tracker for Novel Coronavirus or COVID-19 pandemic. It Supports terminal for linux and macos, command prompt for windows, and termux for android with real-time updates.
Stars: ✭ 244 (+662.5%)
Mutual labels:  curl

uva-tool

Build Status GitHub GitHub issues GitHub stars AUR version

Command Line Based Tool for uva onlinejudge with features Submitting and uHunting.

Dependency

  • Command line based tool curl

External Libraries

Installation

General installation process is only available for Linux operating system, Windows version is coming soon. But now, you can use this tool in windows by changing some lines of source code.

sudo apt install curl
  • Download uva-tool: Execute command
git clone https://github.com/arafat-hasan/uva-tool.git
  • Install uva-tool: In the downloaded folder uva-tool, look for install.sh file and execute it (C++ compiler needed here, GNU g++ used in testing).
chmod +x install.sh 
./install.sh

Troubleshooting

Your system may not able to use getlogin() function which is used in src/uva-tool.cpp file for szHome constant. In that case set szHome constant to your operating system's username.

Get you login username using command whoami or echo $USERNAME.

Now set szHome const

const string szHome = "username";

Usage Example

Run corresponding commands

  • Login: uva-tool -login
  • Logout: uva-tool -logout
  • Hunt: uva-tool -hunt -u felix_halim -r 10
    This will show last 10 submissions of user felix_halim
  • Submit: Syntax uva-tool -submit problem_number problem_path language
    Example uva-tool -submit 100 ~/Desktop/100.cpp 5
    This will submit 100.cpp named file from Desktop directory in C++11 (5 for C++11) language with problem number 100.

Note: Language codes 1 for ANSI, 2 for JAVA, 3 for C++, 4 for Pascal, 5 for C++11, 6 for Python.

Integrate with VIM

Copy vim_uva-tool_run_script.sh file to your .vim directory and add this lines to .vimrc file

map <leader>uvw :!clear && uva-tool -hunt -u felix_halim -r 10
map <leader>uvs :!clear && ~/.vim/vim_uva-tool_run_script.sh '%:p'<CR>
map <leader>uvi :!uva-tool -login
map <leader>uvo :!uva-tool -logout

Keyboard mappings
\uvs to submit
\uvw to hunt
\uvi to login
\uvo to logout

Integrate with Geany

Copy geany_uva-tool_run_script.sh file to /home/$USER/.config/geany/uva-tool directory and run command chmod +x geany_uva-tool_run_script.sh.

Now in geany (open a file i.e a cpp file first), go to Build -> Set Build Commands, a window opens. In Execute commands section at no 2, set this Command, Working directory and Label
Command: ./geany_uva-tool_run_script.sh '%f' '%d'
Working directory: /home/$USER/.config/geany/uva-tool
Label: uva-tool

Now all set.
Click on Build -> uva-tool for submitting, huntting etc.

It's not a good idea to run a script in command execution section of geany for running uva-tool instead of writing a geany plugin, but a easy good hack. And I have no plan to write a geany plugin for that in future. Anyone who interested, warmly welcomed with MIT licenses.

To Do

  • Bring Windows version
  • Show user statistics in hunting
  • Use a C++ networking library instead of cURL
  • Make command line options more dynamic
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].