Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parts Table Refactor #376

Merged
merged 19 commits into from
Aug 26, 2024
Merged

Parts Table Refactor #376

merged 19 commits into from
Aug 26, 2024

Conversation

ducky64
Copy link
Collaborator

@ducky64 ducky64 commented Aug 26, 2024

Cleans up the parts table type hierarchy, with more orthogonality between the part, abstract-table, footprint-spec, footprint-area, and footprint-generation functionality.

Other changes:

  • Adds ClassVar[...] to some abstract class variables that are to be implemented by subclasses, but it seems mypy won't detect those without ABCmeta, which breaks a bunch of other stuff. Sad.
  • Moves the standard-footprint functionality to its own class, and the HasStandardFootprint interface. HasStandardFootprint now implemented by abstract classes like Bjt, Capacitor, ..., instead of the more specific table. Also includes the refdes prefix.
  • Uniformly support footprint-spec and footprint-area filters on the base JlcTable class. The footprint generation must be mixed into each subclass independently, since some devices do not support standard footprints (antenna) or generate sub-blocks (oscillator)
  • Makes the PartsTablePart (and hierarchy) abstract library parts (instead of non-library) and browseable.
  • Adds *args, **kwargs forwarding in base FootprintBlock and GeneratorBlock classes.

@ducky64 ducky64 merged commit 5ac5c56 into master Aug 26, 2024
11 checks passed
@ducky64 ducky64 deleted the parts-refactor branch August 26, 2024 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant