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,51 +0,0 @@
{
"type": "filament",
"name": "SeeMeCNC TPU 0.7 nozzle",
"inherits": "SeeMeCNC TPU",
"from": "System",
"instantiation": "true",
"filament_settings_id": [
"SeeMeCNC TPU 0.7 nozzle"
],
"compatible_printers": [
"SeeMeCNC Artemis 0.7 nozzle",
"SeeMeCNC BOSSdelta 500 0505 0.7 nozzle",
"SeeMeCNC BOSSdelta 500 0510 0.7 nozzle",
"SeeMeCNC BOSSdelta 500 0521 0.7 nozzle",
"SeeMeCNC BOSSdelta 300 0.7 nozzle",
"SeeMeCNC RostockMAX v3.2 0.7 nozzle",
"SeeMeCNC RostockMAX v4 0.7 nozzle"
],
"compatible_printers_condition": "",
"compatible_prints": [
"0.30mm TPU Solid @SeeMeCNC Artemis 0.7",
"0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7",
"0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7",
"0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7",
"0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7",
"0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7",
"0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7",
"0.35mm TPU Vase @SeeMeCNC Artemis 0.7",
"0.35mm TPU Vase @SeeMeCNC BOSSdelta 300 0.7",
"0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0505 0.7",
"0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0510 0.7",
"0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0521 0.7",
"0.35mm TPU Vase @SeeMeCNC RostockMAX v3.2 0.7",
"0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7"
],
"compatible_prints_condition": "",
"filament_retraction_length": [
"7"
],
"filament_z_hop": [
"0.3"
],
"filament_retraction_speed": [
"30"
],
"filament_deretraction_speed": [
"30"
],
"setting_id": "4LUkyKiKFb96OeC0",
"filament_id": "SMCFU00107"
}