Skip to content

Commit f343b9b

Browse files
authored
Merge pull request #7 from OSSFE/automate_chair_option
Automate chair option
2 parents 3f29e7a + dadf4d4 commit f343b9b

File tree

2 files changed

+29
-15
lines changed

2 files changed

+29
-15
lines changed

book/README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Number of presentations: 1
2626

2727
Room: MIT
2828

29-
Chair: TBA
29+
Chair: TBC
3030

3131
| ID | Title | Presenter |
3232
|:---------|:---------------------------------------------------|:------------------------|
@@ -38,7 +38,7 @@ Number of presentations: 2
3838

3939
Room: MIT
4040

41-
Chair: TBA
41+
Chair: TBC
4242

4343
| ID | Title | Presenter |
4444
|:-----|:-------------------------------------------------------------------------|:----------------|
@@ -52,7 +52,7 @@ Number of presentations: 3
5252

5353
Room: MIT
5454

55-
Chair: TBA
55+
Chair: TBC
5656

5757
| ID | Title | Presenter |
5858
|:-----|:-----------------------------------------------------------------------------|:--------------|
@@ -66,7 +66,7 @@ Number of presentations: 3
6666

6767
Room: Apache
6868

69-
Chair: TBA
69+
Chair: TBC
7070

7171
| ID | Title | Presenter |
7272
|:-----|:-------------------------------------------------------------------------|:-------------|
@@ -80,7 +80,7 @@ Number of presentations: 1
8080

8181
Room: MIT
8282

83-
Chair: TBA
83+
Chair: TBC
8484

8585
| ID | Title | Presenter |
8686
|:-------|:-------------------------------------------|:------------|
@@ -92,7 +92,7 @@ Number of presentations: 1
9292

9393
Room: MIT
9494

95-
Chair: TBA
95+
Chair: TBC
9696

9797
| ID | Title | Presenter |
9898
|:-----|:----------------------------------------------------------------------------------|:--------------|
@@ -104,7 +104,7 @@ Number of presentations: 3
104104

105105
Room: MIT
106106

107-
Chair: TBA
107+
Chair: TBC
108108

109109
| ID | Title | Presenter |
110110
|:-----|:--------------------------------------------------------------------------|:-------------------|
@@ -118,7 +118,7 @@ Number of presentations: 3
118118

119119
Room: Apache
120120

121-
Chair: TBA
121+
Chair: TBC
122122

123123
| ID | Title | Presenter |
124124
|:-----|:------------------------------------------------------------------------|:--------------|
@@ -132,7 +132,7 @@ Number of presentations: 3
132132

133133
Room: MIT
134134

135-
Chair: TBA
135+
Chair: TBC
136136

137137
| ID | Title | Presenter |
138138
|:-----|:-----------------------------------------------------------------------------|:----------------|
@@ -146,7 +146,7 @@ Number of presentations: 3
146146

147147
Room: Apache
148148

149-
Chair: TBA
149+
Chair: TBC
150150

151151
| ID | Title | Presenter |
152152
|:-----|:-------------------------------------------------------------------------|:----------------|
@@ -160,7 +160,7 @@ Number of presentations: 1
160160

161161
Room: MIT
162162

163-
Chair: TBA
163+
Chair: TBC
164164

165165
| ID | Title | Presenter |
166166
|:---------|:---------------------------------------------|:------------------------|

generate_timetable.py

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
6666
Room: {room}
6767
68-
Chair: TBA
68+
Chair: {chair}
6969
7070
{table}
7171
"""
@@ -75,12 +75,14 @@
7575
class TimeSlot(NamedTuple):
7676
"""
7777
Rooms: MIT, APACHE, GNU, BSD
78+
types : plenary, oral, poster, opening, closing, panel
7879
"""
7980

8081
start: datetime.datetime
8182
end: datetime.datetime
8283
room: str
83-
type: ["plenary", "oral", "poster", "opening", "closing", "panel"]
84+
type: str
85+
chair: str
8486

8587
def num_presentations(self):
8688
if type_to_duration[self.type] is None:
@@ -102,90 +104,103 @@ def session_to_time(session_id: str):
102104
end=datetime.datetime(2025, 3, 18, 7, 10),
103105
room="MIT",
104106
type="opening",
107+
chair="TBC",
105108
)
106109
elif session_id == "S_Closing":
107110
return TimeSlot(
108111
start=datetime.datetime(2025, 3, 18, 15, 10),
109112
end=datetime.datetime(2025, 3, 18, 15, 20),
110113
room="MIT",
111114
type="closing",
115+
chair="TBC",
112116
)
113117
elif session_id == "S_P1":
114118
return TimeSlot(
115119
start=datetime.datetime(2025, 3, 18, 7, 10),
116120
end=datetime.datetime(2025, 3, 18, 8, 10),
117121
room="MIT",
118122
type="plenary",
123+
chair="TBC",
119124
)
120125
elif session_id == "S_A":
121126
return TimeSlot(
122127
start=datetime.datetime(2025, 3, 18, 8, 30),
123128
end=datetime.datetime(2025, 3, 18, 9, 30),
124129
room="MIT",
125130
type="oral",
131+
chair="TBC",
126132
)
127133
elif session_id == "S_B":
128134
return TimeSlot(
129135
start=datetime.datetime(2025, 3, 18, 8, 30),
130136
end=datetime.datetime(2025, 3, 18, 9, 30),
131137
room="Apache",
132138
type="oral",
139+
chair="TBC",
133140
)
134141
elif session_id == "S_poster":
135142
return TimeSlot(
136143
start=datetime.datetime(2025, 3, 18, 9, 30),
137144
end=datetime.datetime(2025, 3, 18, 10, 40),
138145
room="GNU",
139146
type="poster",
147+
chair="TBC",
140148
)
141149
elif session_id == "S_demos":
142150
return TimeSlot(
143151
start=datetime.datetime(2025, 3, 18, 9, 30),
144152
end=datetime.datetime(2025, 3, 18, 10, 40),
145153
room="GNU",
146154
type="poster",
155+
chair="TBC",
147156
)
148157
elif session_id == "S_Panel":
149158
return TimeSlot(
150159
start=datetime.datetime(2025, 3, 18, 10, 40),
151160
end=datetime.datetime(2025, 3, 18, 11, 20),
152161
room="MIT",
153162
type="panel",
163+
chair="TBC",
154164
)
155165
elif session_id == "S_P2":
156166
return TimeSlot(
157167
start=datetime.datetime(2025, 3, 18, 11, 20),
158168
end=datetime.datetime(2025, 3, 18, 11, 50),
159169
room="MIT",
160170
type="plenary",
171+
chair="TBC",
161172
)
162173
elif session_id == "S_C":
163174
return TimeSlot(
164175
start=datetime.datetime(2025, 3, 18, 12, 50),
165176
end=datetime.datetime(2025, 3, 18, 13, 50),
166177
room="MIT",
167178
type="oral",
179+
chair="TBC",
168180
)
169181
elif session_id == "S_D":
170182
return TimeSlot(
171183
start=datetime.datetime(2025, 3, 18, 12, 50),
172184
end=datetime.datetime(2025, 3, 18, 13, 50),
173185
room="Apache",
174186
type="oral",
187+
chair="TBC",
175188
)
176189
elif session_id == "S_E":
177190
return TimeSlot(
178191
start=datetime.datetime(2025, 3, 18, 14, 10),
179192
end=datetime.datetime(2025, 3, 18, 15, 10),
180193
room="MIT",
181194
type="oral",
195+
chair="TBC",
182196
)
183197
elif session_id == "S_F":
184198
return TimeSlot(
185199
start=datetime.datetime(2025, 3, 18, 14, 10),
186200
end=datetime.datetime(2025, 3, 18, 15, 10),
187201
room="Apache",
188202
type="oral",
203+
chair="TBC",
189204
)
190205

191206
raise ValueError(f"Unknown session {session_id}")
@@ -263,8 +278,6 @@ def main():
263278
# sort by time
264279
grouped = sorted(grouped, key=lambda x: session_to_time(x[0]).start)
265280

266-
grouped_dict = {session_id: group for session_id, group in grouped}
267-
268281
# Create a table for each group
269282
tables = []
270283
for session, group in grouped:
@@ -300,6 +313,7 @@ def main():
300313
session_id=session.replace("S_", ""),
301314
time_slot=time_slot,
302315
room=time_slot.room,
316+
chair=time_slot.chair,
303317
table=table,
304318
)
305319
)

0 commit comments

Comments
 (0)