Skip to content

Commit e66900c

Browse files
committed
feat: simulate video learning events
Resolves #3
1 parent 18b9a86 commit e66900c

File tree

10 files changed

+131
-6
lines changed

10 files changed

+131
-6
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
id,time
2+
0,0
3+
0,0
4+
0,0
5+
0,0
6+
0,0
7+
0,0
8+
0,0
9+
0,0
10+
0,0
11+
0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
id,time
2+
0,0
3+
0,0
4+
0,0
5+
0,0
6+
0,0
7+
0,0
8+
0,0
9+
0,0
10+
0,0
11+
0,0
12+
0,0
13+
0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
id,time
2+
0,0
3+
0,0
4+
0,0
5+
0,0
6+
0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
id,time
2+
0,0
3+
0,0
4+
0,0
5+
0,0
6+
0,0
7+
0,0
8+
0,0
9+
0,0
10+
0,0
11+
0,0
12+
0,0
13+
0,0
14+
0,0
15+
0,0
16+
0,0
17+
0,0
18+
0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
id,time
2+
0,0
3+
0,0
4+
0,0
5+
0,0
6+
0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
id,time
2+
0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
id,time
2+
0,0
3+
0,0
4+
0,0
5+
0,0
6+
0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
id,time
2+
0,0
3+
0,0
4+
0,0
5+
0,0
6+
0,0
7+
0,0
8+
0,0
9+
0,0
10+
0,0
11+
0,0
12+
0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
id,time
2+
0,0
3+
0,0
4+
0,0
5+
0,0
6+
0,0
7+
0,0
8+
0,0
9+
0,0
10+
0,0
11+
0,0
12+
0,0
13+
0,0
14+
0,0
15+
0,0
16+
0,0
17+
0,0
18+
0,0
19+
0,0
20+
0,0

simulate-video-learning-events.py

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
from datetime import datetime
2+
import os
13
from os.path import basename
24
import pandas
5+
import random
36

47
language_codes = ['ENG', 'HIN', 'TGL']
58
print(basename(__file__), f'language_codes: {language_codes}')
@@ -12,12 +15,23 @@
1215
analytics_version_code = 3001018
1316
print(basename(__file__), f'analytics_version_code: {analytics_version_code}')
1417

18+
date = datetime.today().strftime('%Y-%m-%d')
19+
print(basename(__file__), f'date: {date}')
20+
1521
def simulateVideoLearningEvent(android_id):
16-
"""Simulate a VideoLearningEvent, e.g. a video being opened."""
22+
"""
23+
Simulate a VideoLearningEvent, e.g. a video being opened.
24+
25+
Should match the CSV format in https://github.com/elimu-ai/analytics/blob/main/app/src/main/java/ai/elimu/analytics/task/ExportEventsToCsvWorker.java
26+
"""
1727

18-
# TODO
28+
id = 0
29+
time = 0
1930

20-
return {}
31+
return {
32+
'id': id,
33+
'time': time
34+
}
2135

2236
for language_code in language_codes:
2337
print(basename(__file__))
@@ -38,8 +52,25 @@ def simulateVideoLearningEvent(android_id):
3852
print(basename(__file__))
3953
print(basename(__file__), f'android_id: {android_id}')
4054

41-
event = simulateVideoLearningEvent(android_id)
42-
print(basename(__file__), f'event: {event}')
55+
video_learning_events = []
56+
random_number_of_events = random.randrange(0, 20)
57+
print(basename(__file__), f'random_number_of_events: {random_number_of_events}')
58+
for i in range(random_number_of_events):
59+
print(basename(__file__))
60+
event = simulateVideoLearningEvent(android_id)
61+
print(basename(__file__), f'event: {event}')
62+
video_learning_events.append(event)
63+
64+
video_learning_events_df = pandas.DataFrame(video_learning_events)
65+
print(basename(__file__), f'video_learning_events_df: \n{video_learning_events_df}')
4366

4467
# Export to CSV
45-
# TODO
68+
language_dir = f'lang-{language_code}'
69+
android_id_dir = os.path.join(language_dir, f'android-id-{android_id}')
70+
version_code_dir = os.path.join(android_id_dir, f'version-code-{analytics_version_code}')
71+
storybook_learning_events_dir = os.path.join(version_code_dir, f'storybook-learning-events')
72+
if not os.path.exists(storybook_learning_events_dir):
73+
os.makedirs(storybook_learning_events_dir)
74+
csv_path = os.path.join(storybook_learning_events_dir, f'{android_id}_{analytics_version_code}_storybook-learning-events_{date}.csv')
75+
print(basename(__file__), f'csv_path: \n{csv_path}')
76+
video_learning_events_df.to_csv(csv_path, index=False)

0 commit comments

Comments
 (0)