Skip to content

Commit 90c91b1

Browse files
committed
Start terms on day after end of previous term.
1 parent 8982ae9 commit 90c91b1

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

mazevo_r25/management/commands/r25_mazevo.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from django.core.management.base import BaseCommand
99
from uw_mazevo.api import PublicCourses
1010
from uw_sws.term import (get_current_term, get_next_term, get_term_after,
11-
get_term_by_year_and_quarter)
11+
get_term_before, get_term_by_year_and_quarter)
1212
from uw_r25.models import Event, Reservation
1313

1414
from mazevo_r25.more_r25 import get_event_list, get_reservations_attrs
@@ -134,14 +134,23 @@ def handle(self, *args, **options):
134134
else:
135135
term = get_current_term()
136136

137+
prev_term = get_term_before(term)
138+
139+
# import_term is the data structure we upload to Mazevo.
140+
# By coincidence, this format of startDate and endDate also works for the R25
141+
# API, so we re-use it in those queries.
137142
import_term = {
138143
"termDescription": "{} {}".format(term.quarter, term.year).title(),
139-
"startDate": term.first_day_quarter.isoformat(),
144+
# can't use term.first_day_quarter because of early start classes
145+
"startDate": (
146+
prev_term.grade_submission_deadline + datetime.timedelta(days=1)
147+
).isoformat(),
140148
"endDate": term.grade_submission_deadline.isoformat(),
141149
}
142150

143-
logger.info("Retrieving R25 reservations for {}".format(
144-
import_term["termDescription"]))
151+
logger.info("Retrieving R25 reservations for {}: {} - {}".format(
152+
import_term["termDescription"],
153+
import_term["startDate"], import_term["endDate"]))
145154

146155
courses = {}
147156

@@ -162,8 +171,8 @@ def handle(self, *args, **options):
162171
state="+".join([Event.TENTATIVE_STATE,
163172
Event.CONFIRMED_STATE,
164173
Event.SEALED_STATE]),
165-
reservation_start_dt=term.first_day_quarter.isoformat(),
166-
reservation_end_dt=term.grade_submission_deadline.isoformat(),
174+
reservation_start_dt=import_term["startDate"],
175+
reservation_end_dt=import_term["endDate"],
167176
category_id="+".join(settings.MAZEVO_R25_CATEGORIES_UNLISTED))
168177

169178
unlisted_event_ids = unlisted_events.keys()
@@ -181,8 +190,8 @@ def handle(self, *args, **options):
181190
Reservation.EXCEPTION_STATE,
182191
Reservation.WARNING_STATE,
183192
Reservation.OVERRIDE_STATE]),
184-
start_dt=term.first_day_quarter.isoformat(),
185-
end_dt=term.grade_submission_deadline.isoformat(),
193+
start_dt=import_term["startDate"],
194+
end_dt=import_term["endDate"],
186195
paginate=paginate, page=page, page_size=1000)
187196

188197
if page == 1:

0 commit comments

Comments
 (0)