Run every profile maintenance job from one tool (#15726)

* Run every profile maintenance job from one tool

orca_id_tool.py becomes orca_profile_tool.py, and orca_extra_profile_check.py
and orca_filament_lib.py fold into it as subcommands: check, generate-id, fix,
trim, update-index and update-snapshot. The three scripts already overlapped --
the checker imported half of its rules from the id tool, which in turn kept a
copy-pasted set of output helpers to avoid the resulting import cycle -- while
disagreeing on how a vendor is enumerated, how a JSON file is read and what the
exit code means. One file settles all three.

check, normalize, trim and update-index reproduce their predecessors exactly; normalize and
update-index were diffed byte-for-byte against the old scripts over a copy of
the whole tree. Deliberate changes: the compatible-printers check no longer
switches itself off when --check-materials is passed, an error exits 1 rather
than -1, update-index honours --profile-type and reports a profile it cannot
place instead of dropping it from the index, fix and update-index gained
--dry-run, trim keeps an unindexed file some surviving profile still inherits
from, and vendors are enumerated as directories with an index -- which is why
blacklist.json, a data file that an unscoped index rebuild once wrote four empty
list sections into, loses them here and will not collect them again. The dead
rename_filament_system() helper is gone.

The suite under scripts/tests now covers the maintenance commands too, and CI
runs it; nothing there ran in CI before. No shipped profile data changes apart
from those four keys.

* update vendor index files with "python3 ./scripts/orca_profile_tool.py update-index" and "python3 ./scripts/orca_profile_tool.py normalize"
This commit is contained in:
SoftFever
2026-09-16 19:53:23 +08:00
committed by GitHub
parent 93c8b3f2b0
commit ade9e77b6b
112 changed files with 13257 additions and 17140 deletions
@@ -1,65 +0,0 @@
{
"type": "filament",
"name": "SeeMeCNC PLA 0.5 nozzle",
"inherits": "SeeMeCNC PLA",
"from": "System",
"instantiation": "true",
"filament_settings_id": [
"SeeMeCNC PLA 0.5 nozzle"
],
"compatible_printers": [
"SeeMeCNC Artemis 0.5 nozzle",
"SeeMeCNC BOSSdelta 500 0505 0.5 nozzle",
"SeeMeCNC BOSSdelta 500 0510 0.5 nozzle",
"SeeMeCNC BOSSdelta 500 0521 0.5 nozzle",
"SeeMeCNC BOSSdelta 300 0.5 nozzle",
"SeeMeCNC RostockMAX v3.2 0.5 nozzle",
"SeeMeCNC RostockMAX v4 0.5 nozzle"
],
"compatible_printers_condition": "",
"compatible_prints": [
"0.20mm Fine @SeeMeCNC Artemis 0.5",
"0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5",
"0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5",
"0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5",
"0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5",
"0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5",
"0.20mm Fine @SeeMeCNC RostockMAX v4 0.5",
"0.25mm Standard @SeeMeCNC Artemis 0.5",
"0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5",
"0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5",
"0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5",
"0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5",
"0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5",
"0.25mm Standard @SeeMeCNC RostockMAX v4 0.5",
"0.30mm Draft @SeeMeCNC Artemis 0.5",
"0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5",
"0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5",
"0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5",
"0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5",
"0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5",
"0.30mm Draft @SeeMeCNC RostockMAX v4 0.5",
"0.35mm Extra Draft @SeeMeCNC Artemis 0.5",
"0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5",
"0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5",
"0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5",
"0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5",
"0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5",
"0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5"
],
"compatible_prints_condition": "",
"filament_retraction_length": [
"5"
],
"filament_z_hop": [
"0.3"
],
"filament_retraction_speed": [
"45"
],
"filament_deretraction_speed": [
"35"
],
"setting_id": "CcINW4WttiNsKvjf",
"filament_id": "SMCFL00105"
}