Skip to content

Setup basic database tables locally

Raj Patel edited this page Feb 18, 2018 · 1 revision
  • Retrieve submissions of all the users in your database

    bash retrieve-submissions.sh
    
  • Add the new UVa problems to the uva_judge database.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/extras/uva-problem-populate.py
    
  • All the registrations trigger sending emails to the corresponding user's institute's users. This is handled by using a table named institute_user. To generate the corresponding emails and push them into the email queue table run the following -

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/flush-institute-user.py
    
  • Users can enter invalid handles while registering, there might be cases when a user first registers on StopStalk and then registers on the profile site. We don't need to always ignore these handles and run this recheck script to delete the handle from invalid_handles table if we find it to be valid.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/recheck-invalid-handles.py
    
  • This script is used to update the problem tags of the already existing problems in the problem table.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/refresh-tags.py
    
  • This script is used to update the problem editorials of the already existing problems in the problem table.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/refresh-editorial.py
    
  • This script is used to generate StopStalk generalized tags. For example: Dynamic-Programming, dynamic-prof, dp, etc all get merged to Dynamic Programming. These tags are then used by the users to filter the problems more nicely.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/populate-tags.py
    
  • This is used to update the per-day changes of a user.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/update-per-day.py
    
  • This is used to update the StopStalk rating of a user.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/update-leaderboard.py -A 0
    
  • [Deprecated]: The authentic flag is not used anymore. This has some metric to decide if a user is authentic.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/update-authentic.py
    
  • We store UVa ID and username both of a user as user is more aware of a nice username instead of a random number. This is to generate the UVa ID from the usernames entered by the user.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/extras/uva-populate-username-to-id.py
    
  • Retrieve submissions of all the newly registered users.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/submissions.py -A new_users
    
  • Retrieve submissions of the users whose retrieval failed - Tracked using failed_retrieval table.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/submissions.py -A re_retrieve
    
  • This is to send emails from the queue table. Check the script to setup your smtp server config appropriately.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/process-mail-queue.py
    
  • If you have updated your neverbounce credentials in your 0firstrun.py file then you can generate new tokens and add it to access_tokens table which can be then used for email validations.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/generate-neverbounce-tokens.py
    
  • Retrieve submissions of the users who clicked Refresh Now button. The list of these users is read from Redis.

    python web2py.py -S stopstalk -M -R applications/stopstalk/private/scripts/submissions.py -A refreshed_users normal
    
Clone this wiki locally