Hi there.
I have written a simple Python script that can do a couple of nifty things:
- Compare the problems solved by user X but not by user Y
- Give you a weekly breakdown of your problem solving performance on Codeforces
- Return a list of all your submissions till a specified point so that you can do your own analyses :)
Link
How to install
Pre-requisites:
- Python 2.7
- Python Beautiful Soup 4
- Python requests
- Python tabulate
Once you have the prerequisites installed, simply download the Python Script "CF_statistics.py" and run it :)
Mini-Documentation
getSubmissions(user, page_mx, print_flag = False)
: Generates a list of all submissions from the firstpage_mx
number of pages made byuser
and prints this list ifprint_flag
=True
. Your submissions will be pushed into a list of 3-tuples: time-stamp of submission, problem code and verdict. You can use this list to perform any kind of additional analyses that you want :)getWeeklyStatistics(user, mx, aggregate)
: Using the submissions list generated from the previous function, this generates a table for each week betweenstart_year
toend_year
with statistics like % of WAs etc. Note: Week no is as per the ISO Calendar.compareUsers(user1, mx1, user2, mx2)
: Using the firstmx1
submissions ofuser1
and firstmx2
pages ofuser2
, this function prints a list of all problems solved byuser1
but not byuser2
start_year
andend_year
are global variables used ingetWeeklyStatistics()
to generate a table for statistics for each week betweenstart_year
toend_year
. Modify these according to your needs.
I guess a lot of things can be automated to make this tool more user-friendly but I got lazy handling cases with the dates and stuff so feel free to fix this for the community :P Everyone is welcome to fork the repository and contribute :)
The code may take up to a minute to fetch 50 pages of submissions and this number may change depending on your internet speed. If your connection is slow then the script might skip some of your submissions.
P.S. No this tool is not bug free and I claim no responsibility if it causes any kind of harm to your computer. Use at your own risk