Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

app = Flask(__name__)


def get_students_from_csv(path):
student_data = pd.read_csv(path)
students = []
Expand All @@ -17,12 +18,14 @@ def index():
title = "Software Engineering"
return render_template("form.html", title=title)


@app.route("/groups", methods=['POST'])
def groups():
title = "Groups"
students = get_students_from_csv('temp/students.csv')
return render_template("groups.html", title=title, students=students)


@app.route('/send', methods=['POST'])
def send():
csv_content = request.files['csv_file']
Expand Down
9 changes: 4 additions & 5 deletions src/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
class Helper:
def __init__(self):
self.students = None

def setHelperStudents(self, students):
self.students = students

def get_students_from_csv(self, path):
student_data = pd.read_csv(path)
self.students = [
self.students = [
Student(
row.firstname,
row.lastname,
Expand All @@ -36,7 +36,7 @@ def make_group(self, students_in_group, group_size, group_number):

def print_students(self):
for student in self.students:
x = student.name_print()
x = student.name_print()
print(x)

def get_student_by_GUID(self, GUID):
Expand All @@ -47,7 +47,6 @@ def get_student_by_id(self, id):

def get_students_by_name(self, given_name):
return [student for student in self.students if student.given_name == given_name]

def get_groupless_students(self):
return [student for student in self.students if not student.group_number]

1 change: 1 addition & 0 deletions src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from src.student import Student
from src.helpers import Helper


def main():
h = Helper()
file_path = input("Give the path of the file: ")
Expand Down
4 changes: 2 additions & 2 deletions src/student.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ def add_to_group(self, group_number):

def info(self):
return "{} {} {} \t {} \t {}".format(self.number, self.given_name, self.surname, self.email, self.gender)

def name_print(self):
return "{} {}".format(self.given_name, self.surname)
return "{} {}".format(self.given_name, self.surname)
7 changes: 5 additions & 2 deletions test/test_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from src.student import Student
from src.helpers import Helper


@pytest.fixture()
def sut():
sut0 = Student(0, "m", "firstname", "lastname", "[email protected]", "test12345")
Expand All @@ -13,14 +14,16 @@ def sut():
sut = [sut0, sut1, sut2, sut3]
yield sut


class TestResource:
def test_make_group(self, sut):
helper = Helper()
helper.setHelperStudents(sut)
thisGroup = helper.make_group(sut, 4, 1)
for student in sut:
assert student.group_number == 1



def test_print_students(capfd):
sut0 = Student(0, "m", "firstname", "lastname", "[email protected]", "test12345")
sut1 = Student(1, "m", "firstname1", "lastname1", "[email protected]", "test1")
Expand All @@ -31,4 +34,4 @@ def test_print_students(capfd):
helper.setHelperStudents(sut)
helper.print_students()
out, err = capfd.readouterr()
assert out== "firstname lastname\nfirstname1 lastname1\nfirstname2 lastname2\nfirstname3 lastname3\n"
assert out == "firstname lastname\nfirstname1 lastname1\nfirstname2 lastname2\nfirstname3 lastname3\n"
4 changes: 2 additions & 2 deletions test/test_student.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ def test_studentWithGroupHasGroupNumber(self, sut):
helper.setHelperStudents(student_list)
helper.make_group(student_list, group_size, 1)
assert sut.group_number == 1

def test_studentInfoOutput(self, sut):
infoOutput = sut.info()
assert infoOutput == "0 firstname lastname \t [email protected] \t m"

def test_name_print(self, sut):
simple_print = sut.name_print()
assert simple_print == "firstname lastname"