{ "schema": "freecad-web-p6-python-api-restricted-gate/v1", "taskId": "FW-P6-FPA-F4", "result": "pass", "coverage": { "inventoryRecords": 13385, "tier4Records": 63, "dispositionCounts": { "restricted": 63, "nonportable": 0 }, "plannedTier4Records": 0 }, "policy": { "allowedDispositions": [ "restricted", "nonportable" ], "reasonRequired": true, "sourceEvidenceRequired": true, "arbitraryExecution": false }, "manifest": { "path": "docs/p6/python-api-manifest.json", "sha256": "9974d9d768b1b0751a318f559e1c1f01a0a60a8afd9eb41b70736bb24539f152" }, "records": [ { "id": "py:Assembly:function:create_mock_pyside_uic", "module": "Assembly", "name": "create_mock_pyside_uic", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Assembly/AssemblyTests/mocks/MockGui.py", "line": 158 } }, { "id": "py:Help:function:add_language_path", "module": "Help", "name": "add_language_path", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 438 } }, { "id": "py:Help:function:add_preferences_page", "module": "Help", "name": "add_preferences_page", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 429 } }, { "id": "py:Help:function:convert", "module": "Help", "name": "convert", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 323 } }, { "id": "py:Help:function:get_contents", "module": "Help", "name": "get_contents", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 301 } }, { "id": "py:Help:function:get_location", "module": "Help", "name": "get_location", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 185 } }, { "id": "py:Help:function:get_qtwebwidgets", "module": "Help", "name": "get_qtwebwidgets", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 289 } }, { "id": "py:Help:function:get_uri", "module": "Help", "name": "get_uri", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 147 } }, { "id": "py:Help:function:location_url", "module": "Help", "name": "location_url", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 159 } }, { "id": "py:Help:function:openBrowserHTML", "module": "Help", "name": "openBrowserHTML", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 447 } }, { "id": "py:Help:function:show", "module": "Help", "name": "show", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 91 } }, { "id": "py:Help:function:show_browser", "module": "Help", "name": "show_browser", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 247 } }, { "id": "py:Help:function:show_dialog", "module": "Help", "name": "show_dialog", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 265 } }, { "id": "py:Help:function:show_tab", "module": "Help", "name": "show_tab", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 277 } }, { "id": "py:Help:function:underscore_page", "module": "Help", "name": "underscore_page", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Help/Help.py", "line": 135 } }, { "id": "py:Measure:class:MeasureBasePython", "module": "Measure", "name": "MeasureBasePython", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/UtilsMeasure.py", "line": 28 } }, { "id": "py:Measure:class:MeasureCOM", "module": "Measure", "name": "MeasureCOM", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/MeasureCOM.py", "line": 52 } }, { "id": "py:Measure:function:makeMeasureCOM", "module": "Measure", "name": "makeMeasureCOM", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/MeasureCOM.py", "line": 45 } }, { "id": "py:Measure:method:MeasureBasePython.getInputProps", "module": "Measure", "name": "MeasureBasePython.getInputProps", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/UtilsMeasure.py", "line": 41 } }, { "id": "py:Measure:method:MeasureBasePython.getSubject", "module": "Measure", "name": "MeasureBasePython.getSubject", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/UtilsMeasure.py", "line": 46 } }, { "id": "py:Measure:method:MeasureBasePython.isPrioritySelection", "module": "Measure", "name": "MeasureBasePython.isPrioritySelection", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/UtilsMeasure.py", "line": 36 } }, { "id": "py:Measure:method:MeasureBasePython.isValidSelection", "module": "Measure", "name": "MeasureBasePython.isValidSelection", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/UtilsMeasure.py", "line": 31 } }, { "id": "py:Measure:method:MeasureBasePython.parseSelection", "module": "Measure", "name": "MeasureBasePython.parseSelection", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/UtilsMeasure.py", "line": 51 } }, { "id": "py:Measure:method:MeasureCOM.execute", "module": "Measure", "name": "MeasureCOM.execute", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/MeasureCOM.py", "line": 124 } }, { "id": "py:Measure:method:MeasureCOM.getInputProps", "module": "Measure", "name": "MeasureCOM.getInputProps", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/MeasureCOM.py", "line": 99 } }, { "id": "py:Measure:method:MeasureCOM.getResultString", "module": "Measure", "name": "MeasureCOM.getResultString", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/MeasureCOM.py", "line": 120 } }, { "id": "py:Measure:method:MeasureCOM.getSubject", "module": "Measure", "name": "MeasureCOM.getSubject", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/MeasureCOM.py", "line": 102 } }, { "id": "py:Measure:method:MeasureCOM.isPrioritySelection", "module": "Measure", "name": "MeasureCOM.isPrioritySelection", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/MeasureCOM.py", "line": 95 } }, { "id": "py:Measure:method:MeasureCOM.isValidSelection", "module": "Measure", "name": "MeasureCOM.isValidSelection", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/MeasureCOM.py", "line": 74 } }, { "id": "py:Measure:method:MeasureCOM.onChanged", "module": "Measure", "name": "MeasureCOM.onChanged", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/MeasureCOM.py", "line": 156 } }, { "id": "py:Measure:method:MeasureCOM.parseSelection", "module": "Measure", "name": "MeasureCOM.parseSelection", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Measure/MeasureCOM.py", "line": 115 } }, { "id": "py:Mesh:class:PivyTestCases", "module": "Mesh", "name": "PivyTestCases", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Mesh/App/MeshTestsApp.py", "line": 483 } }, { "id": "py:Mesh:method:PivyTestCases.setUp", "module": "Mesh", "name": "PivyTestCases.setUp", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Mesh/App/MeshTestsApp.py", "line": 484 } }, { "id": "py:Mesh:method:PivyTestCases.tearDown", "module": "Mesh", "name": "PivyTestCases.tearDown", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Mesh/App/MeshTestsApp.py", "line": 537 } }, { "id": "py:Mesh:method:PivyTestCases.testPrimitiveCount", "module": "Mesh", "name": "PivyTestCases.testPrimitiveCount", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Mesh/App/MeshTestsApp.py", "line": 515 } }, { "id": "py:Mesh:method:PivyTestCases.testRayPick", "module": "Mesh", "name": "PivyTestCases.testRayPick", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Mesh/App/MeshTestsApp.py", "line": 489 } }, { "id": "py:Start:class:StartMigrator2024", "module": "Start", "name": "StartMigrator2024", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Start/StartMigrator.py", "line": 45 } }, { "id": "py:Start:method:StartMigrator2024.run_migration", "module": "Start", "name": "StartMigrator2024.run_migration", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Start/StartMigrator.py", "line": 57 } }, { "id": "py:Tux:class:IndicatorButton", "module": "Tux", "name": "IndicatorButton", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 41 } }, { "id": "py:Tux:function:RePopulateIcons", "module": "Tux", "name": "RePopulateIcons", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 64 } }, { "id": "py:Tux:function:addBottom", "module": "Tux", "name": "addBottom", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/PersistentToolbars.py", "line": 76 } }, { "id": "py:Tux:function:addLeft", "module": "Tux", "name": "addLeft", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/PersistentToolbars.py", "line": 65 } }, { "id": "py:Tux:function:addRight", "module": "Tux", "name": "addRight", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/PersistentToolbars.py", "line": 54 } }, { "id": "py:Tux:function:addTop", "module": "Tux", "name": "addTop", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/PersistentToolbars.py", "line": 26 } }, { "id": "py:Tux:function:clear", "module": "Tux", "name": "clear", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/PersistentToolbars.py", "line": 87 } }, { "id": "py:Tux:function:isConnected", "module": "Tux", "name": "isConnected", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/PersistentToolbarsGui.py", "line": 34 } }, { "id": "py:Tux:function:onClose", "module": "Tux", "name": "onClose", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/PersistentToolbarsGui.py", "line": 240 } }, { "id": "py:Tux:function:onCompact", "module": "Tux", "name": "onCompact", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 804 } }, { "id": "py:Tux:function:onMenu", "module": "Tux", "name": "onMenu", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 884 } }, { "id": "py:Tux:function:onOrbit", "module": "Tux", "name": "onOrbit", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 851 } }, { "id": "py:Tux:function:onOrbitShow", "module": "Tux", "name": "onOrbitShow", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 866 } }, { "id": "py:Tux:function:onRestore", "module": "Tux", "name": "onRestore", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/PersistentToolbarsGui.py", "line": 44 } }, { "id": "py:Tux:function:onSave", "module": "Tux", "name": "onSave", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/PersistentToolbarsGui.py", "line": 131 } }, { "id": "py:Tux:function:onStart", "module": "Tux", "name": "onStart", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/PersistentToolbarsGui.py", "line": 223 } }, { "id": "py:Tux:function:onTooltip", "module": "Tux", "name": "onTooltip", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 825 } }, { "id": "py:Tux:function:onWorkbenchActivated", "module": "Tux", "name": "onWorkbenchActivated", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/PersistentToolbarsGui.py", "line": 212 } }, { "id": "py:Tux:function:retranslateUi", "module": "Tux", "name": "retranslateUi", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 85 } }, { "id": "py:Tux:function:setCompact", "module": "Tux", "name": "setCompact", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 815 } }, { "id": "py:Tux:function:setCurrent", "module": "Tux", "name": "setCurrent", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 889 } }, { "id": "py:Tux:function:translate", "module": "Tux", "name": "translate", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 36 } }, { "id": "py:Tux:method:IndicatorButton.changeEvent", "module": "Tux", "name": "IndicatorButton.changeEvent", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 47 } }, { "id": "py:Tux:method:IndicatorButton.mousePressEvent", "module": "Tux", "name": "IndicatorButton.mousePressEvent", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 59 } }, { "id": "py:Tux:method:IndicatorButton.onChange", "module": "Tux", "name": "IndicatorButton.onChange", "disposition": "restricted", "reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime", "source": { "path": "src/Mod/Tux/NavigationIndicatorGui.py", "line": 55 } } ], "boundaries": [ "Restricted means the source symbol is tracked but not exposed as arbitrary Web execution.", "GUI/PySide/Pivy/desktop capabilities require a separate portable implementation before any exposed disposition." ] }