Skip to content

shubhamsaini/Gradesource-Uploader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README
Chu Shao
Jan 1, 2013
cshao@eng.ucsd.edu

HEROKU WEBAPP VERISON:
http://gradesource-uploader.herokuapp.com/

REQUIREMENTS:
Python 2.7.x
This will not work on Python3++ and is untested for anything besides Python 2.7.x

Usage:
This python script is used to mass import grades into Gradesource.
It has four functions: 
- Download student name and email into a CSV file (CSV format: Name, Email)
- Download student name and PID (for iClicker usage) into a CSV file (CSV format: Last Name, First Name, Email)
- Send a CSV file to Gradesource to update a certain score using PID (CSV format, PID, Score)
- Send a CSV file to Gradesource to update a certain score using Email (CSV format: Email, score)


To find the course ID:
Login to Gradesource.
Click on edit course.
In the URL it should be https://www.gradesource.com/editcourse.asp?id=XXXXX
the number after id= is your course ID

To find the assignment ID:
Login to Gradesource.
Click on Scores.
Find the Assignment that you would like to modify.
In the URL it should be https://www.gradesource.com/editscores1.asp?id=XXXXXX
the number after id= is your assignment ID

To use: 
To download student name and email (don't forget to use quotes):

python -c 'import gradesourceuploader; gradesourceuploader.downloadEmail(login, courseID)'
EXAMPLE: 
python -c 'import gradesourceuploader; gradesourceuploader.downloadEmail("cshao", "99999")'

To download student name and PID (don't forget to use quotes and mainly for iClicker)
python -c 'import, gradesourceuploader; gradeseourceuploader.downloadiClicker(login, courseID)'
EXAMPLE:
python -c 'import gradesourceuploader; gradesourceuploader.downloadiClicker("cshao", "99999")'

The overwrite feature is to overwrite 0s. If Overwrite is set to 1, then 0s will be treated as 0s and when sent to gradesource, they will overwrite
the previous score wit ha 0. If Overwrite is set to 0, then 0 will be treated as null and when sent to gradesource, they will not overwrite the previous score.


To upload scores from a CSV file using email:
python -c 'import gradesourceuploader; gradesourceuploader.updateScoresByEmail(login, courseID, assignmentID, CSVFile, overwrite)'
EXAMPLE:
python -c 'import gradesourceuploader; gradesourceuploader.updateScoresByEmail("cshao", "99999", "111111", "grades.csv", "0")'

the CSV file should contain
email@email.com,score
score can be empty as well

To upload scores from a CSV file using PID:
python -c 'import gradesourceuploader; gradesourceuploader.updateScoresByPID(login, courseID, assignmentID, CSVFile, overwrite)'
EXAMPLE:
python -c 'import gradesourceuploader; gradesourceuploader.updateScoresByPID(login, courseID, assignmentID, CSVFile, "1")'

####NOTE####
MAKE SURE THE CSV CONTAINS EVERY EMAIL FROM GRADESOURCE FOR THAT ACCOUNT.
AN EASY WAY IS TO GENERATE THE CSV  DOCUMENT AND THEN REMOVE THE FIRST COLUMN AFTER DONE INPUTTING GRADES


See sample.csv for example of updateScores

About

Gradesource Uploader

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.9%
  • Shell 0.1%