Changeset beaf731 for asadb/util
- Timestamp:
- Dec 26, 2011, 5:28:39 AM (15 years ago)
- Branches:
- master, space-access, stable, stage
- Children:
- 41146ff
- Parents:
- 1ffd96e
- git-author:
- Alex Dehnert <adehnert@…> (12/26/11 05:28:39)
- git-committer:
- Alex Dehnert <adehnert@…> (12/26/11 05:28:39)
- File:
-
- 1 edited
-
asadb/util/import_db.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
asadb/util/import_db.py
r53ca693 rbeaf731 33 33 else: return int(number) 34 34 35 def import_group(d): 36 g = groups.models.Group() 37 g.pk = d['ASA_STUDENT_GROUP_KEY'] 38 g.name = d['STUDENT_GROUP_NAME'] 39 g.abbreviation = d['STUDENT_GROUP_ACRONYM'] 40 g.description = d['STUDENT_GROUP_DESCRIPTION'] 41 cat_name = d['GROUP_ACTIVITY_CATEGORY'] 42 try: 43 g.activity_category = groups.models.ActivityCategory.objects.get(name=cat_name) 44 except groups.models.ActivityCategory.DoesNotExist: 45 print ">> Unknown category '%s' on group '%s'" % (cat_name, g.name, ) 46 pass 47 class_name = d['GROUP_CLASS'] 48 status_name = d['GROUP_STATUS'] 49 funding_name = d['GROUP_FUNDING_TYPE'] 50 if class_name == 'Standard': 51 if status_name == 'Provisional': 52 class_name = 'Unfunded' 53 status_name = 'Active' 54 elif status_name == 'Active': 55 class_name = 'MIT-funded' 56 elif status_name == 'Suspended' or status_name == 'Derecognized': 57 class_name = 'MIT-funded' 58 g.group_class = groups.models.GroupClass.objects.get(name=class_name) 59 g.group_status = groups.models.GroupStatus.objects.get(name=status_name) 60 if funding_name == 'none': 61 g.group_funding = None 62 else: 63 g.group_funding = groups.models.GroupFunding.objects.get(name=funding_name) 64 g.website_url = d['WEBSITE_URL'] 65 g.constitution_url = d['CONSTITUTION_WEB_URL'] 66 g.meeting_times = d['MEETING_TIMES'] 67 g.advisor_name = d['ADVISOR'] 68 g.num_undergrads = convert_to_int(d['NUM_OF_UNDERGRADUATE']) 69 g.num_grads = convert_to_int(d['NUM_OF_GRADUATE']) 70 g.num_community = convert_to_int(d['NUM_OF_COMMUNITY']) 71 g.num_other = convert_to_int(d['NUM_OF_OTHERS']) 72 g.group_email = canonicalize_email(d['STUDENT_GROUP_EMAIL']) 73 g.officer_email = canonicalize_email(d['OFFICER_EMAIL']) 74 try: 75 g.main_account_id = convert_to_int(d['MAIN_ACCOUNT_ID']) 76 except ValueError: 77 if d['MAIN_ACCOUNT_ID'] == "contact LWard": 78 print "Ignoring account ID contact LWard..." 79 g.main_account_id = None 80 else: 81 raise 82 g.funding_account_id= convert_to_int(d['FUNDING_ACCOUNT_ID']) 83 g.athena_locker = d['ATHENA_LOCKER'] 84 g.recognition_date = db_parse_date(d['RECOGNITION_DATE']) 85 g.update_date = db_parse_date(d['UPDATE_DATE']) 86 g.updater = d['UPDATER'] 87 g.save() 88 35 89 if __name__ == '__main__': 36 90 indb = sys.stdin … … 40 94 d = dictize_line(header, line) 41 95 print d 42 g = groups.models.Group() 43 g.pk = d['ASA_STUDENT_GROUP_KEY'] 44 g.name = d['STUDENT_GROUP_NAME'] 45 g.abbreviation = d['STUDENT_GROUP_ACRONYM'] 46 g.description = d['STUDENT_GROUP_DESCRIPTION'] 47 cat_name = d['GROUP_ACTIVITY_CATEGORY'] 48 try: 49 g.activity_category = groups.models.ActivityCategory.objects.get(name=cat_name) 50 except groups.models.ActivityCategory.DoesNotExist: 51 print ">> Unknown category '%s' on group '%s'" % (cat_name, g.name, ) 52 pass 53 class_name = d['GROUP_CLASS'] 54 status_name = d['GROUP_STATUS'] 55 funding_name = d['GROUP_FUNDING_TYPE'] 56 if class_name == 'Standard': 57 if status_name == 'Provisional': 58 class_name = 'Unfunded' 59 status_name = 'Active' 60 elif status_name == 'Active': 61 class_name = 'MIT-funded' 62 elif status_name == 'Suspended' or status_name == 'Derecognized': 63 class_name = 'MIT-funded' 64 g.group_class = groups.models.GroupClass.objects.get(name=class_name) 65 g.group_status = groups.models.GroupStatus.objects.get(name=status_name) 66 if funding_name == 'none': 67 g.group_funding = None 68 else: 69 g.group_funding = groups.models.GroupFunding.objects.get(name=funding_name) 70 g.website_url = d['WEBSITE_URL'] 71 g.constitution_url = d['CONSTITUTION_WEB_URL'] 72 g.meeting_times = d['MEETING_TIMES'] 73 g.advisor_name = d['ADVISOR'] 74 g.num_undergrads = convert_to_int(d['NUM_OF_UNDERGRADUATE']) 75 g.num_grads = convert_to_int(d['NUM_OF_GRADUATE']) 76 g.num_community = convert_to_int(d['NUM_OF_COMMUNITY']) 77 g.num_other = convert_to_int(d['NUM_OF_OTHERS']) 78 g.group_email = canonicalize_email(d['STUDENT_GROUP_EMAIL']) 79 g.officer_email = canonicalize_email(d['OFFICER_EMAIL']) 80 try: 81 g.main_account_id = convert_to_int(d['MAIN_ACCOUNT_ID']) 82 except ValueError: 83 if d['MAIN_ACCOUNT_ID'] == "contact LWard": 84 print "Ignoring account ID contact LWard..." 85 g.main_account_id = None 86 else: 87 raise 88 g.funding_account_id= convert_to_int(d['FUNDING_ACCOUNT_ID']) 89 g.athena_locker = d['ATHENA_LOCKER'] 90 g.recognition_date = db_parse_date(d['RECOGNITION_DATE']) 91 g.update_date = db_parse_date(d['UPDATE_DATE']) 92 g.updater = d['UPDATER'] 93 g.save() 96 import_group(d)
Note: See TracChangeset
for help on using the changeset viewer.