Skip to content

Commit

Permalink
fix: asset pattern-matching logic
Browse files Browse the repository at this point in the history
  • Loading branch information
davidlougheed committed Sep 8, 2024
1 parent 0d33fd5 commit 838d54c
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion trail_guide_content_server/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
fr'src=\\"({ASSET_URI_PATTERN_FRAGMENT})\\"|'
fr'source=\\"({ASSET_URI_PATTERN_FRAGMENT})\\"|'
fr'poster=\\"({ASSET_URI_PATTERN_FRAGMENT})\\"|'
fr'href=\\"({ASSET_URI_PATTERN_FRAGMENT})\\"|'
fr'"asset": ?"([a-z0-9\-]{{36}})"'
)

Expand All @@ -96,6 +97,10 @@ def map_to_id(rows: list[sqlite3.Row]) -> list[Any]:
return [r["id"] for r in rows]


def remove_blank(x: tuple[str, ...]) -> tuple[str, ...]:
return tuple(filter(lambda z: z != "", x))


# TODO: JSON schema
class ModelWithRevision:
def __init__(
Expand Down Expand Up @@ -218,7 +223,7 @@ def _set_asset_usage(self, c: sqlite3.Cursor, obj_id: Any, revision: int, data:

for f in self.asset_search_fields:
if fv := data.get(f):
matches = [m[-1] for m in ASSET_PATTERN.findall(json.dumps(fv))]
matches = [remove_blank(m)[-1] for m in ASSET_PATTERN.findall(json.dumps(fv))]
asset_usages.update(set(matches))

asset_usage_rows = [(obj_id, revision, a) for a in asset_usages if a.strip()]
Expand Down

0 comments on commit 838d54c

Please sign in to comment.