def build_row(applicant, registration, personal_info, major_number): if registration == None: registration = StudentRegistration() if applicant.title == u'นาย': gender = 'M' eng_title = 'Mr.' else: gender = 'F' eng_title = 'Miss' bd_year = personal_info.birth_date.year + 543 birth_date_str = personal_info.birth_date.strftime("%d/%m") + "/" + str( bd_year) try: address = applicant.address.home_address except: address = Address() try: education = applicant.education except: education = Education() major_number_str = '0' * (3 - len(str(major_number))) + str(major_number) try: major = Major.objects.get(number=major_number_str) except: major = Major.objects.get(number='001') if major_number < 100: status = u'ปกติ' elif major_number < 200: status = u'พิเศษ' else: status = u'นานาชาติ' try: submission_info = applicant.submission_info except: applicant.submission_info = SubmissionInfo() applicant.submission_info.submitted_at = datetime.datetime.now() vnum = '' if address.village_number != 0 and address.village_number != None: vnum = address.village_number ticket_number = '' try: ticket_number = unicode(applicant.ticket_number()) except: pass return u','.join([ u'"%s"' % s for s in [ ticket_number, applicant.national_id, registration.passport_number, gender, applicant.title, applicant.first_name, applicant.last_name, eng_title, registration.english_first_name, registration.english_last_name.capitalize(), personal_info.nationality, personal_info.ethnicity, registration.religion, registration.birth_place, birth_date_str, address.number, vnum, registration.address_avenue, address.road, address.district, address.city, address.province, address.postal_code, registration.home_phone_number, registration.cell_phone_number, applicant.email, find_school_code(education.school_name, education.school_province), education.school_name, education.school_province, registration.school_type, u'%1.2f' % (registration.GPA), u'บางเขน', 'E', u'วิศวกรรมศาสตร์', MAJOR_CODE[int(major.number)], major.name, u'รับตรง คณะวิศวกรรมศาสตร์', status, unicode( applicant.submission_info.submitted_at.strftime('%d/%m/2555')), unicode(applicant.submission_info.submitted_at.strftime( '%H/%M/%S')), u'0002', u'เกษตรศาสตร์', applicant.clearing_house_result.password, registration.father_title, registration.father_first_name, registration.father_last_name, registration.father_national_id, registration.mother_title, registration.mother_first_name, registration.mother_last_name, registration.mother_national_id, ] ])