? Yoda ⛏

Yoda
A CLI that takes away the hassle of managing your submission files on different online-judges by
automating the entire process of collecting and organizing your code submissions in one single Directory on your Machine also it distils User Submissions into beautiful Submission HeatMap.

Highlights

Downloads your AC solutions from CodeForces,CodeChef and Atcoder and creates a Directory within your Home Directory with the following File Structure:

├── Contests 
       └─Codeforces  
           └──<Handle-Name>  
                   └──<Contest-ID>  
                           └── <problem-index>  
           └──<tourist>  
                   └── 592  
                       └── A.cpp  
       └──CodeChef   
           └──<Handle-Name>  
                   └── <Contest-Name>  
                           └── <problem-name>  
                               └──<problem>  
           └──<tourist>  
                   └── AUG20B  
                       └──CHEFWED  
                               └──CHEFWED.cpp   
       └──AtCoder  
           └──<Handle-Name>  
                   └── <Contest-Name>  
                           └── <problem-level>  
           └──<tourist>  
                   └── AtCoder Beginner Contest 230  
                       └── A.cpp  

Supports both Linux and Windows , see Releases.

Fully automated collection of all yours submissions with minimal effort setup

Simple and easy and pleasing interface to use interface to get you started in minutes

Extensive traceability for your submissions for Each OJ , Contest Name , Problem Name with the problem file stored with proper language extension.

Provides Clear and Beautiful Submission Heatmap of your Accepted Solutions for each Online Judge
for all three OJ's (FunFact: Atcoder and Codechef doesn't provide you the Submission Heatmap themselves but Yoda does it all ?).

Platforms

Harwest currently has extensive support for the following platforms:

While integration with various other OJs are still in the kitchen , your Contributions are always welcomed ?.

Installation

1.) You will require Python 3.5+ along with pip3 in order to be able to install and use Yoda.
Refer to the documentation for installing pip on windows,
ubuntu/linux

2.) Install this Github Repository and then enter into that directory in the terminal/command prompt then paste the follwing command:

$ pip install -e .

Getting Started

After installing the package, run the following command in the terminal:

$ yoda

You'd be greeted with something like this:

nm@pop-os:~$ yoda

...:██╗░░░██╗░█████╗░██████╗░░█████╗░:...
...:╚██╗░██╔╝██╔══██╗██╔══██╗██╔══██╗:...
...:░╚████╔╝░██║░░██║██║░░██║███████║:...
...:░░╚██╔╝░░██║░░██║██║░░██║██╔══██║:...
...:░░░██║░░░╚█████╔╝██████╔╝██║░░██║:...
...:░░░╚═╝░░░░╚════╝░╚═════╝░╚═╝░░╚═╝:...
    
   Hey there! ? Looks like you're using Yoda for the first time. Let's get you started ?
   There are three differnet OJ's from which you can get your User Statistics:
   Atcoder
   CodeForces
   CodeChef

   For each one of the OJ's you can Download all your AC solutions ✅ as well as get your Submission Heatmap!! 
    
   ? You rock! We're good to go now ?
yoda


To use it for a particular OJ run

# yoda <platform> 
$ yoda codeforces 
$ yoda atcoder 
$ yoda codechef 
yoda cmd


Now comes the main part :
1.)To harvest your submissions from the Codeforces platform.
Type the following command:

# yoda <platform> <command>
$ yoda codeforces download  # example

You'll be prompted for providing your Codeforces handle name

> Enter your prestigious Codeforces Handle : sus #example
Codeforces Download
Atcoder Download
CodeChef Download


Yoda will then start scraping all your AC submissions, starting from most recent submission till your very first submission.

2.) Get your Submisssion HeatMap:

Type the following command:

# yoda <platform> <command>
$ yoda codeforces graph  # example

You'll be prompted for providing your Codeforces handle name

> Enter your prestigious Codeforces Handle : vineet4571 #example
CodeChef Heatmap
Codeforces Heatmap
Atcoder Heatmap


Yoda will then output on a new window your Submission HeatMap !!.

Final Directory Look

The Directory then is created after downloading your solution for each OJ and is divided by different handles which is further divided to Contest Dir. then your  Problem Solution finally.

File Structure
File Structure

License

MIT License

GitHub - NikharManchanda/Yoda at pythonawesome.com
A CLI application that downloads your AC submissions from OJ&#39;s like Atcoder,Codeforces,CodeChef and distil it into beautiful Submission HeatMap. - GitHub - NikharManchanda/Yoda at pythonawesome...