Official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.
This report summarizes scanner evidence for FreeCAD/FreeCAD, a C++ project with 34,980 GitHub stars. SynthScan examined 7,072,404 lines of code across 8322 source files, recording 14463 pattern matches distributed across 25 syntactic categories. The legacy adjusted pattern signal is 2.8 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 10499 finding(s).
Are imports declared and package/API names verified? 1625 finding(s).
Are wrappers, guards, and repeated structures necessary? 4322 finding(s).
Which changes need focused human review? 14463 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 14463 distinct pattern matches across 25 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pixi.toml | 161 | ## macOS Dependencies (Intel) | COMMENT |
| LOW | tools/lint/changed_lines.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tests/src/LocaleTestHelpers.h | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/App/QuantityInput.cpp | 1 | #include <gtest/gtest.h> | COMMENT |
| LOW | tests/src/App/Property.cpp | 21 | * write to the Free Software Foundation, Inc., 59 Temple Place, * | COMMENT |
| LOW | tests/src/App/Property.cpp | 781 | // Tests whether we can undo a move of a property that is used in an expression | COMMENT |
| LOW | tests/src/App/ElementMap.cpp | 421 | // "Fusion" means that we are on the "Fusion" object. | COMMENT |
| LOW | tests/src/App/DocumentObserver.cpp | 201 | subName += "."; | COMMENT |
| LOW | tests/src/App/DocumentObserver.cpp | 281 | // In this case calling SubObjectT::normalize() changes subObjTWithoutEl subname in this way: | COMMENT |
| LOW | tests/src/App/DocumentObserver.cpp | 301 | // In this case calling SubObjectT::normalize() changes subObjTConvertIndex subname in this way: | COMMENT |
| LOW | tests/src/App/DocumentObserver.cpp | 321 | // Changing the label of the Part::Box to test the differences between calling | COMMENT |
| LOW | tests/src/App/DocumentObserver.cpp | 461 | COMMENT | |
| LOW | tests/src/App/DocumentObserver.cpp | 481 | EXPECT_NE(subObjTWithSubObjNormalized.getSubName().find("Edge1"), std::string::npos); | COMMENT |
| LOW | tests/src/App/DocumentObserver.cpp | 501 | // The "0." part of the of the original subname is kept because the | COMMENT |
| LOW | tests/src/App/DocumentObserver.cpp | 521 | // SubObjectT::NormalizeOption::ConvertIndex flag isn't set; | COMMENT |
| LOW | tests/src/App/VRMLObject.cpp | 21 | * * | COMMENT |
| LOW | tests/src/App/PropertyFile.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/App/MappedElement.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/App/BackupPolicy.cpp | 21 | * * | COMMENT |
| LOW | tests/src/App/PropertyExpressionEngine.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/App/Document.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/App/Expression.cpp | 21 | * * | COMMENT |
| LOW | tests/src/App/ExpressionParser.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Gui/ViewProviderDoubleClick.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Gui/Camera.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Gui/QuantitySpinBox.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Gui/NumericLocaleConsumers.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Gui/InputField.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Gui/propertyeditor/PropertyItem.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Gui/propertyeditor/PropertyEditorFocus.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Gui/StyleParameters/ParserTest.cpp | 21 | * * | COMMENT |
| LOW | tests/src/Base/Parameter.cpp | 1 | #include "Base/Color.h" | COMMENT |
| LOW | tests/src/Base/CrashReporter_tests.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Base/CrashReporter_tests.cpp | 21 | # endif | COMMENT |
| LOW | tests/src/Base/CrashReporter_tests.cpp | 541 | #else | COMMENT |
| LOW | tests/src/Base/BoundBox.cpp | 1 | #include <gtest/gtest.h> | COMMENT |
| LOW | tests/src/Base/SchemaTests.cpp | 21 | COMMENT | |
| LOW | tests/src/Base/PyException.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Base/Reader.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/MeshPart/App/MeshPart.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/Sketcher/App/SketchObjectChanges.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/Sketcher/App/SketchObjectChanges.cpp | 1261 | // zero multiplicity knot should immediately throw exception | COMMENT |
| LOW | tests/src/Mod/Sketcher/App/Constraint.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/Sketcher/App/SketchObject.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/Measure/App/MeasureAngle.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/Measure/App/MeasureAngle.cpp | 21 | #include <BRepPrimAPI_MakeSphere.hxx> | COMMENT |
| LOW | tests/src/Mod/Measure/App/MeasurePosition.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/Measure/App/MeasureDistance.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/Measure/App/QuickMeasure.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/PartDesign/App/Pipe.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | …ts/src/Mod/PartDesign/App/GeoFeatureGroupExtension.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/PartDesign/App/BackwardCompatibility.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/PartDesign/App/Revolution.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/PartDesign/App/Revolution.cpp | 21 | #include <App/Part.h> | COMMENT |
| LOW | tests/src/Mod/Part/App/FaceMakerBullseye.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/Part/App/FeaturePartFuse.cpp | 261 | subs = ts.getSubTopoShapes(TopAbs_FACE); | COMMENT |
| LOW | tests/src/Mod/Part/App/PreviewExtension.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/Part/App/TopoShapeCache.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/Part/App/ModelRefine.cpp | 1 | // SPDX-License-Identifier: LGPL-2.1-or-later | COMMENT |
| LOW | tests/src/Mod/Part/App/FeatureFillet.cpp | 141 | // gp_Pnt point = BRep_Tool::Pnt(TopoDS::Vertex(ex.Current())); | COMMENT |
| 6066 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/Mod/Draft/importSVG.py | 0 | open filename and parse using importdxf.open(). parameters ---------- filename : str the path to the filename to be open | STRING |
| HIGH | src/Mod/Draft/importAirfoilDAT.py | 0 | open filename and parse using importdxf.open(). parameters ---------- filename : str the path to the filename to be open | STRING |
| HIGH | src/Mod/Draft/importDWG.py | 0 | open filename and parse using importdxf.open(). parameters ---------- filename : str the path to the filename to be open | STRING |
| HIGH | src/Mod/Draft/draftmake/make_hatch.py | 0 | this module contains freecad commands for the draft workbench | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_hatch.py | 0 | this module contains freecad commands for the draft workbench | STRING |
| HIGH | src/Mod/Draft/draftobjects/hatch.py | 0 | this module contains freecad commands for the draft workbench | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_rotate.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_stretch.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_trimex.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_rectangles.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_dimensions.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_offset.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_scale.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_ellipses.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_lines.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_mirror.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_split.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_arcs.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_move.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_labels.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_texts.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_polygons.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_subelements.py | 0 | handle the 3d scene events. this is installed as an eventcallback in the inventor view. parameters ---------- event: dic | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_rotate.py | 0 | terminate the operation. parameters ---------- cont: bool or none, optional restart (continue) the command if `true`, or | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_rectangles.py | 0 | terminate the operation. parameters ---------- cont: bool or none, optional restart (continue) the command if `true`, or | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_ellipses.py | 0 | terminate the operation. parameters ---------- cont: bool or none, optional restart (continue) the command if `true`, or | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_points.py | 0 | terminate the operation. parameters ---------- cont: bool or none, optional restart (continue) the command if `true`, or | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_arcs.py | 0 | terminate the operation. parameters ---------- cont: bool or none, optional restart (continue) the command if `true`, or | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_move.py | 0 | terminate the operation. parameters ---------- cont: bool or none, optional restart (continue) the command if `true`, or | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_texts.py | 0 | terminate the operation. parameters ---------- cont: bool or none, optional restart (continue) the command if `true`, or | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_polygons.py | 0 | terminate the operation. parameters ---------- cont: bool or none, optional restart (continue) the command if `true`, or | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_rotate.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_stretch.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_trimex.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_rectangles.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_dimensions.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_scale.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_ellipses.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_lines.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_points.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_mirror.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_arcs.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_move.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_labels.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_texts.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_polygons.py | 0 | validate the entry fields in the user interface. this function is called by the toolbar or taskpanel interface when vali | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_rotate.py | 0 | validate the entry radius in the user interface. this function is called by the toolbar or taskpanel interface when a va | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_offset.py | 0 | validate the entry radius in the user interface. this function is called by the toolbar or taskpanel interface when a va | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_arcs.py | 0 | validate the entry radius in the user interface. this function is called by the toolbar or taskpanel interface when a va | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_polygons.py | 0 | validate the entry radius in the user interface. this function is called by the toolbar or taskpanel interface when a va | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_downgrade.py | 0 | proceed with execution of the command after proper selection. | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_upgrade.py | 0 | proceed with execution of the command after proper selection. | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_scale.py | 0 | proceed with execution of the command after proper selection. | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_stretch.py | 0 | proceed with execution of the command after proper selection. | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_trimex.py | 0 | proceed with execution of the command after proper selection. | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_pointarray.py | 0 | proceed with the command if one object was selected. | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_draft2sketch.py | 0 | proceed with the command if one object was selected. | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_offset.py | 0 | proceed with the command if one object was selected. | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_shape2dview.py | 0 | proceed with the command if one object was selected. | STRING |
| HIGH | src/Mod/Draft/draftguitools/gui_patharray.py | 0 | proceed with the command if one object was selected. | STRING |
| 471 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/CMakeLists.txt | 117 | # ------------------------- | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 45 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 47 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 83 | # =========================================================================== | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 85 | # =========================================================================== | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 181 | # =========================================================================== | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 183 | # =========================================================================== | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 310 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 312 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 512 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 514 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 555 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 557 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 627 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 629 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 706 | # =========================================================================== | COMMENT |
| MEDIUM | .github/scripts/score_prs.py | 708 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 60 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 62 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 69 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 71 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 93 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 95 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 102 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 104 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 108 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 110 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 143 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 145 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 152 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 154 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 159 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 161 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 167 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 169 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 171 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 173 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 178 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 180 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 190 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 192 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 198 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/BuildDocDoxy.cfg | 200 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Tools/fcbt/BuildDocDoxy.cfg | 4 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Tools/fcbt/BuildDocDoxy.cfg | 6 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Tools/fcbt/BuildDocDoxy.cfg | 33 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Tools/fcbt/BuildDocDoxy.cfg | 35 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Tools/fcbt/BuildDocDoxy.cfg | 128 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Tools/fcbt/BuildDocDoxy.cfg | 130 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Tools/fcbt/BuildDocDoxy.cfg | 220 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Tools/fcbt/BuildDocDoxy.cfg | 222 | #--------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/DistBin.py | 22 | # ==================================================================== | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/DistBin.py | 29 | # ==================================================================== | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/DistBin.py | 37 | # ==================================================================== | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/DistBin.py | 49 | # ==================================================================== | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/DistBin.py | 59 | # ==================================================================== | COMMENT |
| MEDIUM⚡ | src/Tools/fcbt/DistBin.py | 68 | # ==================================================================== | COMMENT |
| MEDIUM | src/Tools/fcbt/BuildDoc.py | 17 | # ==================================================================== | COMMENT |
| MEDIUM | src/Tools/fcbt/BuildDoc.py | 28 | # ==================================================================== | COMMENT |
| MEDIUM | src/Tools/fcbt/BuildDoc.py | 39 | # ==================================================================== | COMMENT |
| 635 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/lint/clang_format.py | 17 | def count_clang_format_errors(log_text: str) -> int: | CODE |
| LOW | tools/lint/generic_checks.py | 29 | def check_trailing_whitespace(file_paths): | CODE |
| LOW | .github/scripts/score_prs.py | 134 | def compute_mergeability_score( | CODE |
| LOW | src/Tools/params_utils.py | 395 | def preference_dialog_declare_begin(param_set, header=True): | CODE |
| LOW | src/Tools/params_utils.py | 452 | def preference_dialog_declare_end(param_set): | CODE |
| LOW | src/Tools/params_utils.py | 465 | def preference_dialog_declare(param_set, header=True): | STRING |
| LOW | src/Tools/MakeMacBundleRelocatable.py | 152 | def get_rpaths_for_resolution(library_path): | CODE |
| LOW | src/Tools/tests/test_deprecation.py | 19 | def test_decorator_warns_with_lifecycle_and_replacement(self) -> None: | CODE |
| LOW⚡ | src/Tools/tests/test_deprecation.py | 40 | def test_required_releases_must_not_be_empty(self) -> None: | CODE |
| LOW⚡ | src/Tools/tests/test_deprecation.py | 46 | def test_releases_must_be_ordered_and_valid(self) -> None: | CODE |
| LOW⚡ | src/Tools/tests/test_deprecation.py | 52 | def test_optional_fields_must_be_strings(self) -> None: | CODE |
| LOW⚡ | src/Tools/tests/test_deprecation.py | 58 | def test_message_does_not_duplicate_terminal_punctuation(self) -> None: | CODE |
| LOW | src/Tools/tests/test_deprecation.py | 70 | def test_wrapper_frame_can_be_unwrapped(self) -> None: | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 49 | def test_an_unpublished_line_starts_at_zero(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 52 | def test_the_next_patch_is_one_past_the_highest(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 55 | def test_other_lines_do_not_count(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 60 | def test_a_pre_release_does_not_advance_the_line_it_previews(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 64 | def test_a_deleted_release_leaves_a_skipped_gap(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 67 | def test_unsorted_input_is_handled(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 72 | def test_versions_are_returned(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 77 | def test_an_unknown_package_is_not_an_error(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 83 | def test_a_server_error_propagates(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 90 | def test_an_index_without_the_versions_key_is_refused(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 97 | def test_a_non_json_index_is_refused_by_content_type(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 137 | def test_empty_suffix_is_a_plain_release(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 141 | def test_patch_number_defaults_to_zero(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 145 | def test_dev_suffix_alone_does_not_mark_the_package(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 150 | def test_dev_build_appends_a_development_release_segment(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 154 | def test_release_candidate_suffix_becomes_a_pre_release(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 167 | def test_dev_build_wins_over_a_pre_release_suffix(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 171 | def test_version_override_wins_over_everything(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 176 | def test_unpublishable_suffix_is_refused(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 184 | def test_api_version_is_coerced_to_integers(self): | CODE |
| LOW⚡ | src/Tools/tests/test_typing_stubgen_versioning.py | 189 | def test_freecad_version_records_the_suffix_for_provenance(self): | CODE |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 37 | def test_complete_version_with_suffix(self): | CODE |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 41 | def test_complete_version_without_suffix(self): | CODE |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 49 | def test_rpm_version_with_suffix(self): | CODE |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 53 | def test_rpm_version_without_suffix(self): | CODE |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 61 | def test_conda_version_with_suffix(self): | CODE |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 65 | def test_conda_version_without_suffix(self): | CODE |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 110 | def test_replaces_field_in_correct_section(self): | CODE |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 115 | def test_does_not_modify_other_sections(self): | CODE |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 119 | def test_no_match_returns_unchanged(self): | CODE |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 123 | def test_key_not_in_section_returns_unchanged(self): | CODE |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 127 | def test_does_not_replace_key_in_wrong_section(self): | CODE |
| LOW | src/Tools/tests/test_sync_version.py | 187 | def test_updates_name_and_version(self): | STRING |
| LOW | src/Tools/tests/test_sync_version.py | 196 | def test_release_version_no_tilde(self): | STRING |
| LOW | src/Tools/tests/test_sync_version.py | 211 | def test_updates_name_for_fork(self): | STRING |
| LOW | src/Tools/tests/test_sync_version.py | 218 | def test_preserves_other_fields(self): | STRING |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 248 | def test_check_detects_out_of_sync(self, _stdout): | STRING |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 254 | def test_update_then_check_is_synced(self, _stdout): | STRING |
| LOW⚡ | src/Tools/tests/test_sync_version.py | 261 | def test_check_when_already_synced(self, _stdout): | STRING |
| LOW | src/Tools/tests/test_sync_version.py | 292 | def test_update_does_not_modify_synced_files(self, _stdout): | STRING |
| LOW | src/Tools/tests/test_typing_stubgen_deprecations.py | 66 | def test_structured_metadata_validates_releases_and_punctuation(self) -> None: | CODE |
| LOW | src/Tools/tests/test_typing_stubgen_deprecations.py | 80 | def test_public_class_stub_preserves_method_and_attribute_deprecations(self) -> None: | CODE |
| LOW | src/Tools/tests/test_typing_stubgen_deprecations.py | 200 | def test_method_only_deprecation_adds_public_import(self) -> None: | STRING |
| LOW | src/Tools/tests/test_typing_stubgen_deprecations.py | 220 | def test_class_only_deprecation_adds_public_import(self) -> None: | STRING |
| LOW | src/Tools/tests/test_typing_stubgen_deprecations.py | 238 | def test_module_stub_preserves_deprecated_function_decorators(self) -> None: | STRING |
| LOW | src/Tools/tests/test_typing_stubgen_deprecations.py | 301 | def test_type_stub_preserves_deprecated_method_decorators(self) -> None: | STRING |
| LOW | src/Tools/tests/test_python_api_deprecations.py | 84 | def test_scans_python_bindings_modules_and_attributes(self) -> None: | CODE |
| 1890 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/lint/qt_connections.py | 18 | CODE | |
| LOW | tools/lint/generic_checks.py | 12 | CODE | |
| LOW | tools/lint/generic_checks.py | 29 | CODE | |
| LOW | tools/lint/generic_checks.py | 49 | CODE | |
| LOW | tools/lint/generic_checks.py | 84 | CODE | |
| LOW | tools/lint/changed_lines.py | 103 | CODE | |
| LOW | contrib/debugger/qt_pretty_printers_lldb.py | 48 | CODE | |
| LOW | .github/scripts/score_prs.py | 668 | CODE | |
| LOW | package/bundle/osx/fix_macos_lib_paths.py | 53 | CODE | |
| LOW | src/Tools/MakeAppTools.py | 9 | CODE | |
| LOW | src/Tools/MakeAppTools.py | 38 | CODE | |
| LOW | src/Tools/params_utils.py | 473 | CODE | |
| LOW | src/Tools/MakeMacBundleRelocatable.py | 170 | CODE | |
| LOW | src/Tools/MakeMacBundleRelocatable.py | 232 | CODE | |
| LOW | src/Tools/MakeMacBundleRelocatable.py | 313 | CODE | |
| LOW | src/Tools/MakeMacBundleRelocatable.py | 401 | CODE | |
| LOW | src/Tools/MakeMacBundleRelocatable.py | 425 | CODE | |
| LOW | src/Tools/MakeMacBundleRelocatable.py | 80 | CODE | |
| LOW | src/Tools/LicenseChecker.py | 62 | CODE | |
| LOW | src/Tools/LicenseChecker.py | 81 | CODE | |
| LOW | src/Tools/dir2qrc.py | 119 | CODE | |
| LOW | src/Tools/updatets.py | 236 | CODE | |
| LOW | src/Tools/updatets.py | 344 | CODE | |
| LOW | src/Tools/FCFileTools.py | 34 | CODE | |
| LOW | src/Tools/FCFileTools.py | 72 | CODE | |
| LOW | src/Tools/SubWCRev.py | 69 | CODE | |
| LOW | src/Tools/SubWCRev.py | 102 | CODE | |
| LOW | src/Tools/python_api/deprecations.py | 238 | CODE | |
| LOW | src/Tools/python_api/cli.py | 58 | CODE | |
| LOW | src/Tools/typing/stubgen/property_hierarchy.py | 64 | CODE | |
| LOW | src/Tools/typing/stubgen/cpp_properties.py | 149 | CODE | |
| LOW | src/Tools/typing/stubgen/cpp_properties.py | 339 | CODE | |
| LOW | src/Tools/typing/stubgen/cpp_properties.py | 623 | CODE | |
| LOW | src/Tools/typing/stubgen/parsing.py | 132 | CODE | |
| LOW | src/Tools/typing/stubgen/parsing.py | 165 | CODE | |
| LOW | src/Tools/typing/stubgen/discovery.py | 297 | CODE | |
| LOW | src/Tools/typing/stubgen/discovery.py | 610 | CODE | |
| LOW | src/Tools/typing/stubgen/class_merge.py | 415 | CODE | |
| LOW | src/Tools/typing/stubgen/class_merge.py | 465 | CODE | |
| LOW | src/Tools/typing/stubgen/class_merge.py | 592 | CODE | |
| LOW | src/Tools/typing/stubgen/class_merge.py | 635 | CODE | |
| LOW | src/Tools/typing/stubgen/class_merge.py | 874 | CODE | |
| LOW | src/Tools/typing/stubgen/type_hierarchy.py | 81 | CODE | |
| LOW | src/Tools/typing/stubgen/document_object_types.py | 32 | CODE | |
| LOW | src/Tools/typing/stubgen/property_contracts.py | 124 | CODE | |
| LOW | src/Tools/fcbt/FileTools.py | 34 | CODE | |
| LOW | src/Tools/fcbt/FileTools.py | 72 | CODE | |
| LOW | src/Tools/bindings/tests/test_deprecation_metadata.py | 413 | CODE | |
| LOW | src/Tools/bindings/model/generateModel_Python.py | 549 | CODE | |
| LOW | src/Tools/bindings/model/generateModel_Python.py | 659 | CODE | |
| LOW | src/Tools/bindings/model/generateDS.py | 816 | CODE | |
| LOW | src/Tools/bindings/model/generateDS.py | 884 | CODE | |
| LOW | src/Tools/bindings/model/generateDS.py | 983 | CODE | |
| LOW | src/Tools/bindings/model/generateDS.py | 1080 | CODE | |
| LOW | src/Tools/bindings/model/generateDS.py | 1156 | CODE | |
| LOW | src/Tools/bindings/model/generateDS.py | 1328 | CODE | |
| LOW | src/Tools/bindings/model/generateDS.py | 1449 | CODE | |
| LOW | src/Tools/bindings/model/generateDS.py | 1611 | CODE | |
| LOW | src/Tools/bindings/model/generateDS.py | 1638 | CODE | |
| LOW | src/Tools/bindings/model/generateDS.py | 1806 | CODE | |
| 1578 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/rendering/manage_coin_node_baselines.py | 23 | CODE | |
| LOW | .github/scripts/score_prs.py | 30 | CODE | |
| LOW | .github/scripts/run_gui_tests.py | 20 | CODE | |
| LOW | src/Tools/fcbt.py | 41 | CODE | |
| LOW | src/Tools/fcbt.py | 43 | CODE | |
| LOW | src/Tools/fcbt.py | 45 | CODE | |
| LOW | src/Tools/fcbt.py | 47 | CODE | |
| LOW | src/Tools/fcbt.py | 49 | CODE | |
| LOW | src/Tools/fcbt.py | 50 | CODE | |
| LOW | src/Tools/fcbt.py | 51 | CODE | |
| LOW | src/Tools/fcbt.py | 53 | CODE | |
| LOW | src/Tools/fcbt.py | 55 | CODE | |
| LOW | src/Tools/fcbt.py | 57 | CODE | |
| LOW | src/Tools/examplePy2wiki.py | 30 | CODE | |
| LOW | src/Tools/examplePy2wiki.py | 30 | CODE | |
| LOW | src/Tools/python_api/model.py | 5 | CODE | |
| LOW | src/Tools/python_api/deprecations.py | 5 | CODE | |
| LOW | src/Tools/python_api/cli.py | 5 | CODE | |
| LOW | src/Tools/_TEMPLATEPY_/InitGui.py | 17 | CODE | |
| LOW | src/Tools/_TEMPLATE_/InitGui.py | 15 | CODE | |
| LOW | src/Tools/tests/test_deprecation.py | 3 | CODE | |
| LOW | src/Tools/tests/test_typing_stubgen_versioning.py | 3 | CODE | |
| LOW | src/Tools/tests/test_python_api_deprecations.py | 3 | CODE | |
| LOW | src/Tools/typing/smoke/smoke.py | 18 | CODE | |
| LOW | src/Tools/typing/smoke/smoke.py | 31 | CODE | |
| LOW | src/Tools/typing/smoke/smoke.py | 31 | CODE | |
| LOW | src/Tools/typing/smoke/smoke.py | 31 | CODE | |
| LOW | src/Tools/typing/smoke/smoke.py | 31 | CODE | |
| LOW | src/Tools/typing/smoke/smoke.py | 31 | CODE | |
| LOW | src/Tools/typing/smoke/smoke.py | 31 | CODE | |
| LOW | src/Tools/typing/smoke/smoke.py | 31 | CODE | |
| LOW | src/Tools/typing/smoke/smoke.py | 31 | CODE | |
| LOW | src/Tools/typing/smoke/smoke.py | 31 | CODE | |
| LOW | src/Tools/typing/stubgen/property_hierarchy.py | 10 | CODE | |
| LOW | src/Tools/typing/stubgen/cpp_properties.py | 12 | CODE | |
| LOW | src/Tools/typing/stubgen/test_property_contracts.py | 3 | CODE | |
| LOW | src/Tools/typing/stubgen/test_init_exports.py | 3 | CODE | |
| LOW | src/Tools/typing/stubgen/parsing.py | 22 | CODE | |
| LOW | src/Tools/typing/stubgen/index.py | 7 | CODE | |
| LOW | src/Tools/typing/stubgen/module_merge.py | 16 | CODE | |
| LOW | src/Tools/typing/stubgen/discovery.py | 19 | CODE | |
| LOW | src/Tools/typing/stubgen/render.py | 16 | CODE | |
| LOW | src/Tools/typing/stubgen/naming.py | 5 | CODE | |
| LOW | src/Tools/typing/stubgen/test_source_inputs.py | 3 | CODE | |
| LOW | src/Tools/typing/stubgen/source_inputs.py | 18 | CODE | |
| LOW | src/Tools/typing/stubgen/test_document_object_types.py | 3 | CODE | |
| LOW | src/Tools/typing/stubgen/model.py | 14 | CODE | |
| LOW | src/Tools/typing/stubgen/class_merge.py | 16 | CODE | |
| LOW | src/Tools/typing/stubgen/generator.py | 19 | CODE | |
| LOW | src/Tools/typing/stubgen/cli.py | 16 | CODE | |
| LOW | src/Tools/typing/stubgen/type_hierarchy.py | 11 | CODE | |
| LOW | src/Tools/typing/stubgen/document_object_types.py | 12 | CODE | |
| LOW | src/Tools/typing/stubgen/test_class_merge.py | 3 | CODE | |
| LOW | src/Tools/typing/stubgen/test_cpp_properties.py | 3 | CODE | |
| LOW | src/Tools/typing/stubgen/doc_lint.py | 14 | CODE | |
| LOW | src/Tools/typing/stubgen/property_contracts.py | 11 | CODE | |
| LOW | src/Tools/typing/stubgen/type_context_rules.py | 15 | CODE | |
| LOW | src/Tools/typing/stubgen/init_exports.py | 5 | CODE | |
| LOW | src/Tools/bindings/tests/test_deprecation_metadata.py | 3 | CODE | |
| LOW | src/Tools/bindings/model/typedModel.py | 3 | CODE | |
| 1475 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/Tools/catfiles.py | 17 | except getopt.GetoptError: | CODE |
| HIGH | src/Tools/LicenseChecker.py | 94 | except Exception: | CODE |
| HIGH | src/Tools/ArchiveNameFromVersionHeader.py | 36 | except getopt.GetoptError: | CODE |
| HIGH | src/Tools/makedist.py | 25 | except getopt.GetoptError: | CODE |
| HIGH | src/Tools/make_snapshot.py | 31 | except Exception as e: | CODE |
| HIGH | src/Tools/SubWCRev.py | 143 | except ValueError: | CODE |
| HIGH | src/App/FreeCADInit.py | 802 | except ImportError: | CODE |
| HIGH | src/App/FreeCADInit.py | 1124 | except ModuleNotFoundError: | CODE |
| HIGH | src/App/FreeCADInit.py | 310 | except Exception: | CODE |
| HIGH | src/Ext/freecad/module_io.py | 19 | except Base.AbortIOException: | CODE |
| HIGH | src/Gui/FreeCADGuiInit.py | 103 | except Exception: | CODE |
| HIGH | src/Gui/FreeCADGuiInit.py | 120 | except Exception: | CODE |
| HIGH | src/Gui/FreeCADGuiInit.py | 149 | except Exception: | CODE |
| HIGH | src/Gui/FreeCADGuiInit.py | 68 | except Exception: | CODE |
| HIGH | src/Gui/FreeCADGuiInit.py | 146 | except Exception: | CODE |
| HIGH | src/Gui/FreeCADGuiInit.py | 118 | except Exception: | CODE |
| HIGH | src/Mod/Mesh/BuildRegularGeoms.py | 51 | except ZeroDivisionError: | CODE |
| HIGH | src/Mod/Mesh/BuildRegularGeoms.py | 73 | except ZeroDivisionError: | CODE |
| HIGH | src/Mod/Draft/importDXF.py | 1885 | except Part.OCCError: | CODE |
| HIGH | src/Mod/Draft/importDXF.py | 1890 | except Part.OCCError: | CODE |
| HIGH | src/Mod/Draft/SVGPath.py | 188 | except OCCError: | CODE |
| HIGH | src/Mod/Draft/importSVG.py | 327 | except Part.OCCError: | CODE |
| HIGH | src/Mod/Draft/importSVG.py | 1446 | except Exception: | CODE |
| HIGH | src/Mod/Draft/DraftGui.py | 1814 | except Exception: | CODE |
| HIGH | src/Mod/Draft/WorkingPlane.py | 1980 | except Exception: | CODE |
| HIGH | src/Mod/Draft/WorkingPlane.py | 1649 | except Exception: | CODE |
| HIGH | src/Mod/Draft/WorkingPlane.py | 1765 | except Exception: | CODE |
| HIGH | src/Mod/Draft/WorkingPlane.py | 1795 | except Exception: | CODE |
| HIGH | src/Mod/Draft/WorkingPlane.py | 1810 | except Exception: | CODE |
| HIGH | src/Mod/Draft/WorkingPlane.py | 1625 | except Exception: | CODE |
| HIGH | src/Mod/Draft/WorkingPlane.py | 1057 | except Exception: | CODE |
| HIGH | src/Mod/Draft/draftmake/make_clone.py | 79 | except Exception: | CODE |
| HIGH | src/Mod/Draft/draftmake/make_sketch.py | 169 | except AttributeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_edit.py | 421 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_edit.py | 465 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_edit.py | 804 | except AttributeError as err: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_base_original.py | 153 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_trackers.py | 528 | except Part.OCCError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_trackers.py | 533 | except Part.OCCError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_selectplane.py | 264 | except Exception: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_selectplane.py | 282 | except (TypeError, ValueError): | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_selectplane.py | 185 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_shapestrings.py | 85 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_groups.py | 165 | except Exception: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_groups.py | 130 | except Exception: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_polararray.py | 129 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_edit_arch_objects.py | 169 | except Exception: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_base.py | 200 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_lines.py | 217 | except ReferenceError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_snapper.py | 1493 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_snapper.py | 1551 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_snapper.py | 1583 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_snapper.py | 1073 | except Exception: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_snapper.py | 1084 | except Exception: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_snapper.py | 1111 | except Exception: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_points.py | 178 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_subelements.py | 169 | except Exception: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_orthoarray.py | 115 | except RuntimeError: | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_circulararray.py | 130 | except RuntimeError: | CODE |
| HIGH | …c/Mod/Draft/draftguitools/gui_annotationstyleeditor.py | 187 | except AssertionError: | CODE |
| 186 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | package/scripts/macos_sign_and_notarize.zsh | 204 | # Create a disk image from the folder | COMMENT |
| MEDIUM | src/Tools/MakeApp.py | 5 | # Create a new application module | COMMENT |
| MEDIUM | src/Tools/bindings/model/generateDS.py | 505 | # Create the needed new attributes. | COMMENT |
| MEDIUM | src/Tools/bindings/model/generateDS.py | 3263 | # Create an output file. | STRING |
| MEDIUM | src/Tools/bindings/templates/templateClassPyExport.py | 66 | # Create the subdir it necessary | COMMENT |
| MEDIUM | src/App/LinkParams.py | 8 | # The following code is to import param_util.py without needing __init__.py in Base directory | COMMENT |
| MEDIUM | src/Doc/sphinx/conf.py | 30 | # This file is execfile()d with the current directory set to its containing dir. | COMMENT |
| MEDIUM | src/Mod/Draft/importDXF.py | 36 | # This module provides support for importing and exporting Autodesk DXF files | COMMENT |
| MEDIUM | src/Mod/Draft/importDXF.py | 4706 | # Create the C++ base object that has .Shape and .Placement. | COMMENT |
| MEDIUM | src/Mod/Draft/importDXF.py | 4759 | # Create a Part::Part2DObjectPython as the Python-extensible base for Draft Wire. | COMMENT |
| MEDIUM | src/Mod/Draft/importAirfoilDAT.py | 7 | # This module provides support for importing airfoil .dat files | COMMENT |
| MEDIUM | src/Mod/Draft/DraftGui.py | 33 | # This module provides GUI tools for the Draft workbench, such as | COMMENT |
| MEDIUM | src/Mod/Draft/WorkingPlane.py | 37 | # This module provides the plane class which provides a virtual working plane | COMMENT |
| MEDIUM⚡ | src/Mod/Draft/DraftTools.py | 37 | # This module contains all the graphical commands of the Draft workbench, | COMMENT |
| MEDIUM | src/Mod/Draft/draftmake/make_text.py | 199 | # Create a new Draft Text object | COMMENT |
| MEDIUM | src/Mod/Draft/draftguitools/gui_trackers.py | 34 | # This module provides Coin (pivy) based objects | COMMENT |
| MEDIUM | src/Mod/Draft/draftguitools/gui_groups.py | 205 | # Create a new selection from the sub objects: | COMMENT |
| MEDIUM⚡ | src/Mod/Draft/draftguitools/gui_edit_draft_objects.py | 132 | """This function is overridden in the DraftBSplineGuiTools class.""" | STRING |
| MEDIUM⚡ | src/Mod/Draft/draftguitools/gui_edit_draft_objects.py | 139 | """This function is overridden in the DraftBSplineGuiTools class.""" | STRING |
| MEDIUM | src/Mod/Draft/draftguitools/gui_fillets.py | 143 | """This function is called by the taskpanel interface | STRING |
| MEDIUM | src/Mod/Draft/draftguitools/gui_snapper.py | 35 | # This module provides tools to handle point snapping and | COMMENT |
| MEDIUM | src/Mod/Draft/draftobjects/bspline.py | 123 | # Creating a face from a closed spline cannot be expected to always work | COMMENT |
| MEDIUM | src/Mod/Draft/draftobjects/circle.py | 73 | """This method is run when the object is created or recomputed.""" | STRING |
| MEDIUM | src/Mod/Draft/draftobjects/rectangle.py | 85 | """This method is run when the object is created or recomputed.""" | STRING |
| MEDIUM | src/Mod/Draft/draftobjects/base.py | 80 | # This class is assigned to the Proxy attribute | COMMENT |
| MEDIUM | src/Mod/Draft/draftutils/gui_utils.py | 468 | # Create a list for further processing: | COMMENT |
| MEDIUM | src/Mod/Draft/draftviewproviders/view_base.py | 103 | # This class is assigned to the Proxy attribute | COMMENT |
| MEDIUM | src/Mod/Draft/draftviewproviders/view_label.py | 221 | # This function is however triggered again from update_label. | COMMENT |
| MEDIUM | src/Mod/Plot/Plot.py | 363 | # Create the navigation toolbar and add it | COMMENT |
| MEDIUM | src/Mod/Test/TestTreeSelection.py | 6 | # This file is part of FreeCAD. * | COMMENT |
| MEDIUM⚡ | src/Mod/Test/TestTreeSelection.py | 88 | # Create a Draft Rectangle (matches original Part::Part2DObjectPython) | COMMENT |
| MEDIUM⚡ | src/Mod/Test/TestTreeSelection.py | 92 | # Create a group containing the rectangle and mirrors | COMMENT |
| MEDIUM | src/Mod/Test/TestTreeSelection.py | 152 | # Create the shared cube (tool for all cuts) | COMMENT |
| MEDIUM⚡ | src/Mod/Test/TestTreeSelection.py | 218 | # Create a simple box | COMMENT |
| MEDIUM⚡ | src/Mod/Test/TestTreeSelection.py | 224 | # Create a group containing the box | COMMENT |
| MEDIUM | src/Mod/Test/TestCoinNodeSnapshots.py | 40 | # This file is intentionally tolerant of missing optional bindings and older | COMMENT |
| MEDIUM⚡ | src/Mod/Test/GuiDocument.py | 43 | # Create a new document | COMMENT |
| MEDIUM | src/Mod/Test/Document.py | 432 | # Create a second origin object | COMMENT |
| MEDIUM | src/Mod/Spreadsheet/TestSpreadsheet.py | 1311 | # Create a box | COMMENT |
| MEDIUM | src/Mod/Spreadsheet/TestSpreadsheet.py | 1314 | # Create a second document with a cylinder | COMMENT |
| MEDIUM | src/Mod/TechDraw/TestTechDrawGui.py | 6 | # This file is part of the FreeCAD CAx development system. * | COMMENT |
| MEDIUM | src/Mod/TechDraw/TestTechDrawApp.py | 6 | # This file is part of the FreeCAD CAx development system. * | COMMENT |
| MEDIUM | src/Mod/TechDraw/ConversionUtilities/moveViews.py | 6 | # This file is part of the FreeCAD CAx development system. * | COMMENT |
| MEDIUM | src/Mod/TechDraw/TechDrawTools/TaskHoleShaftFit.py | 183 | """This class represents a subset of the ISO 286 standard""" | STRING |
| MEDIUM | src/Mod/Assembly/CommandInsertNewPart.py | 6 | # This file is part of FreeCAD. * | COMMENT |
| MEDIUM | src/Mod/Assembly/CommandCreateAssembly.py | 6 | # This file is part of FreeCAD. * | COMMENT |
| MEDIUM | src/Mod/Assembly/AssemblyImport.py | 6 | # This file is part of FreeCAD. * | COMMENT |
| MEDIUM | src/Mod/Assembly/UtilsAssembly.py | 6 | # This file is part of FreeCAD. * | COMMENT |
| MEDIUM⚡ | src/Mod/Assembly/CommandCreateSimulation.py | 467 | # Create a non-modal, frameless dialog | COMMENT |
| MEDIUM⚡ | src/Mod/Assembly/CommandCreateSimulation.py | 473 | # Create the joints combobox | COMMENT |
| MEDIUM⚡ | src/Mod/Assembly/CommandCreateSimulation.py | 477 | # Create the motion type combobox | COMMENT |
| MEDIUM | src/Mod/Assembly/CommandCreateSimulation.py | 6 | # This file is part of FreeCAD. * | COMMENT |
| MEDIUM | src/Mod/Assembly/CommandCreateSimulation.py | 492 | # Create the line edit for the formula | COMMENT |
| MEDIUM | src/Mod/Assembly/CommandCreateSimulation.py | 543 | # Create the help QLabels and set them to be initially hidden | COMMENT |
| MEDIUM | src/Mod/Assembly/CommandCreateSimulation.py | 678 | # Create the Help button | COMMENT |
| MEDIUM | src/Mod/Assembly/CommandCreateJoint.py | 6 | # This file is part of FreeCAD. * | COMMENT |
| MEDIUM | src/Mod/Assembly/Preferences.py | 6 | # This file is part of FreeCAD. * | COMMENT |
| MEDIUM | src/Mod/Assembly/InitGui.py | 6 | # This file is part of FreeCAD. * | COMMENT |
| MEDIUM | src/Mod/Assembly/CommandCreateView.py | 6 | # This file is part of FreeCAD. * | COMMENT |
| MEDIUM | src/Mod/Assembly/CommandCreateView.py | 657 | # Create a separator to hold all dashed lines | COMMENT |
| 343 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/lint/qt_connections.py | 31 | except Exception as e: | CODE |
| LOW | tools/lint/generic_checks.py | 24 | except Exception as e: | CODE |
| LOW | tools/lint/generic_checks.py | 44 | except Exception as e: | CODE |
| LOW | tools/lint/generic_checks.py | 62 | except Exception as e: | CODE |
| LOW | tools/lint/codespell.py | 21 | except Exception as e: | CODE |
| LOW | tools/lint/cpplint.py | 32 | except Exception as e: | CODE |
| LOW | contrib/debugger/qt_pretty_printers_lldb.py | 100 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | contrib/debugger/qt_pretty_printers_gdb.py | 100 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW⚡ | src/Tools/MakeAppTools.py | 27 | except Exception: | CODE |
| MEDIUM⚡ | src/Tools/MakeAppTools.py | 28 | print("Error modifying ", pathName, " -- skipped") | CODE |
| LOW⚡ | src/Tools/MakeAppTools.py | 33 | except Exception: | CODE |
| MEDIUM⚡ | src/Tools/MakeAppTools.py | 34 | print("Error changing to directory ", pathName, " -- skipped") | CODE |
| LOW | src/Tools/MakeAppTools.py | 63 | except Exception: | CODE |
| MEDIUM | src/Tools/MakeAppTools.py | 64 | print("Error copying ", pathFrom, " to ", pathTo, " -- skipped") | CODE |
| LOW | src/Tools/MakeAppTools.py | 83 | except Exception: | CODE |
| MEDIUM | src/Tools/MakeAppTools.py | 84 | print("Error creating ", pathTo, " -- skipped") | CODE |
| LOW | src/Tools/MakeMacBundleRelocatable.py | 366 | except Exception: | CODE |
| LOW | src/Tools/MakeMacBundleRelocatable.py | 480 | except Exception: | CODE |
| LOW | src/Tools/LicenseChecker.py | 94 | except Exception: | CODE |
| LOW | src/Tools/updatets.py | 311 | except Exception as e: | STRING |
| LOW | src/Tools/updatets.py | 408 | except Exception as e: | STRING |
| LOW | src/Tools/make_snapshot.py | 31 | except Exception as e: | CODE |
| MEDIUM | src/Tools/make_snapshot.py | 28 | def init_gui(): | CODE |
| LOW⚡ | src/Tools/FCFileTools.py | 49 | except Exception: | CODE |
| MEDIUM⚡ | src/Tools/FCFileTools.py | 50 | print("Error copying ", pathFrom, " to ", pathTo, " -- skipped") | CODE |
| LOW⚡ | src/Tools/FCFileTools.py | 59 | except Exception: | CODE |
| MEDIUM⚡ | src/Tools/FCFileTools.py | 60 | print("Error creating ", pathTo, " -- skipped") | CODE |
| LOW⚡ | src/Tools/FCFileTools.py | 92 | except Exception: | CODE |
| MEDIUM⚡ | src/Tools/FCFileTools.py | 93 | print("Error copying ", pathFrom, " to ", pathTo, " -- skipped") | CODE |
| LOW⚡ | src/Tools/FCFileTools.py | 102 | except Exception: | CODE |
| MEDIUM⚡ | src/Tools/FCFileTools.py | 103 | print("Error creating ", pathTo, " -- skipped") | CODE |
| LOW | src/Tools/updatecrowdin.py | 484 | except Exception as e: | CODE |
| LOW | src/Tools/fcbt/CreatePyModule.py | 127 | except Exception: | CODE |
| LOW⚡ | src/Tools/fcbt/FileTools.py | 49 | except Exception: | CODE |
| MEDIUM⚡ | src/Tools/fcbt/FileTools.py | 50 | print("Error copying", pathFrom, "to", pathTo, "--skipped") | CODE |
| LOW⚡ | src/Tools/fcbt/FileTools.py | 59 | except Exception: | CODE |
| MEDIUM⚡ | src/Tools/fcbt/FileTools.py | 60 | print("Error creating", pathTo, "--skipped") | CODE |
| LOW⚡ | src/Tools/fcbt/FileTools.py | 92 | except Exception: | CODE |
| MEDIUM⚡ | src/Tools/fcbt/FileTools.py | 93 | print("Error copying", pathFrom, "to", pathTo, "--skipped") | CODE |
| LOW⚡ | src/Tools/fcbt/FileTools.py | 102 | except Exception: | CODE |
| MEDIUM⚡ | src/Tools/fcbt/FileTools.py | 103 | print("Error creating", pathTo, "--skipped") | CODE |
| LOW | src/Tools/fcbt/CreateModule.py | 130 | except Exception: | CODE |
| LOW | src/Tools/bindings/model/generateTools.py | 65 | except Exception: | CODE |
| MEDIUM | src/App/FreeCADInit.py | 1112 | def run_init(self) -> None: | CODE |
| MEDIUM | src/App/FreeCADInit.py | 1647 | def init_applications() -> None: | CODE |
| LOW⚡ | src/App/FreeCADInit.py | 1651 | except Exception as ex: | CODE |
| LOW | src/App/FreeCADInit.py | 1051 | except Exception as ex: | CODE |
| LOW | src/App/FreeCADInit.py | 1115 | except Exception as ex: | CODE |
| LOW | src/App/FreeCADInit.py | 1126 | except Exception as ex: | CODE |
| LOW | src/App/FreeCADInit.py | 1258 | except Exception as ex: | CODE |
| LOW | src/App/FreeCADInit.py | 300 | except Exception: | STRING |
| LOW | src/App/FreeCADInit.py | 310 | except Exception: | STRING |
| LOW | src/App/FreeCADInit.py | 363 | except Exception: | STRING |
| LOW | src/App/FreeCADInit.py | 389 | except Exception as e: | STRING |
| LOW | src/Ext/freecad/freecad_doc.py | 35 | except Exception as e: | CODE |
| LOW | src/Ext/freecad/freecad_doc.py | 102 | except Exception as e: | CODE |
| MEDIUM | src/Ext/freecad/freecad_doc.py | 99 | def getIndex(): | CODE |
| MEDIUM | src/Gui/FreeCADGuiInit.py | 54 | def _fc_external_workbench_icon(fallback_path): | CODE |
| MEDIUM | src/Gui/FreeCADGuiInit.py | 109 | def _fc_patch_workbench_icon_object(workbench_obj): | CODE |
| MEDIUM | src/Gui/FreeCADGuiInit.py | 125 | def _fc_install_add_workbench_icon_wrapper(gui_module): | CODE |
| 731 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/3rdParty/libkdtree/python-bindings/gen-swig-hpp.py | 209 | return %s && A.data == B.data; | CODE |
| HIGH | src/Mod/Draft/importDXF.py | 875 | if not DraftVecUtils.equals(v1, v2): | CODE |
| HIGH | src/Mod/Draft/importDXF.py | 940 | if not DraftVecUtils.equals(v1, v2): | CODE |
| HIGH | src/Mod/Draft/importDXF.py | 966 | if not DraftVecUtils.equals(v1, v2): | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_trackers.py | 478 | if DraftVecUtils.equals(p1, p4): | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_lines.py | 245 | if self.node and DraftVecUtils.equals(self.node[-1], point): | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_lines.py | 270 | if not DraftVecUtils.equals(last, point): | CODE |
| HIGH | src/Mod/Draft/draftguitools/gui_snapper.py | 706 | if DraftVecUtils.equals( | CODE |
| HIGH | src/Mod/Draft/draftobjects/pointarray.py | 174 | if DraftVecUtils.equals(vec, res): | CODE |
| HIGH | src/Mod/Draft/draftobjects/patharray.py | 411 | if not DraftVecUtils.equals(Xaxis, obj.TangentVector): | CODE |
| HIGH | src/Mod/Draft/draftobjects/patharray.py | 861 | if not DraftVecUtils.equals(vpt, lpt): | CODE |
| HIGH | src/Mod/Draft/draftobjects/wire.py | 199 | if not DraftVecUtils.equals(lp, p): | CODE |
| HIGH | src/Mod/Draft/draftobjects/clone.py | 140 | if not DraftVecUtils.equals(obj.Scale, App.Vector(1, 1, 1)): | CODE |
| HIGH⚡ | src/Mod/Draft/draftfunctions/join.py | 65 | DraftVecUtils.equals(wire1AbsPoints[0], wire2AbsPoints[-1]) | CODE |
| HIGH⚡ | src/Mod/Draft/draftfunctions/join.py | 66 | and DraftVecUtils.equals(wire1AbsPoints[-1], wire2AbsPoints[0]) | CODE |
| HIGH⚡ | src/Mod/Draft/draftfunctions/join.py | 68 | DraftVecUtils.equals(wire1AbsPoints[0], wire2AbsPoints[0]) | CODE |
| HIGH⚡ | src/Mod/Draft/draftfunctions/join.py | 69 | and DraftVecUtils.equals(wire1AbsPoints[-1], wire2AbsPoints[-1]) | CODE |
| HIGH⚡ | src/Mod/Draft/draftfunctions/join.py | 73 | elif DraftVecUtils.equals(wire1AbsPoints[0], wire2AbsPoints[0]): | CODE |
| HIGH⚡ | src/Mod/Draft/draftfunctions/join.py | 75 | elif DraftVecUtils.equals(wire1AbsPoints[0], wire2AbsPoints[-1]): | CODE |
| HIGH⚡ | src/Mod/Draft/draftfunctions/join.py | 78 | elif DraftVecUtils.equals(wire1AbsPoints[-1], wire2AbsPoints[-1]): | CODE |
| HIGH⚡ | src/Mod/Draft/draftfunctions/join.py | 80 | elif DraftVecUtils.equals(wire1AbsPoints[-1], wire2AbsPoints[0]): | CODE |
| HIGH | src/Mod/Draft/draftviewproviders/view_dimension.py | 378 | if DraftVecUtils.equals(self.p2, self.p3): | CODE |
| HIGH | src/Mod/Draft/draftviewproviders/view_dimension.py | 388 | if DraftVecUtils.equals(self.p1, self.p4): | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/circles.py | 235 | if DraftVecUtils.equals(cir.Center, intsec.Center): | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/circles.py | 309 | if DraftVecUtils.equals(p1, p2): | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/circles.py | 355 | if DraftVecUtils.equals(circle1.Curve.Center, circle2.Curve.Center): | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/circles.py | 418 | if DraftVecUtils.equals(circle1.Curve.Center, circle2.Curve.Center): | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/edges.py | 50 | if DraftVecUtils.equals(anEdge.Vertexes[0].Point, aList[e].Vertexes[0].Point): | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/edges.py | 51 | if DraftVecUtils.equals(anEdge.Vertexes[-1].Point, aList[e].Vertexes[-1].Point): | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/edges.py | 98 | if DraftVecUtils.equals(e1.Vertexes[0].Point, e2.Vertexes[0].Point) and DraftVecUtils.equals( | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/edges.py | 102 | elif DraftVecUtils.equals(e1.Vertexes[-1].Point, e2.Vertexes[0].Point) and DraftVecUtils.equals( | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/edges.py | 125 | if abs(bspline.length() - dist_start_end) < 1e-7: | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/intersections.py | 220 | if DraftVecUtils.equals(pt1, pt3) or DraftVecUtils.equals(pt1, pt4): | CODE |
| HIGH⚡ | src/Mod/Draft/draftgeoutils/wires.py | 65 | if DraftVecUtils.equals(e1.Vertexes[0].Point, e2.Vertexes[0].Point): | CODE |
| HIGH⚡ | src/Mod/Draft/draftgeoutils/wires.py | 67 | if DraftVecUtils.equals(e1.Vertexes[0].Point, e2.Vertexes[-1].Point): | CODE |
| HIGH⚡ | src/Mod/Draft/draftgeoutils/wires.py | 69 | if DraftVecUtils.equals(e1.Vertexes[-1].Point, e2.Vertexes[0].Point): | CODE |
| HIGH⚡ | src/Mod/Draft/draftgeoutils/wires.py | 71 | if DraftVecUtils.equals(e1.Vertexes[-1].Point, e2.Vertexes[-1].Point): | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/circle_inversion.py | 63 | if DraftVecUtils.equals(cen, point): | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/circle_inversion.py | 113 | if DraftVecUtils.equals(cen1, cen2): | CODE |
| HIGH | src/Mod/Draft/draftgeoutils/general.py | 86 | if DraftVecUtils.equals(p1, p2): | CODE |
| HIGH | src/Mod/Fem/femguiutils/vtk_table_view.py | 185 | translate("FEM", "Copy selection to clipboard ({})".format(shortcut.toString())) | CODE |
| HIGH | src/Mod/CAM/Path/Geom.py | 701 | alpha = math.asin((z1 - z0) / arc.length()) | CODE |
| HIGH | src/Mod/CAM/Path/Geom.py | 703 | step = arc.length() / (points - 1) | CODE |
| HIGH | src/Mod/CAM/Path/Op/Base.py | 822 | Path.Log.warning(" Transformed shape is null, using original") | CODE |
| HIGH | src/Mod/CAM/Path/Tool/toolbit/ui/editor.py | 435 | self.presets_tab, translate("CAM", "Feeds && Speeds") | CODE |
| HIGH | src/Mod/CAM/Machine/models/machine.py | 256 | # Default to X-axis if vector is null or zero-length | COMMENT |
| HIGH | src/Mod/CAM/Machine/models/machine.py | 355 | # Default to Z-axis rotation if vector is null or zero-length | COMMENT |
| HIGH | src/Mod/CAM/CAMTests/TestPostOutput.py | 1210 | when TRANSLATE_NO_ENGAGEMENT_FEED && ANNOT_NO_ENGAGEMENT_FEED | STRING |
| HIGH | src/Mod/CAM/CAMTests/TestPathHelpers.py | 134 | # Test that non-change commands return false | COMMENT |
| HIGH⚡ | src/Mod/CAM/CAMTests/TestPathToolBitSerializer.py | 154 | b'{"name": "Test Tool", "pocket": null, "shape": "endmill", ' | CODE |
| HIGH⚡ | src/Mod/CAM/CAMTests/TestPathToolBitSerializer.py | 165 | b'{"name": "Test Tool", "pocket": null, "shape": "endmill", ' | CODE |
| HIGH | src/Mod/CAM/CAMTests/TestPathToolBitSerializer.py | 193 | b'{"name": "Test Tool", "pocket": null, "my_ext": {"foo": 1}, ' | CODE |
| HIGH | src/Mod/TemplatePyMod/DocumentObject.py | 205 | return self.__vobject__.toString() | CODE |
| HIGH | src/Mod/BIM/ArchFloor.py | 310 | if not DraftVecUtils.equals(pl.Base, self.OldPlacement.Base): | CODE |
| HIGH | src/Mod/BIM/ArchFence.py | 224 | if sectionLength > sectionLine.length() - postLength: | CODE |
| HIGH | src/Mod/BIM/ArchFence.py | 227 | sectionCopy, sectionLength, sectionLine.length() - postLength | CODE |
| HIGH⚡ | src/Mod/BIM/ArchStairs.py | 1368 | distFrom2ndParameter = l0.length() - distFrom1stParameter | CODE |
| HIGH⚡ | src/Mod/BIM/ArchStairs.py | 1383 | distFrom2ndParameter = l99.length() - distFrom1stParameter | CODE |
| HIGH | src/Mod/BIM/ArchRebar.py | 737 | length += geo.length() | CODE |
| HIGH | src/Mod/BIM/ArchCommands.py | 305 | """makeComponent([baseobj],[name],[delete]): creates an undefined, non-parametric BIM | STRING |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | contrib/debugger/qt_pretty_printers_gdb.py | 120 | # Check if the printer is already registered | COMMENT |
| LOW | package/scripts/macos_sign_and_notarize.zsh | 78 | # Check if SIGNING_KEY_ID is set | COMMENT |
| LOW | src/Tools/bindings/model/generateModel_Python.py | 678 | # Check if this is a Final type hint, e.g. Final[int] or typing.Final[int] | COMMENT |
| LOW | src/Tools/bindings/templates/templateClassPyExport.py | 16 | # Check if files exist | COMMENT |
| LOW | src/Tools/bindings/templates/templateClassPyExport.py | 21 | # Read file contents | COMMENT |
| LOW | src/Doc/BuildDocDoxy.cfg | 367 | # Set it to YES to include the internal documentation. | COMMENT |
| LOW | src/Doc/BuildDocDoxyFull.cfg | 290 | # Set it to YES to include the internal documentation. | COMMENT |
| LOW | src/Mod/Draft/importDXF.py | 4766 | # Check if all segments of the wire are straight lines. | COMMENT |
| LOW⚡ | src/Mod/Draft/importSVG.py | 1440 | # Close the file | COMMENT |
| LOW | src/Mod/Draft/draftguitools/gui_snapper.py | 316 | # Check if parallel to one of the edges of the last objects | COMMENT |
| LOW | src/Mod/Draft/draftguitools/gui_snapper.py | 323 | # Check if we have an object under the cursor and try to | COMMENT |
| LOW | src/Mod/Draft/draftobjects/patharray.py | 475 | # Check if all referenced properties are available: | COMMENT |
| LOW | src/Mod/Draft/draftobjects/patharray.py | 494 | # Check if referenced property is available: | COMMENT |
| LOW | src/Mod/Draft/draftobjects/patharray.py | 505 | # Check if all referenced properties are available: | COMMENT |
| LOW | src/Mod/Draft/draftgeoutils/geometry.py | 247 | # Check if the shape is planar | COMMENT |
| LOW | src/Mod/Test/GuiDocument.py | 132 | # Check if the new function returns the correct root objects | COMMENT |
| LOW | src/Mod/Fem/feminout/importCcxFrdResults.py | 390 | # Check if we found nodes section | COMMENT |
| LOW | src/Mod/Fem/feminout/importCcxFrdResults.py | 401 | # Check if we found elements section | COMMENT |
| LOW | src/Mod/Fem/feminout/importCcxFrdResults.py | 641 | # Check if we found new eigenmode line | COMMENT |
| LOW | src/Mod/Fem/feminout/importCcxFrdResults.py | 648 | # Check if we found new time step | COMMENT |
| LOW | src/Mod/Fem/feminout/importCcxFrdResults.py | 660 | # Check if we found displacement section | COMMENT |
| LOW | src/Mod/Fem/feminout/importCcxFrdResults.py | 671 | # Check if we found stress section | COMMENT |
| LOW | src/Mod/Fem/feminout/importCcxFrdResults.py | 688 | # Check if we found strain section | COMMENT |
| LOW⚡ | src/Mod/Fem/feminout/importCcxFrdResults.py | 705 | # Check if we found an equivalent plastic strain section | COMMENT |
| LOW⚡ | src/Mod/Fem/feminout/importCcxFrdResults.py | 714 | # Check if we found a temperature section | COMMENT |
| LOW⚡ | src/Mod/Fem/feminout/importCcxFrdResults.py | 723 | # Check if we found heat flux section | COMMENT |
| LOW | src/Mod/Fem/feminout/importCcxFrdResults.py | 734 | # Check if we found a mass flow section | COMMENT |
| LOW | src/Mod/Fem/feminout/importCcxFrdResults.py | 749 | # Check if we found a network pressure section | COMMENT |
| LOW | src/Mod/Fem/feminout/importCcxFrdResults.py | 763 | # Check if we found the end of a section | COMMENT |
| LOW | src/Mod/Fem/feminout/importCcxFrdResults.py | 834 | # Check if we found the end of frd data | COMMENT |
| LOW | src/Mod/Assembly/CommandInsertNewPart.py | 67 | # Check if document is saved before proceeding | COMMENT |
| LOW | src/Mod/Assembly/CommandCreateJoint.py | 509 | # Check if part is grounded and if so delete the joint. | COMMENT |
| LOW | src/Mod/Assembly/CommandInsertLink.py | 157 | # Check if object.Name & object.LinkedObject.Name exists | COMMENT |
| LOW | src/Mod/Assembly/JointObject.py | 2415 | # Check if the addition is acceptable (we are not doing this in selection gate to let user move objects) | COMMENT |
| LOW | src/Mod/OpenSCAD/OpenSCADFeatures.py | 294 | # Check if property Tolerance exist and preserve support for backward compatibility | STRING |
| LOW | src/Mod/CAM/InitGui.py | 100 | # Check if CAM asset migration is needed for version upgrade | COMMENT |
| LOW | src/Mod/CAM/Path/Preferences.py | 189 | # Check if we have a CamAssets path already set | COMMENT |
| LOW⚡ | src/Mod/CAM/Path/Post/Processor.py | 1631 | # Check if this is a tool change command (M6) | COMMENT |
| LOW⚡ | src/Mod/CAM/Path/Post/Processor.py | 1639 | # Check if this is the first move after tool change | COMMENT |
| LOW⚡ | src/Mod/CAM/Path/Post/Processor.py | 1645 | # Check if this move has both XY and Z components | COMMENT |
| LOW | src/Mod/CAM/Path/Post/Processor.py | 3584 | # Check if comments should be output | COMMENT |
| LOW | src/Mod/CAM/Path/Post/Processor.py | 3762 | # Check if we should suppress duplicate parameters | COMMENT |
| LOW | src/Mod/CAM/Path/Post/GcodeProcessingUtils.py | 393 | # Check if this is a rapid move without side effects | COMMENT |
| LOW | src/Mod/CAM/Path/Post/Utils.py | 432 | # Check if this cycle has different parameters than the last one | COMMENT |
| LOW | src/Mod/CAM/Path/Post/Utils.py | 440 | # Check if we need to terminate the previous cycle | COMMENT |
| LOW | src/Mod/CAM/Path/Post/scripts/svg_post.py | 143 | # Check if the edge is vertical (should be skipped) | COMMENT |
| LOW | src/Mod/CAM/Path/Post/scripts/marlin_legacy_post.py | 108 | SHOW_EDITOR = True # Display the resulting gcode file | STRING |
| LOW | src/Mod/CAM/Path/Post/scripts/marlin_legacy_post.py | 459 | # Write the file: | STRING |
| LOW | src/Mod/CAM/Path/Post/scripts/linuxcnc_post.py | 260 | # Check if this is a tapping cycle with rigid annotation | COMMENT |
| LOW | src/Mod/CAM/Path/Post/scripts/linuxcnc_post.py | 351 | # Check if this is G80/G98/G99 with tapping annotation | COMMENT |
| LOW | src/Mod/CAM/Path/Post/scripts/linuxcnc_post.py | 354 | # Check if this is part of a tapping operation with rigid annotation | COMMENT |
| LOW | src/Mod/CAM/Path/Post/scripts/rrf_legacy_post.py | 100 | SHOW_EDITOR = True # Display the resulting gcode file | CODE |
| LOW | src/Mod/CAM/Path/Post/scripts/rrf_legacy_post.py | 454 | # Write the file: | STRING |
| LOW | src/Mod/CAM/Path/Post/scripts/smoothie_post.py | 165 | # Check if remote posting is enabled and IP address is specified | COMMENT |
| LOW | src/Mod/CAM/Path/Post/scripts/opensbp_post.py | 476 | # Check if automatic tool changer is enabled | COMMENT |
| LOW | src/Mod/CAM/Path/Post/scripts/heidenhain_legacy_post.py | 182 | LBLIZE_ACTIVE = False # Check if search for LBL | CODE |
| LOW | src/Mod/CAM/Path/Post/Gui/DlgPostProcess.py | 911 | # Check if it's a tool controller | COMMENT |
| LOW | src/Mod/CAM/Path/Op/Util.py | 300 | # Check if this is a full circle (start == end) | COMMENT |
| LOW | src/Mod/CAM/Path/Op/Util.py | 512 | # Check if the offset went in the right direction | COMMENT |
| LOW | src/Mod/CAM/Path/Op/Pocket.py | 167 | # Check if all subs are faces | COMMENT |
| 88 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | package/scripts/macos_sign_and_notarize.zsh | 246 | print -r -- "$id" # ID is a string here, not an integer, so I can't just return it | CODE |
| MEDIUM | src/3rdParty/lru-cache/include/lru/internal/hash.hpp | 32 | /// Essentially hashes all tuple elements and jumbles the | COMMENT |
| MEDIUM | src/3rdParty/WildMagic4/Wm4ConvexHull2.h | 34 | // uses floating-point arithmetic, but is not robust in all cases. | COMMENT |
| MEDIUM | src/3rdParty/WildMagic4/Wm4ConvexHull2.h | 84 | // Support for robust queries. | COMMENT |
| MEDIUM | src/3rdParty/WildMagic4/Wm4Delaunay3.h | 45 | // uses floating-point arithmetic, but is not robust in all cases. | COMMENT |
| MEDIUM | src/3rdParty/WildMagic4/Wm4Delaunay3.h | 156 | // are for robust calculations. | COMMENT |
| MEDIUM | src/3rdParty/WildMagic4/Wm4TriangulateEC.h | 104 | // uses floating-point arithmetic, but is not robust in all cases. The | COMMENT |
| MEDIUM | src/3rdParty/WildMagic4/Wm4TriangulateEC.h | 287 | // For robust determinant calculation. | COMMENT |
| MEDIUM⚡ | src/3rdParty/WildMagic4/Wm4PolynomialRoots.h | 31 | // A: algebraic using closed-form expressions (fast, typically not robust) | COMMENT |
| MEDIUM⚡ | src/3rdParty/WildMagic4/Wm4PolynomialRoots.h | 32 | // B: bisection (after root bounding, slow and robust) | COMMENT |
| MEDIUM⚡ | src/3rdParty/WildMagic4/Wm4PolynomialRoots.h | 33 | // N: Newton's/bisection hybrid (after root bounding, medium and robust) | COMMENT |
| MEDIUM⚡ | src/3rdParty/WildMagic4/Wm4PolynomialRoots.h | 34 | // E: eigenvalues of a companion matrix (fast and robust) | COMMENT |
| MEDIUM | src/3rdParty/WildMagic4/Wm4Delaunay2.h | 43 | // uses floating-point arithmetic, but is not robust in all cases. | COMMENT |
| MEDIUM | src/3rdParty/WildMagic4/Wm4Delaunay2.h | 144 | // are for robust calculations. | COMMENT |
| MEDIUM | src/3rdParty/WildMagic4/Wm4ConvexHull3.h | 35 | // uses floating-point arithmetic, but is not robust in all cases. | COMMENT |
| MEDIUM | src/3rdParty/WildMagic4/Wm4ConvexHull3.h | 91 | // Support for robust queries. | COMMENT |
| LOW | src/Mod/Draft/draftobjects/dimension.py | 140 | # It is just set at creation time by the make_dimension function | COMMENT |
| LOW | src/Mod/Draft/draftfunctions/svgshapes.py | 423 | # final svg string already calculated, so just return it | COMMENT |
| MEDIUM | src/Mod/Test/TestCoinNodeSnapshots.py | 41 | # FreeCAD/Coin/Pivy environments; it is a test harness rather than library code. | COMMENT |
| MEDIUM | src/Mod/Test/TestCoinNodeSnapshots.py | 1561 | # Structural Similarity Index (SSIM) provides a more robust signal than raw per-pixel diffs | COMMENT |
| MEDIUM | src/Mod/Fem/femtools/geomtools.py | 136 | # BoundBox is possible too, but is BB calculations robust?! | COMMENT |
| MEDIUM | src/Mod/Fem/femresult/resulttools.py | 404 | # maybe a dictionary would be far more robust than a list | COMMENT |
| MEDIUM | src/Mod/TechDraw/App/Geometry.h | 445 | bool m_reference; //reference vertex (ex robust dimension) | CODE |
| MEDIUM | src/Mod/Sketcher/App/planegcs/Constraints.cpp | 1569 | // We switch to the robust 'r1 - r2 = 0' formulation, which has a | COMMENT |
| MEDIUM | src/Mod/Sketcher/App/planegcs/Constraints.cpp | 1592 | // Provide the gradient corresponding to the robust 'r1 - r2 = 0' error function. | COMMENT |
| MEDIUM | src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.h | 301 | /// Essentially a version of sendConstraintIconToCoin, with a blank icon | COMMENT |
| LOW | src/Mod/OpenSCAD/OpenSCADFeatures.py | 581 | # OpenSCAD does not spline this surface, so neither do we: just create a | STRING |
| LOW | src/Mod/OpenSCAD/importCSG.py | 264 | # just return the plain modifier for now | COMMENT |
| LOW | src/Mod/CAM/Path/Post/Processor.py | 1679 | # Move doesn't have both XY and Z, just add it as-is | COMMENT |
| LOW | src/Mod/CAM/Path/Post/scripts/opensbp_post.py | 79 | # Compatible should just pass-through | COMMENT |
| LOW | src/Mod/CAM/Path/Dressup/Gui/Dragknife.py | 391 | # don't worry about non-move commands, just add to output | COMMENT |
| LOW | src/Mod/CAM/Path/Dressup/Gui/Dragknife.py | 403 | # rapid retract triggers exit move, else just add to output | COMMENT |
| LOW | src/Mod/CAM/Path/Op/Custom.py | 171 | # probably absolute, just return | COMMENT |
| LOW | src/Mod/CAM/Path/Op/ThreadMilling.py | 183 | # Since we already have the outer diameter it's simpler to just add 1/8 * H | COMMENT |
| LOW | src/Mod/CAM/Path/Op/Adaptive.py | 588 | # FIXME: Kinda gross- just use this to match up with the | COMMENT |
| LOW | src/Mod/CAM/Path/Op/Adaptive.py | 607 | # FIXME: Kinda gross- just use this to match up with the | COMMENT |
| LOW | src/Mod/CAM/Path/Base/Generator/facing_common.py | 112 | # Fallback - just use adjacent edges (should be perpendicular for rectangles) | COMMENT |
| LOW⚡ | src/Mod/CAM/Path/Base/Generator/surface_postprocess.py | 807 | # If flat or climbing, just return the height-based feed! | COMMENT |
| LOW | src/Mod/CAM/Path/Tool/toolbit/migration.py | 67 | # For dicts, just set the value | COMMENT |
| LOW | src/Mod/CAM/Path/Tool/toolbit/models/base.py | 998 | # Use the _shape_type (subclass) as the shape-type if it differs from the actual shape name, to preserve the ali | COMMENT |
| LOW | src/Mod/CAM/Path/Tool/assets/cache.py | 48 | timestamp: float # For LRU, or just use OrderedDict nature | CODE |
| MEDIUM | src/Mod/CAM/libarea/Area.h | 93 | // tag, on open path offsets: This is more nuanced, because open paths can cross themselves or do a | COMMENT |
| MEDIUM | src/Mod/CAM/libarea/Adaptive.cpp | 1986 | // we can try to leverage vertex z-tagging to create a more complicated system for indirectly | COMMENT |
| LOW | src/Mod/CAM/CAMTests/TestFeedsSpeedsToolController.py | 97 | # in headless tests; we don't show any widgets, we just call the | COMMENT |
| MEDIUM | src/Mod/Points/App/Points.cpp | 89 | // cannot use QtConcurrent We could also rewrite Points to leverage SIMD instructions Other | COMMENT |
| LOW | src/Mod/TemplatePyMod/FeaturePython.py | 147 | a.ViewObject.Proxy=0 # just set it to something different from None | STRING |
| LOW | src/Mod/BIM/ArchRoof.py | 869 | # (upward or downward), or it is curve surface, just add. | COMMENT |
| LOW | src/Mod/BIM/ArchSite.py | 2139 | # If Qt is unavailable or scheduling fails, just return silently. | COMMENT |
| LOW | src/Mod/BIM/ArchStairs.py | 1474 | ) # distList.append((intersectionI-p1[i]).Length)) # TODO just use p1[i] for test; may be p2[i-1]...? | CODE |
| LOW | src/Mod/BIM/ArchStairs.py | 1486 | ) # distList.append((intersectionI-p4[i]).Length)) # TODO just use p4[i] for test; may be p3[i-1]...? | CODE |
| MEDIUM | src/Mod/BIM/ArchWindow.py | 797 | # TODO More robust approach : With ArchSketch, on which wall segment an ArchObject is attached to is de | COMMENT |
| MEDIUM | src/Mod/BIM/ArchReport.py | 2338 | # --- Use QDesktopServices for robust, cross-platform opening (Refinement #3) --- | COMMENT |
| MEDIUM | src/Mod/BIM/ArchCurtainWall.py | 477 | # Curve extruded face (surface) seems return no Plane - need more robust algorithm | COMMENT |
| MEDIUM | src/Mod/BIM/ArchCurtainWall.py | 482 | # TODO 2025.6.15 : Need a more robust algorithm below | COMMENT |
| MEDIUM⚡ | src/Mod/BIM/ArchSql.py | 371 | # 2. Add a comprehensive unit test suite for this new core function. | COMMENT |
| LOW | src/Mod/BIM/ArchSql.py | 1718 | # Otherwise, it's already a transformed function object, so just return it. | COMMENT |
| LOW | src/Mod/BIM/ArchSql.py | 1850 | # by their own methods, so we just pass them up. | COMMENT |
| LOW | src/Mod/BIM/ArchWall.py | 813 | # extrusion data, just use that. | COMMENT |
| LOW | src/Mod/BIM/importers/exportIFCHelper.py | 323 | # to compress a new type, just add the necessary method here | COMMENT |
| LOW | src/Mod/BIM/importers/exportIFCStructuralTools.py | 361 | # just add the point, no other member using it yet | COMMENT |
| 17 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/App/GeoFeatureGroupExtension.cpp | 518 | // for links with scope SubGroup we need to check if all features are part of subgroups | COMMENT |
| LOW | src/App/GeoFeatureGroupExtension.cpp | 551 | // for links with scope SubGroup we need to check if all features are part of subgroups | COMMENT |
| LOW | src/App/StringHasher.h | 671 | * The purpose of this function is to provide a short form of a stable string identification. | COMMENT |
| LOW | src/App/Link.cpp | 546 | // The purpose of this function is to synchronize the mutated copy to the | COMMENT |
| LOW | src/3rdParty/FastSignals/tests/catch2/catch.hpp | 12659 | // No children have started. We need to check if they _can_ | COMMENT |
| LOW | src/Mod/Mesh/App/Core/Smoothing.cpp | 368 | // Step 1: determine face normals | COMMENT |
| LOW | src/Mod/Mesh/App/Core/Smoothing.cpp | 398 | // Step 2: move vertices | COMMENT |
| LOW | src/Mod/Draft/DxfImportDialog.py | 14 | # Step 1: Load the UI from the resource file. This returns a new QDialog instance. | COMMENT |
| LOW | src/Mod/Draft/draftviewproviders/view_layer.py | 453 | # We need to check if it was put in a new group. If that is | COMMENT |
| LOW | src/Mod/Test/TestTreeSelection.py | 303 | # Step 3: | COMMENT |
| LOW⚡ | src/Mod/Assembly/AssemblyTests/TestCore.py | 280 | # Step 0 : box with placement. No element selected | COMMENT |
| LOW⚡ | src/Mod/Assembly/AssemblyTests/TestCore.py | 286 | # Step 1 : box with placement. Face + Vertex | COMMENT |
| LOW⚡ | src/Mod/Assembly/AssemblyTests/TestCore.py | 292 | # Step 2 : box with placement. Edge + Vertex | COMMENT |
| LOW⚡ | src/Mod/Assembly/AssemblyTests/TestCore.py | 298 | # Step 3 : box with placement. Vertex | COMMENT |
| LOW⚡ | src/Mod/Assembly/AssemblyTests/TestCore.py | 306 | # Step 4 : box with placement. Face | COMMENT |
| LOW | src/Mod/Sketcher/App/Sketch.cpp | 4095 | // Step 1: Check if the two points (p1, p2) are endpoints of the same arc. | COMMENT |
| LOW | src/Mod/Sketcher/App/Sketch.cpp | 4116 | // Step 2: We found the arc. Now check if its center lies on the symmetry line. | COMMENT |
| LOW | src/Mod/Sketcher/Gui/DrawSketchHandlerOffset.h | 1139 | // if only 2 elements, we need to check if they close end to end. | COMMENT |
| LOW | src/Mod/Start/Gui/FileCardDelegate.cpp | 78 | // Step 1: Styling | COMMENT |
| LOW | src/Mod/Start/Gui/FileCardDelegate.cpp | 95 | // Step 2: Fetch required data | COMMENT |
| LOW | src/Mod/Start/Gui/FileCardDelegate.cpp | 118 | // Step 4: Positioning | COMMENT |
| LOW | src/Mod/Start/Gui/FileCardDelegate.cpp | 134 | // Step 5: Draw | COMMENT |
| LOW | src/Mod/Start/Gui/FlowLayout.cpp | 184 | // Step 1: Wrap if necessary | COMMENT |
| LOW | src/Mod/Start/Gui/FlowLayout.cpp | 212 | // Step 2: Apply the last row's height | COMMENT |
| LOW⚡ | src/Mod/CAM/Path/Base/Generator/facing_common.py | 242 | # Step 1: Rotate the wire in the opposite direction to align optimally with axes | COMMENT |
| LOW⚡ | src/Mod/CAM/Path/Base/Generator/facing_common.py | 246 | # Step 2: Get the axis-aligned bounding box of the rotated wire | COMMENT |
| LOW | src/Mod/CAM/Path/Base/Generator/facing_common.py | 262 | # Step 3: Rotate the bounding box to the desired angle | COMMENT |
| LOW | src/Mod/CAM/Path/Tool/assets/manager.py | 423 | # Step 1: Fetch all data using asyncio.run | COMMENT |
| LOW | src/Mod/CAM/Path/Tool/assets/manager.py | 447 | # Step 2: Synchronously build the asset tree (and call from_bytes) | COMMENT |
| LOW⚡ | src/Mod/BIM/Arch.py | 2256 | # Step 1: Get global coordinates of the baseline's endpoints. | COMMENT |
| LOW⚡ | src/Mod/BIM/Arch.py | 2264 | # Step 2: Determine the extrusion normal vector. | COMMENT |
| LOW⚡ | src/Mod/BIM/Arch.py | 2271 | # Step 3: Calculate the final orientation from the geometric axes. | COMMENT |
| LOW⚡ | src/Mod/BIM/Arch.py | 2281 | # Step 4: Calculate the final position (the wall's volumetric center). | COMMENT |
| LOW⚡ | src/Mod/BIM/bimtests/TestArchReport.py | 1797 | # Step 1: Select only the 'Pipeline Test Floor'. | STRING |
| LOW⚡ | src/Mod/BIM/bimtests/TestArchReport.py | 1803 | # Step 2: Use CHILDREN to get the walls from the previous step's result. | STRING |
| LOW | src/Mod/PartDesign/App/ShapeBinder.cpp | 1036 | // referencing the child. The purpose of this function is to remove any | COMMENT |
| LOW⚡ | src/Mod/Part/App/TopoShapeExpansion.cpp | 4422 | // Step 1: Union(A, B) - intermediate result, no op code. | COMMENT |
| LOW⚡ | src/Mod/Part/App/TopoShapeExpansion.cpp | 4432 | // Step 2: Common(A, B) - intermediate result, no op code. | COMMENT |
| LOW⚡ | src/Mod/Part/App/TopoShapeExpansion.cpp | 4442 | // Step 3: Compute the final result for this iteration | COMMENT |
| LOW⚡ | src/Mod/Import/App/dxf/ImpExpDxf.cpp | 897 | // Step 1: Check for external references first. This is a critical check. | COMMENT |
| LOW⚡ | src/Mod/Import/App/dxf/ImpExpDxf.cpp | 903 | // Step 2: Check if the block is anonymous/system. | COMMENT |
| LOW⚡ | src/Mod/Import/App/dxf/ImpExpDxf.cpp | 930 | // Step 3: Check for duplicates to prevent errors. | COMMENT |
| LOW⚡ | src/Mod/Import/App/dxf/ImpExpDxf.cpp | 936 | // Step 4: Use the temporary Block struct and Collector to parse all contents into memory. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 48 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 54 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 55 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 56 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 57 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 64 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 71 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 72 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 79 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 87 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 95 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 97 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 98 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 124 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 138 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 154 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 185 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/sort_edges.py | 186 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/wires.py | 125 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/wires.py | 128 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/wires.py | 147 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/wires.py | 148 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/wires.py | 150 | CODE | |
| MEDIUM | src/Mod/Draft/draftgeoutils/wires.py | 155 | CODE | |
| MEDIUM | src/Mod/Fem/femtest/app/test_ccxtools.py | 228 | CODE | |
| MEDIUM | src/Mod/Fem/femtest/app/test_ccxtools.py | 230 | CODE | |
| MEDIUM | src/Mod/Fem/femtest/app/test_ccxtools.py | 231 | CODE | |
| MEDIUM | src/Mod/Fem/femtest/app/test_ccxtools.py | 245 | CODE | |
| MEDIUM | src/Mod/Fem/femtest/app/test_ccxtools.py | 247 | CODE | |
| MEDIUM | src/Mod/Fem/femtest/app/test_ccxtools.py | 248 | CODE | |
| MEDIUM | src/Mod/CAM/Path/Tool/assets/store/filestore.py | 44 | CODE | |
| MEDIUM | src/Mod/BIM/ArchWall.py | 90 | CODE | |
| MEDIUM | src/Mod/BIM/ArchWall.py | 91 | CODE | |
| MEDIUM | src/Mod/BIM/ArchWall.py | 93 | CODE | |
| MEDIUM | src/Mod/BIM/ArchWall.py | 94 | CODE | |
| MEDIUM | src/Mod/BIM/ArchWall.py | 101 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/CMakeLists.txt | 71 | # NOTE: The following tests don't yet run on Windows because they can't find the *.pyd files needed by each FreeCAD | COMMENT |
| LOW | …arty/FastSignals/docs/migration-from-boost-signals2.md | 20 | ## Step 1: Create header with aliases | COMMENT |
| LOW | …arty/FastSignals/docs/migration-from-boost-signals2.md | 22 | ## Step 2: Rebuild and fix compile errors | COMMENT |
| LOW | …arty/FastSignals/docs/migration-from-boost-signals2.md | 159 | ## Step 3: Run Tests | COMMENT |
| LOW | src/Mod/Mesh/App/Core/Smoothing.cpp | 368 | // Step 1: determine face normals | COMMENT |
| LOW | src/Mod/Mesh/App/Core/Smoothing.cpp | 398 | // Step 2: move vertices | COMMENT |
| LOW | src/Mod/Draft/DxfImportDialog.py | 14 | # Step 1: Load the UI from the resource file. This returns a new QDialog instance. | COMMENT |
| LOW⚡ | src/Mod/Assembly/AssemblyTests/TestCore.py | 280 | # Step 0 : box with placement. No element selected | COMMENT |
| LOW⚡ | src/Mod/Assembly/AssemblyTests/TestCore.py | 286 | # Step 1 : box with placement. Face + Vertex | COMMENT |
| LOW⚡ | src/Mod/Assembly/AssemblyTests/TestCore.py | 292 | # Step 2 : box with placement. Edge + Vertex | COMMENT |
| LOW⚡ | src/Mod/Assembly/AssemblyTests/TestCore.py | 298 | # Step 3 : box with placement. Vertex | COMMENT |
| LOW⚡ | src/Mod/Assembly/AssemblyTests/TestCore.py | 306 | # Step 4 : box with placement. Face | COMMENT |
| LOW | src/Mod/Sketcher/App/Sketch.cpp | 4095 | // Step 1: Check if the two points (p1, p2) are endpoints of the same arc. | COMMENT |
| LOW | src/Mod/Sketcher/App/Sketch.cpp | 4116 | // Step 2: We found the arc. Now check if its center lies on the symmetry line. | COMMENT |
| LOW | src/Mod/Sketcher/Gui/CommandConstraints.cpp | 5095 | // NOTE: This function does not either open or commit a command as it is used for group | COMMENT |
| LOW | src/Mod/Sketcher/Gui/CommandConstraints.cpp | 5120 | // NOTE: This function does not either open or commit a command as it is used for group addition | COMMENT |
| LOW | src/Mod/Start/Gui/FileCardDelegate.cpp | 78 | // Step 1: Styling | COMMENT |
| LOW | src/Mod/Start/Gui/FileCardDelegate.cpp | 95 | // Step 2: Fetch required data | COMMENT |
| LOW | src/Mod/Start/Gui/FileCardDelegate.cpp | 118 | // Step 4: Positioning | COMMENT |
| LOW | src/Mod/Start/Gui/FileCardDelegate.cpp | 134 | // Step 5: Draw | COMMENT |
| LOW | src/Mod/Start/Gui/FlowLayout.cpp | 184 | // Step 1: Wrap if necessary | COMMENT |
| LOW | src/Mod/Start/Gui/FlowLayout.cpp | 212 | // Step 2: Apply the last row's height | COMMENT |
| LOW⚡ | src/Mod/CAM/Path/Base/Generator/facing_common.py | 242 | # Step 1: Rotate the wire in the opposite direction to align optimally with axes | COMMENT |
| LOW⚡ | src/Mod/CAM/Path/Base/Generator/facing_common.py | 246 | # Step 2: Get the axis-aligned bounding box of the rotated wire | COMMENT |
| LOW | src/Mod/CAM/Path/Base/Generator/facing_common.py | 262 | # Step 3: Rotate the bounding box to the desired angle | COMMENT |
| LOW | src/Mod/CAM/Path/Tool/assets/manager.py | 423 | # Step 1: Fetch all data using asyncio.run | COMMENT |
| LOW | src/Mod/CAM/Path/Tool/assets/manager.py | 447 | # Step 2: Synchronously build the asset tree (and call from_bytes) | COMMENT |
| LOW⚡ | src/Mod/BIM/Arch.py | 2256 | # Step 1: Get global coordinates of the baseline's endpoints. | COMMENT |
| LOW⚡ | src/Mod/BIM/Arch.py | 2264 | # Step 2: Determine the extrusion normal vector. | COMMENT |
| LOW⚡ | src/Mod/BIM/Arch.py | 2271 | # Step 3: Calculate the final orientation from the geometric axes. | COMMENT |
| LOW⚡ | src/Mod/BIM/Arch.py | 2281 | # Step 4: Calculate the final position (the wall's volumetric center). | COMMENT |
| LOW⚡ | src/Mod/BIM/bimtests/TestArchReport.py | 1797 | # Step 1: Select only the 'Pipeline Test Floor'. | STRING |
| LOW⚡ | src/Mod/BIM/bimtests/TestArchReport.py | 1803 | # Step 2: Use CHILDREN to get the walls from the previous step's result. | STRING |
| LOW⚡ | src/Mod/Part/App/TopoShapeExpansion.cpp | 4422 | // Step 1: Union(A, B) - intermediate result, no op code. | COMMENT |
| LOW⚡ | src/Mod/Part/App/TopoShapeExpansion.cpp | 4432 | // Step 2: Common(A, B) - intermediate result, no op code. | COMMENT |
| LOW⚡ | src/Mod/Part/App/TopoShapeExpansion.cpp | 4442 | // Step 3: Compute the final result for this iteration | COMMENT |
| LOW⚡ | src/Mod/Import/App/dxf/ImpExpDxf.cpp | 897 | // Step 1: Check for external references first. This is a critical check. | COMMENT |
| LOW⚡ | src/Mod/Import/App/dxf/ImpExpDxf.cpp | 903 | // Step 2: Check if the block is anonymous/system. | COMMENT |
| LOW⚡ | src/Mod/Import/App/dxf/ImpExpDxf.cpp | 930 | // Step 3: Check for duplicates to prevent errors. | COMMENT |
| LOW⚡ | src/Mod/Import/App/dxf/ImpExpDxf.cpp | 936 | // Step 4: Use the temporary Block struct and Collector to parse all contents into memory. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/Mod/CAM/Path/Base/Generator/facing_common.py | 211 | Create a rotated bounding box that fully contains the input wire. This function generates a rectangular wire r | STRING |
| HIGH | src/Mod/CAM/Path/Base/Generator/surface_mesh.py | 152 | C++ accelerated shape to STL conversion. Args: shape: A Part.Shape-like object (TopoShapePy). linea | STRING |
| HIGH | src/Mod/CAM/Path/Tool/shape/models/icon.py | 213 | Create a ToolBitShapeIcon instance from a file. Args: filepath (pathlib.Path): Path to the | STRING |
| HIGH | src/Mod/CAM/Path/Tool/shape/models/base.py | 199 | Identifies the ToolBitShape subclass from the raw bytes of an FCStd file by parsing the XML content to | STRING |
| HIGH | src/Mod/CAM/Path/Tool/shape/models/base.py | 325 | Create a ToolBitShape instance from the raw bytes of an FCStd file. Identifies the correct subclass ba | STRING |
| HIGH | src/Mod/CAM/Path/Tool/shape/models/base.py | 464 | Create a ToolBitShape instance from an FCStd file. Reads the file bytes and delegates to from_bytes(). | STRING |
| HIGH | src/Mod/CAM/Path/Tool/shape/models/base.py | 730 | Get the value of a specific parameter. Args: name (str): The name of the parameter. | STRING |
| HIGH | src/Mod/CAM/Path/Tool/assets/manager.py | 954 | Asynchronously deep copies an asset and its dependencies from a source store to a destination store. | STRING |
| HIGH | src/Mod/CAM/Path/Tool/assets/manager.py | 1059 | Synchronously deep copies an asset and its dependencies from a source store to a destination store. | STRING |
| HIGH | src/Mod/CAM/Path/Tool/assets/store/base.py | 42 | Retrieve the raw byte data for the asset at the given URI. Args: uri: The unique identifie | STRING |
| HIGH | src/Mod/CAM/Path/Tool/assets/store/base.py | 89 | Create a new asset in the store with the given data. The store determines the final URI for the new as | STRING |
| HIGH | src/Mod/CAM/Machine/models/machine.py | 1919 | Load a machine configuration from a JSON file Args: filename: Filename (with or without pa | STRING |
| HIGH | src/Mod/CAM/Machine/models/machine.py | 2235 | Get a machine configuration by name from the assets folder Args: machine_name: Name of the | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | src/Mod/Draft/draftguitools/gui_edit_draft_objects.py | 584 | p = obj.ViewObject.Proxy.textpos.translation.getValue() | CODE |
| CRITICAL | src/Mod/CAM/Path/Main/Gui/Job.py | 323 | self.obj.Stock.ViewObject.Proxy.onEdit(_OpenCloseResourceEditor) | CODE |
| CRITICAL | src/Mod/BIM/ArchComponent.py | 1857 | self.Object.CloneOf.HiRes.ViewObject.show() | CODE |
| CRITICAL | src/Mod/BIM/ArchComponent.py | 1858 | self.Object.CloneOf.HiRes.ViewObject.hide() | CODE |
| CRITICAL | src/Mod/PartDesign/PartDesignTests/TestBoolean.py | 375 | # rgb = App.Gui.ActiveDocument.Body002.RootNode.getChild(2).getChild(1).getChild(1).getChild(0).diffuseColor.get | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/src/App/BackupPolicy.cpp | 389 | "verbose date string for demonstration purposes." | CODE |
| MEDIUM | .github/workflows/codeql.yml | 64 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how | COMMENT |
| MEDIUM | .github/workflows/codeql_cpp.yml | 68 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how | COMMENT |
| MEDIUM | src/Doc/BuildDocDoxy.cfg | 586 | # If the value of the INPUT tag contains directories, you can use the | COMMENT |
| MEDIUM | src/Doc/BuildDocDoxy.cfg | 615 | # If the value of the INPUT tag contains directories, you can use the | COMMENT |
| MEDIUM | src/Doc/BuildDocDoxy.cfg | 639 | # If the value of the EXAMPLE_PATH tag contains directories, you can use the | COMMENT |
| MEDIUM | src/Doc/BuildDocDoxyFull.cfg | 471 | # If the value of the INPUT tag contains directories, you can use the | COMMENT |
| MEDIUM | src/Doc/BuildDocDoxyFull.cfg | 500 | # If the value of the INPUT tag contains directories, you can use the | COMMENT |
| MEDIUM | src/Doc/BuildDocDoxyFull.cfg | 516 | # If the value of the EXAMPLE_PATH tag contains directories, you can use the | COMMENT |
| LOW | src/Mod/Fem/Gui/TaskPostBoxes.cpp | 1963 | // set spinbox scalar_factor, don't forget to sync the slider | COMMENT |
| LOW | src/Mod/Fem/Gui/TaskPostBoxes.cpp | 2020 | // set scalar_factor, don't forget to sync the slider | COMMENT |
| LOW | src/Mod/Fem/Gui/TaskPostBoxes.cpp | 2041 | // don't forget to sync the spinbox | COMMENT |
| LOW | src/Mod/Fem/Gui/TaskPostBoxes.cpp | 2053 | // don't forget to sync the slider | COMMENT |
| LOW | src/Mod/Fem/Gui/TaskPostBoxes.cpp | 2087 | // set spinbox warp_factor, don't forget to sync the slider | COMMENT |
| LOW | src/Mod/Fem/Gui/TaskPostBoxes.cpp | 2092 | // set min and max, don't forget to sync the slider | COMMENT |
| LOW | src/Mod/Fem/Gui/TaskPostBoxes.cpp | 2239 | // TODO if warp factor is smaller than min, warp factor should be min, don't forget to sync | COMMENT |
| LOW | src/Mod/OpenSCAD/importCSG.py | 102 | # of their individual component objects. But make sure to only handle the ones we just imported, | COMMENT |
| LOW | src/Mod/CAM/Tools/toolbit-attributes.py | 55 | # !!! A single typo can ruin a lot of toolbit shapes - make sure to only use !!!! | COMMENT |
| MEDIUM | src/Mod/TemplatePyMod/DocumentObject.py | 21 | #will be called just after object creation, you can use this for example to create properties | COMMENT |
| LOW | src/Mod/BIM/nativeifc/ifc_import.py | 112 | pstr += " # warning: make sure you know what you are doing when using this!" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/Tools/bindings/model/generateModel_Python.py | 225 | def update_flags(self, func: ast.FunctionDef) -> None: | CODE |
| LOW | src/Mod/Test/TestCoinNodeSnapshots.py | 516 | def _set_scene_font_family(node, family: str) -> None: | CODE |
| LOW | src/Mod/Fem/femguiutils/disambiguate_solid_selection.py | 72 | def _set_color(self, color: highlight_color_t) -> None: | CODE |
| LOW | src/Mod/Fem/femguiutils/disambiguate_solid_selection.py | 155 | def set_part_colors(solid_name: Optional[str]) -> None: | CODE |
| LOW⚡ | src/Mod/CAM/Path/Preferences.py | 154 | def set_tool_update_on_load_enabled(enabled: bool) -> None: | CODE |
| LOW | src/Mod/CAM/Path/Base/Generator/rotary_rings.py | 64 | __all__ = ["generate"] | CODE |
| LOW | src/Mod/CAM/Path/Base/Generator/rotary_parallel.py | 58 | __all__ = ["generate"] | CODE |
| LOW | src/Mod/CAM/Path/Base/Generator/rotary_dropcutter.py | 52 | __all__ = ["sample"] | CODE |
| LOW | src/Mod/CAM/Path/Base/Generator/rotary_spiral.py | 47 | __all__ = ["generate"] | CODE |
| LOW | src/Mod/CAM/Path/Tool/__init__.py | 32 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/shape/__init__.py | 130 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/library/__init__.py | 5 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/library/ui/__init__.py | 8 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/library/models/__init__.py | 5 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/library/serializers/__init__.py | 10 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/toolbit/__init__.py | 24 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/toolbit/ui/__init__.py | 6 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/toolbit/ui/presets_tab.py | 125 | def _set_spin_raw(widget, base_value: float) -> None: | CODE |
| LOW⚡ | src/Mod/CAM/Path/Tool/toolbit/ui/presets_tab.py | 286 | def _set_surface_speed(self, ss_m_min: float) -> None: | CODE |
| LOW⚡ | src/Mod/CAM/Path/Tool/toolbit/ui/presets_tab.py | 296 | def _set_feed(self, feed_mm_min: float) -> None: | CODE |
| LOW⚡ | src/Mod/CAM/Path/Tool/toolbit/ui/presets_tab.py | 302 | def _set_chipload(self, cl_mm: float) -> None: | CODE |
| LOW⚡ | src/Mod/CAM/Path/Tool/toolbit/ui/presets_tab.py | 308 | def _set_rpm(self, rpm: float) -> None: | CODE |
| LOW | src/Mod/CAM/Path/Tool/toolbit/mixins/__init__.py | 6 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/toolbit/serializers/__init__.py | 14 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/Gui/UpdateDocumentToolsDlg.py | 339 | def update_tools_from_gui(job, parent=None) -> None: | CODE |
| LOW | src/Mod/CAM/Path/Tool/docobject/__init__.py | 5 | __all__ = ["DetachedDocumentObject"] | CODE |
| LOW | src/Mod/CAM/Path/Tool/docobject/ui/__init__.py | 5 | __all__ = ["DocumentObjectEditorWidget"] | CODE |
| LOW | src/Mod/CAM/Path/Tool/assets/cache.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/Mod/CAM/Path/Tool/assets/__init__.py | 11 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/assets/manager.py | 48 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/Mod/CAM/Path/Tool/assets/ui/__init__.py | 5 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Path/Tool/FeedsSpeeds/presets.py | 91 | def set_presets(obj, presets: List[dict]) -> None: | CODE |
| LOW | src/Mod/CAM/Machine/ui/editor/__init__.py | 26 | __all__ = ["MachineEditorDialog"] | CODE |
| LOW | src/Mod/CAM/Machine/models/__init__.py | 40 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/Machine/models/validate.py | 70 | __all__ = [ | CODE |
| LOW | src/Mod/CAM/CAMTests/__init__.py | 42 | __all__ = [] | CODE |
| LOW | src/Mod/BIM/ArchSql.py | 44 | __all__ = [ | CODE |
| LOW | src/Mod/BIM/Dice3DS/__init__.py | 2 | __all__ = ["dom3ds", "util"] | CODE |
| LOW | src/Mod/BIM/bimcommands/__init__.py | 12 | __all__ = [ | CODE |
| LOW | src/Mod/Part/BOPTools/__init__.py | 34 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/Tools/bindings/model/generateTools.py | 107 | CODE | |
| LOW | src/Tools/bindings/model/generateModel_Module.py | 279 | CODE | |
| LOW | src/Tools/bindings/model/generateModel_Module.py | 807 | CODE | |
| LOW | src/Tools/bindings/model/generateModel_Module.py | 1139 | CODE | |
| LOW | src/Mod/Draft/WorkingPlane.py | 1327 | CODE | |
| LOW | src/Mod/Draft/draftmake/make_label.py | 48 | CODE | |
| LOW | src/Mod/Draft/draftmake/make_patharray.py | 56 | CODE | |
| LOW | src/Mod/Draft/draftobjects/patharray.py | 576 | CODE | |
| LOW | src/Mod/Draft/draftfunctions/svg.py | 388 | CODE | |
| LOW | src/Mod/Draft/draftfunctions/svg.py | 1244 | CODE | |
| LOW | src/Mod/Draft/draftgeoutils/offsets.py | 185 | CODE | |
| LOW | src/Mod/Fem/femtaskpanels/task_result_mechanical.py | 678 | CODE | |
| LOW | src/Mod/Fem/femsolver/z88/z88utils.py | 130 | CODE | |
| LOW | src/Mod/CAM/Path/Post/scripts/opensbp_post.py | 407 | CODE | |
| LOW | src/Mod/CAM/Path/Dressup/DogboneII.py | 364 | CODE | |
| LOW | src/Mod/CAM/Path/Op/Util.py | 90 | CODE | |
| LOW | src/Mod/CAM/Path/Base/Generator/leadinout.py | 126 | CODE | |
| LOW | src/Mod/CAM/Path/Base/Generator/helix.py | 42 | CODE | |
| LOW | src/Mod/CAM/Path/Tool/FeedsSpeeds/presets.py | 109 | CODE | |
| LOW | src/Mod/CAM/CAMTests/TestPathRotaryParallel.py | 47 | CODE | |
| LOW | src/Mod/BIM/ArchStairs.py | 1088 | CODE | |
| LOW | src/Mod/BIM/ArchStairs.py | 1675 | CODE | |
| LOW | src/Mod/BIM/ArchStairs.py | 2093 | CODE | |
| LOW | src/Mod/BIM/ArchTessellation.py | 98 | CODE | |
| LOW | src/Mod/BIM/Arch.py | 1100 | CODE | |
| LOW | src/Mod/BIM/Arch.py | 1674 | CODE | |
| LOW | src/Mod/BIM/ArchPrecast.py | 1732 | CODE | |
| LOW | src/Mod/BIM/ArchSectionPlane.py | 343 | CODE | |
| LOW | src/Mod/BIM/importers/importIFClegacy.py | 2422 | CODE | |
| LOW | src/Mod/BIM/nativeifc/ifc_selftest.py | 89 | CODE | |
| LOW | src/Mod/PartDesign/fcgear/involute.py | 107 | CODE | |
| LOW | src/Mod/Material/MaterialEditor.py | 828 | CODE | |
| LOW | src/Mod/Material/MaterialEditor.py | 954 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/src/App/ProjectFile.cpp | 78 | EXPECT_EQ(std::string("John Doe"), metadata.createdBy); | CODE |
| LOW | tests/src/App/ProjectFile.cpp | 81 | EXPECT_EQ(std::string("John Doe"), metadata.lastModifiedBy); | CODE |
| LOW | src/Gui/Dialogs/DlgAddProperty.cpp | 698 | placeholder->setObjectName(QStringLiteral("placeholder")); | CODE |
| LOW | src/Mod/CAM/Path/Tool/toolbit/models/base.py | 174 | # Create a shape instance from scratch as a "placeholder". | COMMENT |
| LOW | src/Mod/CAM/CAMTests/TestPostProcessor.py | 281 | builder.add_author("John Doe") | CODE |
| LOW⚡ | src/Mod/CAM/CAMTests/TestPathToolLibrarySerializer.py | 97 | dummy_data = { | CODE |
| LOW | src/Mod/CAM/CAMTests/TestPathToolLibrarySerializer.py | 113 | dummy_bytes = json.dumps(dummy_data, indent=2).encode("utf-8") | CODE |
| LOW⚡ | src/Mod/CAM/CAMTests/TestPathToolLibrarySerializer.py | 251 | dummy_data = b"T1 P0 X0 Y0 Z0 A0 B0 C0 U0 V0 W0 D6.00 I0 J0 Q0 ;Endmill 6mm\n" | CODE |
| LOW⚡ | src/Mod/CAM/CAMTests/TestPathToolLibrarySerializer.py | 253 | serializer.deserialize(dummy_data, "dummy_id", {}) | CODE |
| LOW⚡ | src/Mod/CAM/CAMTests/TestPathToolAssetManager.py | 220 | non_registered_uri = AssetUri.build("non_existent_type", "dummy_id", "1") | CODE |
| LOW⚡ | src/Mod/CAM/CAMTests/TestPathToolAssetManager.py | 222 | dummy_data = b"dummy" | CODE |
| LOW⚡ | src/Mod/CAM/CAMTests/TestPathToolAssetManager.py | 224 | asset_type="non_existent_type", asset_id="dummy_id", data=dummy_data, store="local" | CODE |
| LOW⚡ | src/Mod/CAM/CAMTests/TestPathToolAsset.py | 24 | return "dummy_id" | CODE |
| LOW⚡ | src/Mod/CAM/CAMTests/TestPathToolAsset.py | 39 | self.assertEqual(asset.get_id(), "dummy_id") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/Mod/CAM/Path/Op/Adaptive.py | 1163 | # as requested by operation | COMMENT |
| HIGH | src/Mod/PartDesign/Gui/CommandBody.cpp | 309 | // as requested in issue #0002862 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/Mod/BIM/bimtests/TestArchReport.py | 361 | # Add a WHERE clause to exclude test scaffolding objects from the count. | COMMENT |
| MEDIUM | src/Mod/BIM/bimtests/TestArchReport.py | 388 | # Add a WHERE clause to exclude test scaffolding objects from the count. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/src/App/IndexedName.cpp | 381 | // Usage example: | COMMENT |
| LOW | src/Tools/sync_version.py | 9 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/Mod/Fem/femtest/app/test_mesh.py | 427 | # TODO: implement yaml/json mesh reader writer method calls in C++ | COMMENT |
| LOW | src/Mod/Fem/femsolver/fenics/fenics_tools.py | 67 | # TODO: implement mesh read in for open file | COMMENT |