Skip to content

Use pyTooling's ConfigurationException instead of a second one - #105

Open
eda-s-claude-bot[bot] wants to merge 2 commits into
devfrom
claude/use-pytooling-configuration-exception
Open

Use pyTooling's ConfigurationException instead of a second one#105
eda-s-claude-bot[bot] wants to merge 2 commits into
devfrom
claude/use-pytooling-configuration-exception

Conversation

@eda-s-claude-bot

Copy link
Copy Markdown

Changes

  • pyEDAA.OutputFilter.CLI.Configuration.ConfigurationException is removed; both modules use
    pyTooling.Configuration.ConfigurationException.

    pyTooling has carried a ConfigurationException for as long as pyTooling.Configuration has existed
    (pyTooling/Configuration/__init__.py:66). Having a second class of the same name in a package that imports
    pyTooling meant except ConfigurationException did different things depending on which one was in scope.

    Its base is ToolingException, which provides the notes API that main()'s handler already reads through
    HasNotes / Notes.

Breaking Changes

  • ⚠️ A configuration error is no longer an OutputFilterException. The class now derives from
    ToolingException, so except OutputFilterException does not catch it any more.

    main() is unaffected - it catches ConfigurationException in an earlier clause than OutputFilterException,
    so what the user sees is unchanged. Nothing else in the package or its tests catches the base class expecting a
    configuration error; I checked before making the change.

    For anyone importing it, the path changes from pyEDAA.OutputFilter.CLI.Configuration to
    pyTooling.Configuration.

Others

  • The OutputFilterException import in CLI/Configuration.py was left unused by the removal and is dropped.

Related Issues and Pull-Requests

'pyEDAA.OutputFilter.CLI.Configuration' declared its own
'ConfigurationException', while pyTooling has carried one since
'pyTooling.Configuration' existed. Two unrelated classes shared a name
across packages that are used together, and 'except
ConfigurationException' meant different things depending on which had
been imported.

The local class is gone; both modules import pyTooling's. Its base is
'ToolingException', which brings the notes API the handler in 'main()'
already reads through 'HasNotes'/'Notes'.

One consequence worth naming: a configuration error is no longer an
'OutputFilterException'. 'main()' catches 'ConfigurationException'
before that clause, so the reported behaviour is unchanged, and nothing
else in the package or its tests catches the base class expecting a
configuration error.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
@eda-s-claude-bot
eda-s-claude-bot Bot requested a review from Paebbels as a code owner August 22, 2026 15:51
@codecov

codecov Bot commented Aug 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.09%. Comparing base (6997fc2) to head (06585df).
⚠️ Report is 8 commits behind head on dev.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev     #105   +/-   ##
=======================================
  Coverage   80.09%   80.09%           
=======================================
  Files           7        7           
  Lines        3456     3456           
  Branches      410      410           
=======================================
  Hits         2768     2768           
  Misses        529      529           
  Partials      159      159           
Flag Coverage Δ
unittests 80.09% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

Comment thread pyEDAA/OutputFilter/CLI/Configuration.py Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants