[Bf-extensions-cvs] [877308f9] blender-v2.82-release: PDT: Refactor per Pylint suggestions + readability

Alan Odom noreply at git.blender.org
Sat Feb 1 16:44:49 CET 2020


Commit: 877308f917482708ab85b9c29268623c8e0877b6
Author: Alan Odom
Date:   Wed Jan 29 17:48:38 2020 +0000
Branches: blender-v2.82-release
https://developer.blender.org/rBA877308f917482708ab85b9c29268623c8e0877b6

PDT: Refactor per Pylint suggestions + readability

- Remove unused imports
- Add comments where appropriate
- Improve readability of variable names
- Re-implement a couple of functions using dictionaries instead of if-statements
- Results of Pylint & Black operations, plus some fixes to code.

===================================================================

M	pdt_command_functions.py
M	pdt_exception.py
M	precision_drawing_tools/__init__.py
M	precision_drawing_tools/pdt_bix.py
M	precision_drawing_tools/pdt_cad_module.py
M	precision_drawing_tools/pdt_command.py
M	precision_drawing_tools/pdt_design.py
M	precision_drawing_tools/pdt_etof.py
M	precision_drawing_tools/pdt_functions.py
M	precision_drawing_tools/pdt_library.py
M	precision_drawing_tools/pdt_msg_strings.py
M	precision_drawing_tools/pdt_pivot_point.py
M	precision_drawing_tools/pdt_view.py
M	precision_drawing_tools/pdt_xall.py

===================================================================

diff --git a/pdt_command_functions.py b/pdt_command_functions.py
index 772f3fc0..f38ad1d0 100644
--- a/pdt_command_functions.py
+++ b/pdt_command_functions.py
@@ -21,11 +21,9 @@
 # Author: Alan Odom (Clockmender), Rune Morling (ermo) Copyright (c) 2019
 # -----------------------------------------------------------------------
 #
-import bpy
 import bmesh
-import math
-from math import sqrt, tan, pi
 import numpy as np
+from math import sqrt, tan, pi
 from mathutils import Vector
 from mathutils.geometry import intersect_point_line
 from .pdt_functions import (
@@ -45,7 +43,7 @@ from .pdt_functions import (
 from . import pdt_exception
 PDT_SelectionError = pdt_exception.SelectionError
 PDT_InvalidVector = pdt_exception.InvalidVector
-PDT_ObjectMode = pdt_exception.ObjectMode
+PDT_ObjectModeError = pdt_exception.ObjectModeError
 PDT_InfRadius = pdt_exception.InfRadius
 PDT_NoObjectError = pdt_exception.NoObjectError
 PDT_IntersectionError = pdt_exception.IntersectionError
@@ -101,10 +99,13 @@ def vector_build(context, pg, obj, operation, values, num_values):
     flip_a = pg.flip_angle
     flip_p = pg.flip_percent
 
+    # Cartesian 3D coordinates
     if num_values == 3 and len(values) == 3:
         output_vector = Vector((float(values[0]), float(values[1]), float(values[2])))
+    # Polar 2D coordinates
     elif num_values == 2 and len(values) == 2:
         output_vector = dis_ang(values, flip_a, plane, scene)
+    # Percentage of imaginary line between two 3D coordinates
     elif num_values == 1 and len(values) == 1:
         output_vector = get_percent(obj, flip_p, float(values[0]), operation, scene)
     else:
@@ -115,7 +116,7 @@ def vector_build(context, pg, obj, operation, values, num_values):
         else:
             pg.error = PDT_ERR_BAD1VALS
         context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
-        raise pdt_InvalidVector
+        raise PDT_InvalidVector
     return output_vector
 
 
@@ -149,7 +150,7 @@ def placement_normal(context, operation):
         if obj is None:
             pg.error = PDT_ERR_NO_ACT_OBJ
             context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
-            raise PDT_ObjectMode
+            raise PDT_ObjectModeError
         obj_loc = obj.matrix_world.decompose()[0]
         bm = bmesh.from_edit_mesh(obj.data)
         if len(bm.select_history) == 3:
@@ -224,10 +225,9 @@ def placement_normal(context, operation):
     else:
         pg.error = f"{operation} {PDT_ERR_NON_VALID} {PDT_LAB_NOR}"
         context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
-    return
 
 
-def placement_centre(context, operation):
+def placement_arc_centre(context, operation):
     """Manipulates Geometry, or Objects to an Arc Centre defined by 3 points on an Imaginary Arc.
 
     -- set position of CUrsor       (CU)
@@ -256,7 +256,7 @@ def placement_centre(context, operation):
         if obj is None:
             pg.error = PDT_ERR_NO_ACT_OBJ
             context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
-            raise PDT_ObjectMode
+            raise PDT_ObjectModeError
         obj = context.view_layer.objects.active
         obj_loc = obj.matrix_world.decompose()[0]
         bm = bmesh.from_edit_mesh(obj.data)
@@ -333,7 +333,6 @@ def placement_centre(context, operation):
         else:
             pg.error = f"{operation} {PDT_ERR_NON_VALID} {PDT_LAB_ARCCENTRE}"
             context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
-    return
 
 
 def placement_intersect(context, operation):
@@ -556,7 +555,7 @@ def join_two_vertices(context):
     else:
         pg.error = f"{PDT_ERR_EDOB_MODE},{obj.mode})"
         context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
-        raise PDT_ObjectMode
+        raise PDT_ObjectModeError
 
 
 def set_angle_distance_two(context):
@@ -631,15 +630,12 @@ def set_angle_distance_two(context):
     if plane == "LO":
         pg.distance = round(sqrt(
             (vector_a.x - vector_b.x) ** 2 +
-            (vector_a.y - vector_b.y) ** 2), val_round
-        )
+            (vector_a.y - vector_b.y) ** 2), val_round)
     else:
         pg.distance = round(sqrt(
             (vector_a[a1] - vector_b[a1]) ** 2 +
-            (vector_a[a2] - vector_b[a2]) ** 2), val_round
-        )
-    pg.cartesian_coords = Vector(([round(i, val_round) for i in (vector_b - vector_a)]))
-    return
+            (vector_a[a2] - vector_b[a2]) ** 2), val_round)
+    pg.cartesian_coords = Vector(([round(i, val_round) for i in vector_b - vector_a]))
 
 
 def set_angle_distance_three(context):
@@ -672,7 +668,7 @@ def set_angle_distance_three(context):
                 if vector_a is None:
                     pg.error = PDT_ERR_VERT_MODE
                     context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
-                    raise pdt_InvalidVector
+                    raise PDT_InvalidVector
             else:
                 pg.error = f"{PDT_ERR_SEL_3_VERTIO} {len(bm.select_history)})"
                 context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
@@ -708,8 +704,7 @@ def set_angle_distance_three(context):
     else:
         pg.angle = round(ang, val_round)
     pg.distance = round((vector_a - vector_b).length, val_round)
-    pg.cartesian_coords = Vector(([round(i, val_round) for i in (vector_b - vector_a)]))
-    return
+    pg.cartesian_coords = Vector(([round(i, val_round) for i in vector_b - vector_a]))
 
 
 def origin_to_cursor(context):
@@ -750,8 +745,7 @@ def origin_to_cursor(context):
     else:
         pg.error = f"{PDT_ERR_EDOB_MODE} {obj.mode})"
         context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
-        raise PDT_ObjectMode
-    return
+        raise PDT_ObjectModeError
 
 
 def taper(context):
@@ -809,7 +803,7 @@ def taper(context):
                 v.co[a2] = v.co[a2] - (dis_v * tan(ang_v * pi / 180))
         bmesh.update_edit_mesh(obj.data)
         bm.select_history.clear()
-        return
-    pg.error = f"{PDT_ERR_EDOB_MODE},{obj.mode})"
-    context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
-    raise PDT_ObjectMode
+    else:
+        pg.error = f"{PDT_ERR_EDOB_MODE},{obj.mode})"
+        context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
+        raise PDT_ObjectModeError
diff --git a/pdt_exception.py b/pdt_exception.py
index 4287974b..c33777ab 100644
--- a/pdt_exception.py
+++ b/pdt_exception.py
@@ -21,7 +21,7 @@
 # Author: Alan Odom (Clockmender), Rune Morling (ermo) Copyright (c) 2019
 # -----------------------------------------------------------------------
 #
-# Exception Routines
+# Exceptions are used in the absence of nullable types in python
 
 
 class SelectionError(Exception):
@@ -36,7 +36,7 @@ class CommandFailure(Exception):
     pass
 
 
-class ObjectMode(Exception):
+class ObjectModeError(Exception):
     pass
 
 
@@ -66,3 +66,6 @@ class VerticesConnected(Exception):
 
 class InvalidAngle(Exception):
     pass
+
+class ShaderError(Exception):
+    pass
diff --git a/precision_drawing_tools/__init__.py b/precision_drawing_tools/__init__.py
index 81ef97e4..d3639acd 100644
--- a/precision_drawing_tools/__init__.py
+++ b/precision_drawing_tools/__init__.py
@@ -107,7 +107,7 @@ from .pdt_msg_strings import (
     PDT_DES_ROTMOVAX,
     PDT_DES_TRIM,
     PDT_DES_VALIDLET,
-    PDT_DES_WORPLANE
+    PDT_DES_WORPLANE,
 )
 from .pdt_command import command_run
 from .pdt_functions import scale_set
@@ -176,7 +176,9 @@ def enumlist_collections(self, context):
             if len(pg.collection_search_string) == 0:
                 object_names = [ob for ob in data_from.collections]
             else:
-                object_names = [ob for ob in data_from.collections if pg.collection_search_string in ob]
+                object_names = [
+                    ob for ob in data_from.collections if pg.collection_search_string in ob
+                ]
         for object_name in object_names:
             _pdt_col_items.append((object_name, object_name, ""))
     else:
@@ -219,32 +221,21 @@ def enumlist_materials(self, context):
 class PDTSceneProperties(PropertyGroup):
     """Contains all PDT related properties."""
 
-    object_search_string : StringProperty(
-        name="Search", default="", description=PDT_DES_LIBSER
-    )
-    collection_search_string : StringProperty(
-        name="Search", default="", description=PDT_DES_LIBSER
-    )
-    material_search_string : StringProperty(
-        name="Search", default="", description=PDT_DES_LIBSER
-    )
+    object_search_string: StringProperty(name="Search", default="", description=PDT_DES_LIBSER)
+    collection_search_string: StringProperty(name="Search", default="", description=PDT_DES_LIBSER)
+    material_search_string: StringProperty(name="Search", default="", description=PDT_DES_LIBSER)
 
-    cartesian_coords : FloatVectorProperty(
-        name="Coords",
-        default=(0.0, 0.0, 0.0),
-        subtype="XYZ",
-        description=PDT_DES_COORDS
+    cartesian_coords: FloatVectorProperty(
+        name="Coords", default=(0.0, 0.0, 0.0), subtype="XYZ", description=PDT_DES_COORDS
     )
-    distance : FloatProperty(
+    distance: FloatProperty(
         name="Distance", default=0.0, precision=5, description=PDT_DES_OFFDIS, unit="LENGTH"
     )
-    angle : FloatProperty(
+    angle: FloatProperty(
         name="Angle", min=-180, max=180, default=0.0, precision=5, description=PDT_DES_OFFANG
     )
-    percent : FloatProperty(
-        name="Percent", default=0.0, precision=5, description=PDT_DES_OFFPER
-    )
-    plane : EnumProperty(
+    percent: FloatProperty(name="Percent", default=0.0, precision=5, description=PDT_DES_OFFPER)
+    plane: EnumProperty(
         items=(
             ("XZ", "Front(X-Z)", "Use X-Z Plane"),
             ("XY", "Top(X-Y)", "Use X-Y Plane"),
@@ -255,7 +246,7 @@ class PDTSceneProperties(PropertyGroup):
         default="XZ",
         description=PDT_DES_WORPLANE,
     )
-    select : EnumProperty(
+    select: EnumProperty(
         items=(
             ("REL", "Current Pos.", "Move Relative to Current Position"),
             (
@@ -268,13 +259,17 @@ clas

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list