Skip to content

Commit e281854

Browse files
authored
Fix idempotency comparisons (#40)
* `original_session` was sticking around causing mismatches * Plus time comparison was broken Signed-off-by: Phil Dibowitz <phil@ipom.com>
1 parent 8b4e837 commit e281854

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

guidebook/sync_guidebook.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,8 @@ def __init__(self, logger, update, dryrun, max_deletes, key, x_key=None):
177177
self.sessions_by_name = {
178178
s["name"]: s for s in self.sessions_by_nid.values()
179179
}
180+
for nid, session in self.sessions_by_nid.items():
181+
assert nid == session["import_id"]
180182
self.x_rooms = []
181183
self.nids_to_delete = []
182184

@@ -515,8 +517,10 @@ def session_needs_update(self, new_data, original_session):
515517
]
516518
for key in all_keys:
517519
if "time" in key:
518-
a = parser.isoparse(new_data[key])
519-
b = parser.isoparse(original_session[key])
520+
a = new_data[key].replace("+0000", "+00:00")
521+
b = original_session[key].replace("+0000", "+00:00")
522+
a = parser.isoparse(a)
523+
b = parser.isoparse(b)
520524
a = a.astimezone(pytz.utc)
521525
b = b.astimezone(pytz.utc)
522526
else:
@@ -579,13 +583,11 @@ def setup_sessions(self, sessions_by_name, sessions_by_nid):
579583

580584
# now loop through pass in sessions, and add/update as needed
581585
for nid, session in sessions_by_nid.items():
586+
original_session = None
582587
name = session["Name"]
583-
update = False
584-
sid = None
585588
if session["StartTime"] == "":
586589
self.logger.warning("Skipping %s - no date" % name)
587590
continue
588-
nid = session["nid"]
589591
if nid in self.sessions_by_nid:
590592
original_session = self.sessions_by_nid[nid]
591593
self.add_session(session, original_session)

0 commit comments

Comments
 (0)