Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
B
Boeing OpenEdX Data Pipeline
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package Registry
Operate
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
CS 5934 Team 2 (Blacksburg)
Boeing OpenEdX Data Pipeline
Merge requests
!9
Make pipeline robust
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Make pipeline robust
make-pipeline-robust
into
main
Overview
0
Commits
2
Changes
1
Merged
Chris Lattman
requested to merge
make-pipeline-robust
into
main
1 year ago
Overview
0
Commits
2
Changes
1
Expand
0
0
Merge request reports
Compare
main
main (base)
and
latest version
latest version
b0d84e21
2 commits,
1 year ago
1 file
+
24
−
23
Expand all files
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
service/pipeline.py
+
24
−
23
Options
@@ -24,7 +24,7 @@ while True:
start_time
=
time
()
# Get emails, student IDs, and usernames of students (excludes default users and instructors)
query
=
(
"
SELECT id, username, email FROM auth_user WHERE last_login IS NOT NULL AND is_superuser = 0
"
)
query
=
(
"
SELECT id, username, email FROM auth_user WHERE last_login IS NOT NULL AND is_superuser = 0
AND is_staff = 0 AND is_active = 1
"
)
mysql_cursor
.
execute
(
query
)
student_dict
=
{}
for
(
id
,
username
,
email
)
in
mysql_cursor
:
@@ -112,28 +112,29 @@ while True:
json_data
=
[]
index
=
0
for
student_id
in
student_dict
:
json_data
.
append
({})
json_data
[
index
][
"
Email
"
]
=
student_dict
[
student_id
][
1
]
json_data
[
index
][
"
Username
"
]
=
student_dict
[
student_id
][
0
]
json_data
[
index
][
"
Overall Grade
"
]
=
str
(
student_dict
[
student_id
][
2
])
grade_data
=
student_dict
[
student_id
][
3
]
quiz_ids_ordered
=
[]
for
quiz_id
in
grade_data
:
quiz_name
=
quiz_id_to_quiz_name
[
quiz_id
]
grades
=
grade_data
[
quiz_id
]
json_data
[
index
][
"
Grade on
"
+
quiz_name
]
=
str
(
grades
[
0
])
quiz_ids_ordered
.
append
(
quiz_id
)
for
quiz_id
in
quiz_ids_ordered
:
quiz_name
=
quiz_id_to_quiz_name
[
quiz_id
]
question_grades
=
grade_data
[
quiz_id
][
1
]
question_grades_length
=
len
(
question_grades
)
question_index
=
0
while
question_index
<
question_grades_length
:
question_index_string
=
str
(
int
(
question_index
/
2
)
+
1
)
json_data
[
index
][
quiz_name
+
"
- Q
"
+
question_index_string
+
"
(Earned)
"
]
=
str
(
question_grades
[
question_index
])
json_data
[
index
][
quiz_name
+
"
- Q
"
+
question_index_string
+
"
(Possible)
"
]
=
str
(
question_grades
[
question_index
+
1
])
question_index
+=
2
index
+=
1
if
len
(
student_dict
[
student_id
])
==
4
:
# Ensures that we can access all list elements below
json_data
.
append
({})
json_data
[
index
][
"
Email
"
]
=
student_dict
[
student_id
][
1
]
json_data
[
index
][
"
Username
"
]
=
student_dict
[
student_id
][
0
]
json_data
[
index
][
"
Overall Grade
"
]
=
str
(
student_dict
[
student_id
][
2
])
grade_data
=
student_dict
[
student_id
][
3
]
quiz_ids_ordered
=
[]
for
quiz_id
in
grade_data
:
quiz_name
=
quiz_id_to_quiz_name
[
quiz_id
]
grades
=
grade_data
[
quiz_id
]
json_data
[
index
][
"
Grade on
"
+
quiz_name
]
=
str
(
grades
[
0
])
quiz_ids_ordered
.
append
(
quiz_id
)
for
quiz_id
in
quiz_ids_ordered
:
quiz_name
=
quiz_id_to_quiz_name
[
quiz_id
]
question_grades
=
grade_data
[
quiz_id
][
1
]
question_grades_length
=
len
(
question_grades
)
question_index
=
0
while
question_index
<
question_grades_length
:
question_index_string
=
str
(
int
(
question_index
/
2
)
+
1
)
json_data
[
index
][
quiz_name
+
"
- Q
"
+
question_index_string
+
"
(Earned)
"
]
=
str
(
question_grades
[
question_index
])
json_data
[
index
][
quiz_name
+
"
- Q
"
+
question_index_string
+
"
(Possible)
"
]
=
str
(
question_grades
[
question_index
+
1
])
question_index
+=
2
index
+=
1
with
open
(
"
csvToPy.json
"
,
"
w
"
)
as
json_file
:
dump
(
json_data
,
json_file
,
indent
=
2
)