47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
"""
|
|
A script to create some dummy users
|
|
"""
|
|
from django.core.management.base import BaseCommand
|
|
from student.models import CourseEnrollment
|
|
from opaque_keys import InvalidKeyError
|
|
from opaque_keys.edx.keys import CourseKey
|
|
from opaque_keys.edx.locations import SlashSeparatedCourseKey
|
|
from student.views import _do_create_account, get_random_post_override
|
|
|
|
|
|
def create(num, course_key):
|
|
"""Create num users, enrolling them in course_key if it's not None"""
|
|
for idx in range(num):
|
|
(user, user_profile, __) = _do_create_account(get_random_post_override())
|
|
if course_key is not None:
|
|
CourseEnrollment.enroll(user, course_key)
|
|
|
|
|
|
class Command(BaseCommand):
|
|
help = """Create N new users, with random parameters.
|
|
|
|
Usage: create_random_users.py N [course_id_to_enroll_in].
|
|
|
|
Examples:
|
|
create_random_users.py 1
|
|
create_random_users.py 10 MITx/6.002x/2012_Fall
|
|
create_random_users.py 100 HarvardX/CS50x/2012
|
|
"""
|
|
|
|
def handle(self, *args, **options):
|
|
if len(args) < 1 or len(args) > 2:
|
|
print Command.help
|
|
return
|
|
|
|
num = int(args[0])
|
|
|
|
if len(args) == 2:
|
|
try:
|
|
course_key = CourseKey.from_string(args[1])
|
|
except InvalidKeyError:
|
|
course_key = SlashSeparatedCourseKey.from_deprecated_string(args[1])
|
|
else:
|
|
course_key = None
|
|
|
|
create(num, course_key)
|