Beispiel #1
0
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)
Beispiel #2
0
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()
Beispiel #3
0
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)
Beispiel #4
0
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)
Beispiel #5
0
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
Beispiel #6
0
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)
Beispiel #7
0
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)
Beispiel #8
0
def del_folder(folder):
    folder = abs_path(folder)
    verify_folder(folder)
    os.rmdir(folder)
Beispiel #9
0
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)
Beispiel #10
0
def get_files_in_dir(folder):
    folder = abs_path(folder)
    verify_folder(folder)
    return os.listdir(folder)
Beispiel #11
0
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)