diff options
Diffstat (limited to 'choice_seeker/allotter/management/commands/loadusers.py')
-rw-r--r-- | choice_seeker/allotter/management/commands/loadusers.py | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/choice_seeker/allotter/management/commands/loadusers.py b/choice_seeker/allotter/management/commands/loadusers.py deleted file mode 100644 index 99fd075..0000000 --- a/choice_seeker/allotter/management/commands/loadusers.py +++ /dev/null @@ -1,65 +0,0 @@ -from optparse import make_option -from datetime import datetime -from csv import DictReader -from django.core.management.base import BaseCommand -from allotter.models import Exam, Application, User, Profile - -class Command(BaseCommand): - option_list = BaseCommand.option_list + ( - make_option('--usdf',metavar='User details file name', type=str), - ) - help = "Give the filename of the csv files that has all the details of the users" - - def handle(self, *args, **options): - - clean_users() - - load_users(options) - - self.stdout.write('Done\n') - - -def clean_users(): - """Removes all the objects from the database, required as if not done there might be a case of multiple entries""" - User.objects.filter(is_superuser=False).delete() - -def load_users(options): - """Load option code and option name from the given csv file. The file should - declare a list of "exam_code,option_code,option,code". - """ - userDetailsFileName=options.get('usdf') - try: - userDetailsFile = open(userDetailsFileName, 'rb') - except IOError as (errno,strerror): - print "I/O error({0}): {1}".format(errno, strerror) - - - userReader = DictReader(userDetailsFile, delimiter=":") - - - for data in userReader: - appno = data['AppNo.'] - regno = data['Reg.No.'] - new_user = User.objects.create_user(regno, password=appno, email="") - application = Application(user=new_user) - application.np = int(data['NP']) - if data['P1'].strip(): - application.first_paper = Exam.objects.get(exam_code=data['P1']) - try: - application.second_paper = Exam.objects.get(exam_code=data['P2']) - except: - pass - else: - application.first_paper = Exam.objects.get(exam_code=data['P2']) - - - application.nat = data['Nat'] - application.gender = data['Gdr'] - application.cent = data['Cent'] - application.cgy = data['Cgy'] - application.save() - dob = datetime.strptime(data['DOB'], "%d/%m/%y") - new_profile = Profile(user=new_user, application=application) - new_profile.dob = dob - new_profile.save() - print "Added user with {0} and {1} with dob as {2}".format(appno,regno,dob)
\ No newline at end of file |