def full_class(roll): data = [] data.extend(get_data(roll)) print_data(data) save_stdout = sys.stdout branch_name = get_branch_name(get_branch(roll)) verify_folder(abs_path('./result/' + branch_name)) data.sort(key=sort_sgpa, reverse=True) sys.stdout = open( 'result/' + branch_name + '/' + branch_name + '_' + get_year(roll) + '_sgpi.txt', 'w') print("sorting by sgpi....\n\n\n") print_data(data) data.sort(key=sort_cgpa, reverse=True) sys.stdout = open( 'result/' + branch_name + '/' + branch_name + '_' + get_year(roll) + '_cgpi.txt', 'w') print("sorting by cgpi....\n\n\n") print_data(data) sys.stdout = save_stdout print("written into files in result folder....\n\n") if (dump_it): dump_data(data, default_file_name)
def write_data(data, file_name=default_file_name): """ Write RAW data into a json file """ fille = abs_path(file_name) jfile = open(fille, 'w') json.dump(data, jfile, indent=4, ensure_ascii=False) jfile.close()
def full_year(roll): data = [] y = get_year(roll) classes = get_class_set(y) verify_folder(abs_path('./result')) save_stdout = sys.stdout for roll in classes: class_data = get_data(roll) branch_name = get_branch_name(get_branch(roll)) verify_folder(abs_path('./result/' + branch_name)) class_data.sort(key=sort_sgpa, reverse=True) sys.stdout = open( 'result/' + branch_name + '/' + branch_name + '_' + get_year(roll) + '_sgpi.txt', 'w') print("sorting by sgpi....\n\n\n") print_data(class_data) class_data.sort(key=sort_cgpa, reverse=True) sys.stdout = open( 'result/' + branch_name + '/' + branch_name + '_' + get_year(roll) + '_cgpi.txt', 'w') print("sorting by cgpi....\n\n\n") print_data(class_data) data.extend(class_data) sys.stdout = save_stdout verify_folder(abs_path('./result/FULL_YEAR')) data.sort(key=sort_sgpa, reverse=True) sys.stdout = open( 'result/FULL_YEAR/full_year_' + get_year(roll) + '_sgpi.txt', 'w') print("sorting by sgpi....\n\n\n") print_data(data) data.sort(key=sort_cgpa, reverse=True) sys.stdout = open( 'result/FULL_YEAR/full_year_' + get_year(roll) + '_cgpi.txt', 'w') print("sorting by cgpi....\n\n\n") print_data(data) sys.stdout = save_stdout print("written into files in result folder....\n\n") if (dump_it): dump_data(data, default_file_name)
def dump_data(data, file_name=default_file_name): """ take a LIST of Students and burn it into json file create RAW data from LIST uses write_data """ fille = abs_path(file_name) create_file(fille) dictt = extract_data() rank = 1 for item in data: info = create_info_dict(rank, item) # info = create_info_list(rank,item) dictt['Students'].append(info) rank += 1 write_data(dictt, file_name)
def extract_data(file_name=default_file_name): """ Extracts json data from the given file if there is no such file it will create one if there is currupt file it will create new if file is ok it will return its content """ fille = abs_path(file_name) try: jfile = open(fille) except FileNotFoundError: create_file(fille) jfile = open(fille) data = json.load(jfile) if (not 'Students' in data.keys()): create_file(fille) jfile = open(fille) data = json.load(jfile) return data
def modifier(file_name=default_file_name): data = extract_data() data = data['Students'] for i in range(len(data)): item = data[i] std = Student(item['Rollno']) std.cached_data(item['Name'],item['Gender'],item['Sgpa'] \ ,item['Cgpa'],item['Points'],item['Rank'],item['G_rank']) gender = edit_gender(std) if (gender == 'q'): break elif (gender == 'u'): std.gender = 'u' else: std.gender = gender data[i] = create_info_dict(std.rank, std) file_name = abs_path(file_name) create_file(file_name) new_data = extract_data() new_data['Students'] = data write_data(new_data)
def modifier(file_name=cache_path): data = extract_data() data = data['Students'] b_rank = 1 g_rank = 1 for i in range(len(data)): item = data[i] std = Student(item['Rollno']) std.cached_data(item['Name'],item['Gender'],item['Sgpa'] \ ,item['Cgpa'],item['Points'],item['Rank'],item['G_rank']) if(std.gender == 'b'): std.g_rank = b_rank b_rank +=1 if(std.gender == 'g'): std.g_rank = g_rank g_rank +=1 data[i] = create_info_dict(std.rank,std) file_name = abs_path(file_name) create_file(file_name) new_data = extract_data() new_data['Students'] = data write_data(new_data)
def del_folder(folder): folder = abs_path(folder) verify_folder(folder) os.rmdir(folder)
def clean_folder(folder): folder = abs_path(folder) verify_folder(folder) list_files = get_files_in_dir(folder) for file_name in list_files: os.remove(folder + "/" + file_name)
def get_files_in_dir(folder): folder = abs_path(folder) verify_folder(folder) return os.listdir(folder)
def full_college(): data = [] by = base_year roll_set = [] for b in range(0, 4): roll_set.append(str(by - b) + 'mi535') save_stdout = sys.stdout for roll in roll_set: year_data = [] y = get_year(roll) classes = get_class_set(y) verify_folder(abs_path('./result')) for roll in classes: class_data = get_data(roll) branch_name = get_branch_name(get_branch(roll)) verify_folder(abs_path('./result/' + branch_name)) class_data.sort(key=sort_sgpa, reverse=True) sys.stdout = open( 'result/' + branch_name + '/' + branch_name + '_' + get_year(roll) + '_sgpi.txt', 'w') print("sorting by sgpi....\n\n\n") print_data(class_data) class_data.sort(key=sort_cgpa, reverse=True) sys.stdout = open( 'result/' + branch_name + '/' + branch_name + '_' + get_year(roll) + '_cgpi.txt', 'w') print("sorting by cgpi....\n\n\n") print_data(class_data) year_data.extend(class_data) sys.stdout = save_stdout verify_folder(abs_path('./result/FULL_YEAR')) year_data.sort(key=sort_sgpa, reverse=True) sys.stdout = open( 'result/FULL_YEAR/full_year_' + get_year(roll) + '_sgpi.txt', 'w') print("sorting by sgpi....\n\n\n") print_data(year_data) year_data.sort(key=sort_cgpa, reverse=True) sys.stdout = open( 'result/FULL_YEAR/full_year_' + get_year(roll) + '_cgpi.txt', 'w') print("sorting by cgpi....\n\n\n") print_data(year_data) sys.stdout = save_stdout data.extend(year_data) verify_folder(abs_path('./result/FULL_COLLEGE')) data.sort(key=sort_sgpa, reverse=True) sys.stdout = open('result/FULL_COLLEGE/full_college_sgpi.txt', 'w') print("sorting by sgpi....\n\n\n") print_data(data) data.sort(key=sort_cgpa, reverse=True) sys.stdout = open('result/FULL_COLLEGE/full_college_cgpi.txt', 'w') print("sorting by cgpi....\n\n\n") print_data(data) sys.stdout = save_stdout print("written into files in result folder....\n\n") if (dump_it): dump_data(data, default_file_name)