def main():
	print "Enter the SIS IDs of each course, seperated by a comma and a space.\n" \
		"Eg. 7482, 4728, 5472"
	coursesisid = raw_input(">>> ").split(", ")
	
	params['per_page'] = 100
	
	for course in coursesisid:

		print "Processing..."

		request = jg.api_list(url + "/api/v1/courses/" \
			"sis_course_id:%s/groups" % course, params = params)
		group = request.call()

		headers = ["Name", "SIS ID", "Email", "Group"]

		filename = os.path.join(jg.fileout().get(), "enrollmentlistswithgroups/%s.csv" % course)

		with open(filename, "a") as fp:
			writer = csv.writer(fp)
			writer.writerow(headers)
		
		
		for items in group:

			print items[u'name']
		
			students = requests.get(url + "/api/v1/groups/%s/users" \
				% items[u'id'], params = params).json()

			for student in students:
	
		
				print student[u'name']
					
				# pulls each student's primary contact email
			
				studentdata = requests.get(url + "/api/v1/" \
					"users/sis_user_id:%s/profile" % student[u'sis_user_id'], params = params).json()

				row = [student[u'name'].encode('utf-8', 'ignore'), student[u'sis_user_id'], \
					studentdata[u'primary_email'], items[u'name']]

	
				with open(filename, "a") as fp:
					writer = csv.writer(fp)
					writer.writerow(row)

			### ADDS A BLANK LINE BETWEEN EACH GROUP
			with open(filename, "a") as fp:
					writer = csv.writer(fp)
					writer.writerow([""])
Example #2
0
def main():
    print "Enter the SIS IDs of each course, seperated by a comma and a space.\n" \
     "Eg. 7482, 4728, 5472"
    coursesisid = raw_input(">>> ").split(", ")

    params['per_page'] = 100

    for course in coursesisid:

        print "Processing..."

        request = jg.api_list(url + "/api/v1/courses/" \
         "sis_course_id:%s/groups" % course, params = params)
        group = request.call()

        headers = ["Name", "SIS ID", "Email", "Group"]

        filename = os.path.join(jg.fileout().get(),
                                "enrollmentlistswithgroups/%s.csv" % course)

        with open(filename, "a") as fp:
            writer = csv.writer(fp)
            writer.writerow(headers)

        for items in group:

            print items[u'name']

            students = requests.get(url + "/api/v1/groups/%s/users" \
             % items[u'id'], params = params).json()

            for student in students:

                print student[u'name']

                # pulls each student's primary contact email

                studentdata = requests.get(url + "/api/v1/" \
                 "users/sis_user_id:%s/profile" % student[u'sis_user_id'], params = params).json()

                row = [student[u'name'].encode('utf-8', 'ignore'), student[u'sis_user_id'], \
                 studentdata[u'primary_email'], items[u'name']]

                with open(filename, "a") as fp:
                    writer = csv.writer(fp)
                    writer.writerow(row)

            ### ADDS A BLANK LINE BETWEEN EACH GROUP
            with open(filename, "a") as fp:
                writer = csv.writer(fp)
                writer.writerow([""])
Example #3
0
def assign_groups(groupcategory, groups, params):
	groupids = jg.api_list(url +"/api/v1/group_categories/%s/groups" \
		% groupcategory, params = params).call()
	groupids = {items['name'] : items['id'] for items in groupids}

	for name, group_id in groupids.items():
		for student in groups[name]:
			params["user_id"] = requests.get(url + "/api/v1/users" \
				"/sis_user_id:%s/profile" % student, params = params).json()['id']
			membership = requests.post(url + "/api/v1/groups/%s/memberships" \
				% group_id, params = params).json()
			print "\nStudent SIS ID " + str(student) + " added to Group " + name + \
				"/Group ID " + str(membership['group_id'])
			print "Membership ID: " + str(membership['id']) + ", status: " + membership['workflow_state']
def get_all_courses():
	coursesid = int(raw_input("Please type the account ID of the account in which the courses are found: "))


	params["per_page"] = 100
	
	term = jg.terms(coursesid, url, params).choose()

	courses_url = url + "/api/v1/accounts/%s/courses" % coursesid

	all_courses = {}
	
	data = jg.api_list(courses_url, params).call()
	
	for course in data:
		if course['enrollment_term_id'] == term:
			all_courses[course['name']] = course['sis_course_id']

	return all_courses
Example #5
0
def get_all_courses():
    coursesid = int(
        raw_input(
            "Please type the account ID of the account in which the courses are found: "
        ))

    params["per_page"] = 100

    term = jg.terms(coursesid, url, params).choose()

    courses_url = url + "/api/v1/accounts/%s/courses" % coursesid

    all_courses = {}

    data = jg.api_list(courses_url, params).call()

    for course in data:
        if course['enrollment_term_id'] == term:
            all_courses[course['name']] = course['sis_course_id']

    return all_courses