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
+131 -131
View File
@@ -1,6 +1,6 @@
{
"name": "SeeMeCNC",
"version": "2.4.0.03",
"version": "2.4.0.04",
"force_update": "1",
"description": "SeeMeCNC configurations - Full profile set for Artemis, BOSSdelta, and RostockMAX printers",
"machine_model_list": [
@@ -50,10 +50,6 @@
"name": "SeeMeCNC process base 1.0mm",
"sub_path": "process/SeeMeCNC_process_base_1.0mm.json"
},
{
"name": "SeeMeCNC process base",
"sub_path": "process/SeeMeCNC_process_base.json"
},
{
"name": "0.16mm Fine @SeeMeCNC Artemis 0.4",
"sub_path": "process/0.16mm Fine @SeeMeCNC Artemis 0.4.json"
@@ -86,34 +82,6 @@
"name": "0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4",
"sub_path": "process/0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json"
},
{
"name": "0.20mm Fine @SeeMeCNC Artemis 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC Artemis 0.5.json"
},
{
"name": "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5.json"
},
{
"name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5.json"
},
{
"name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5.json"
},
{
"name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5.json"
},
{
"name": "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5.json"
},
{
"name": "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC RostockMAX v4 0.5.json"
},
{
"name": "0.20mm Standard @SeeMeCNC Artemis 0.4",
"sub_path": "process/0.20mm Standard @SeeMeCNC Artemis 0.4.json"
@@ -170,34 +138,6 @@
"name": "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4",
"sub_path": "process/0.24mm Draft @SeeMeCNC RostockMAX v4 0.4.json"
},
{
"name": "0.25mm Standard @SeeMeCNC Artemis 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC Artemis 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC RostockMAX v4 0.5.json"
},
{
"name": "0.28mm Extra Draft @SeeMeCNC Artemis 0.4",
"sub_path": "process/0.28mm Extra Draft @SeeMeCNC Artemis 0.4.json"
@@ -227,32 +167,60 @@
"sub_path": "process/0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4.json"
},
{
"name": "0.28mm Fine @SeeMeCNC Artemis 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC Artemis 0.7.json"
"name": "0.20mm Fine @SeeMeCNC Artemis 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC Artemis 0.5.json"
},
{
"name": "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7.json"
"name": "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5.json"
},
{
"name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7.json"
"name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5.json"
},
{
"name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7.json"
"name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5.json"
},
{
"name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7.json"
"name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5.json"
},
{
"name": "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7.json"
"name": "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5.json"
},
{
"name": "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC RostockMAX v4 0.7.json"
"name": "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5",
"sub_path": "process/0.20mm Fine @SeeMeCNC RostockMAX v4 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC Artemis 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC Artemis 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5.json"
},
{
"name": "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5",
"sub_path": "process/0.25mm Standard @SeeMeCNC RostockMAX v4 0.5.json"
},
{
"name": "0.30mm Draft @SeeMeCNC Artemis 0.5",
@@ -282,34 +250,6 @@
"name": "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5",
"sub_path": "process/0.30mm Draft @SeeMeCNC RostockMAX v4 0.5.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC Artemis 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC Artemis 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7.json"
},
{
"name": "0.35mm Extra Draft @SeeMeCNC Artemis 0.5",
"sub_path": "process/0.35mm Extra Draft @SeeMeCNC Artemis 0.5.json"
@@ -338,6 +278,62 @@
"name": "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5",
"sub_path": "process/0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5.json"
},
{
"name": "0.28mm Fine @SeeMeCNC Artemis 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC Artemis 0.7.json"
},
{
"name": "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7.json"
},
{
"name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7.json"
},
{
"name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7.json"
},
{
"name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7.json"
},
{
"name": "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7.json"
},
{
"name": "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7",
"sub_path": "process/0.28mm Fine @SeeMeCNC RostockMAX v4 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC Artemis 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC Artemis 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7.json"
},
{
"name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7",
"sub_path": "process/0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7.json"
},
{
"name": "0.35mm Standard @SeeMeCNC Artemis 0.7",
"sub_path": "process/0.35mm Standard @SeeMeCNC Artemis 0.7.json"
@@ -394,34 +390,6 @@
"name": "0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7",
"sub_path": "process/0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7.json"
},
{
"name": "0.40mm Fine @SeeMeCNC Artemis 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC Artemis 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC RostockMAX v4 1.0.json"
},
{
"name": "0.42mm Draft @SeeMeCNC Artemis 0.7",
"sub_path": "process/0.42mm Draft @SeeMeCNC Artemis 0.7.json"
@@ -478,6 +446,34 @@
"name": "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7",
"sub_path": "process/0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7.json"
},
{
"name": "0.40mm Fine @SeeMeCNC Artemis 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC Artemis 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0.json"
},
{
"name": "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0",
"sub_path": "process/0.40mm Fine @SeeMeCNC RostockMAX v4 1.0.json"
},
{
"name": "0.50mm Standard @SeeMeCNC Artemis 1.0",
"sub_path": "process/0.50mm Standard @SeeMeCNC Artemis 1.0.json"
@@ -561,6 +557,10 @@
{
"name": "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0",
"sub_path": "process/0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0.json"
},
{
"name": "SeeMeCNC process base",
"sub_path": "process/SeeMeCNC_process_base.json"
}
],
"filament_list": [