• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

rero / rero-mef / 29127123620
87%
staging: 87%

Build:
Build:
LAST BUILD BRANCH: wep-fixes
DEFAULT BRANCH: staging
Ran 10 Jul 2026 10:18PM UTC
Jobs 1
Files 199
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

10 Jul 2026 10:13PM UTC coverage: 87.323% (-0.04%) from 87.361%
29127123620

push

github

rerowep
refactor(mef): dedupe MEF helpers, restore UI redirect nav links

* consolidate get_latest, replace_refs, add_information, and the
  three MEF indexers' bulk_index (new shared MefIndexer base),
  previously triplicated across agents/concepts/places mef/api.py,
  into EntityMefRecord in api_mef.py -- drops ~260 lines of
  near-identical per-family code
* fix two bugs found while deduplicating get_latest: the idref
  reverse lookup now iterates every match for a redirect_from hit
  instead of only checking the first (a record can be both
  redirect_to'd and redirect_from'd at once); the visited cycle-guard
  is now keyed by (pid_type, pid) instead of a bare pid
* strip index-only fields (entity, md5, pid_numeric,
  sort_authorized_access_point, type_conflict) from get_latest's
  output so it matches the record's public/schema-clean shape
* restore theme/views.py's redirect_to/redirect_from nav-link fix for
  the MEF detail page's Latest/Older buttons (own + reverse relation
  lookups), and extend it: when two sources (e.g. GND and IDREF)
  resolve to different targets, both are now shown, labelled by
  source, instead of one silently overriding the other
* fix add_information's metadata-copy loop, which was nested inside
  the outer error-status loop and reused its variable name, running
  redundantly instead of once
* add a shared strip_index_fields() test helper (tests/utils.py) to
  replace five copies of the same filtering dict-comprehension across
  the agents/concepts/places get_latest tests
* add mef_ui_query_parser (query.py), a dedicated parser for the MEF
  UI's own free-text search (all_mef_search in views.py). The UI's
  search box only has a bare term, unlike API consumers such as
  rero-ils's MEFProxyFactory, which already build a fully
  field-qualified q of their own (MEFProxyMixin._get_query_params).
  The new parser builds that same query clause, then routes it
  through the exact same unrestricted Q() construction as
  and_search_fact... (continued)

69 of 77 new or added lines in 8 files covered. (89.61%)

5442 of 6232 relevant lines covered (87.32%)

0.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
88.32
-0.88% rero_mef/api_mef.py
4
86.67
-13.33% rero_mef/query.py
Jobs
ID Job ID Ran Files Coverage
1 29127123620.1 10 Jul 2026 10:18PM UTC 199
87.32
GitHub Action Run
Source Files on build 29127123620
  • Tree
  • List 199
  • Changed 8
  • Source Changed 8
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29127123620
  • 784d3b44 on github
  • Prev Build on master (#29009406781)
  • Next Build on mef-test (#29128008235)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc