Skip to content

A bracketed qualifier is taken for a unit, so two figures share one id #189

Description

@lemarier

splitUnit in src/specs.ts takes any short word in trailing brackets for a unit, so a qualifier that tells two figures apart is dropped and both land on one id. The name the reader gave, and the document prints, is lost before specId sees it.

Progressive Dynamics' PD1600 quick reference guide p7 prints two rows for each model:

| Max Power (Cont) | 1000W | 1800W | 2000W |
| Max Power(Peak)  | 2000W | 3600W | 4000W |

The reading has both, named as printed. splitUnit turns "Max Power (Cont)" and "Max Power (Peak)" into "Max Power" with a unit of "Cont" or "Peak", which canonicalUnit then drops as a word. Both become progressive-dynamics-pd1610--max-power, one is written and the other is counted as a repeated row. Pull #187 writes 1000 W there, with nothing to say whether it is the continuous or the peak rating.

The same happens to EG4's WallMount Indoor sheet, where "CELL VOLTAGE PROTECTION (CHARGE)" at 3.8 V and "(DISCHARGE)" at 2.3 V both become "CELL VOLTAGE PROTECTION", and to "(BULK/ABSORB)" and "(OPERATING)". #185 rejected those figures as names the sheet does not print; the sheet does print them, and this is where they were lost.

Expected: a bracketed unit moves to the unit field, and a bracketed qualifier stays in the name, so two rows keep two ids.

Actual: any candidate of 1 to 12 letters is taken as a unit, unless it is in a short list of exceptions (max, min, typ, optional, nominal, d*w*h, l*w*h).

Next step: strip the brackets only when canonicalUnit recognises what is inside them, which already covers "(Ah)", "(VDC)", "(kg)" and "(°C)", and drop the exception list. Figures whose name regains a qualifier change id, so the next pull writes the new ids and removes the old ones; the pull request will show that.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions