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

rero / sonar / 32370721682
95%
master: 95%

Build:
Build:
LAST BUILD BRANCH: sonar-test
DEFAULT BRANCH: master
Ran 20 Aug 2026 01:00PM UTC
Jobs 1
Files 288
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

20 Aug 2026 12:47PM UTC coverage: 94.842% (+0.05%) from 94.788%
32370721682

push

github

PascalRepond
fix(documents): correct context, identifiers and cite keys in RIS/BibTeX export

Follow-up to #1130, from an audit of the export against the source JSON
of a full test corpus.

* Place and publisher now follow what BibTeX, RIS and CSL expect for a
  hosted item: the host publication statement, split from its ISBD form
  ("Paris : PUF, 2016"), takes that slot when present, otherwise the
  record's own provisionActivity keeps it. No exporter read the statement
  until now, leaving @incollection without its required publisher.

* A thesis fills the same slot with its granting institution (BibTeX
  school, RIS PB) and states its degree in BibTeX type. Only a doctoral
  thesis maps to phdthesis; every other level rides on mastersthesis,
  whose printed label type replaces. Thesis detection keys off
  documentType, not off the entry type, which cannot tell the levels
  apart.

* extract_identifiers() dropped every non-DOI/ISBN/ISSN identifier (ark,
  URN, Local, ReportNumber...), about half of the corpus. They are now
  exported as RIS N1 notes and as BibTeX fields named after the type,
  numbered when a type repeats.

* BibTeX cite keys ("{Surname}{Year}") now include the record's pid,
  which makes them unique by construction. The letter-suffix
  disambiguation they relied on could only see the keys of a single
  serialize_search() call: an export assembled from independent calls --
  a paginated search, or repeated single-record exports, which had no
  disambiguation at all -- kept producing collisions, and BibTeX
  consumers either reject or silently merge colliding entries. The
  suffix machinery is dropped with the need for it.

Co-Authored-By: Miguel Moreira <miguel.moreira@rero.ch>

59 of 60 new or added lines in 3 files covered. (98.33%)

7667 of 8084 relevant lines covered (94.84%)

0.95 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
98.96
-1.04% sonar/modules/documents/serializers/common.py
Jobs
ID Job ID Ran Files Coverage
1 32370721682.1 20 Aug 2026 01:00PM UTC 288
94.84
GitHub Action Run
Source Files on build 32370721682
  • Tree
  • List 288
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32370721682
  • 56fa6721 on github
  • Prev Build on staging (#32349826246)
  • Next Build on staging (#32727679304)
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