Skip to content

Commit a0f0896

Browse files
authored
fix: tfs external ids (#1484)
1 parent c52699b commit a0f0896

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

functions-python/tasks_executor/src/tasks/data_import/transitfeeds/sync_transitfeeds.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,14 +92,30 @@ def _process_feeds(
9292
feed_stable_id,
9393
)
9494

95-
# Init-on-create (shared fields)
96-
if is_new:
97-
feed.name = row["Feed Name"]
98-
feed.externalids = [
95+
# Set transitfeeds Externalid
96+
existing_externalid = [
97+
eid
98+
for eid in feed.externalids
99+
if eid.source == "transitfeeds"
100+
and eid.associated_id == row["External Feed ID"]
101+
]
102+
if existing_externalid:
103+
logger.debug(
104+
"[%s] External ID for source 'transitfeeds' already set for %s: %s",
105+
feed_kind.upper(),
106+
feed_stable_id,
107+
existing_externalid[0].associated_id,
108+
)
109+
else:
110+
feed.externalids.append(
99111
Externalid(
100112
source="transitfeeds", associated_id=row["External Feed ID"]
101113
)
102-
]
114+
)
115+
feed.operational_status = "published"
116+
# Init-on-create (shared fields)
117+
if is_new:
118+
feed.name = row["Feed Name"]
103119
feed.provider = row["Provider"]
104120
feed.producer_url = row["Producer URL"]
105121
logger.debug(

liquibase/changes/feat_1249-3.sql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-- Set operational_status to published for tfs feeds
2+
UPDATE feed
3+
SET operational_status = 'published'
4+
WHERE stable_id like 'tfs-%';

0 commit comments

Comments
 (0)