Cleanup: double quotes for non-enum strings

Also use back-ticks for code-references in comments.
This commit is contained in:
Campbell Barton 2023-04-18 10:42:00 +10:00
parent 2f743b0a92
commit c4c1cc7cd3
33 changed files with 88 additions and 86 deletions

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
''' """
This script generates the blender.1 man page, embedding the help text This script generates the blender.1 man page, embedding the help text
from the Blender executable itself. Invoke it as follows: from the Blender executable itself. Invoke it as follows:
@ -9,7 +9,7 @@ from the Blender executable itself. Invoke it as follows:
where <path-to-blender> is the path to the Blender executable, where <path-to-blender> is the path to the Blender executable,
and <output-filename> is where to write the generated man page. and <output-filename> is where to write the generated man page.
''' """
import argparse import argparse
import os import os
@ -87,29 +87,29 @@ def man_page_from_blender_help(fh: TextIO, blender_bin: str, verbose: bool) -> N
(blender_info["date"], blender_info["version"].replace(".", "\\&.")) (blender_info["date"], blender_info["version"].replace(".", "\\&."))
) )
fh.write(r''' fh.write(r"""
.SH NAME .SH NAME
blender \- a full-featured 3D application''') blender \- a full-featured 3D application""")
fh.write(r''' fh.write(r"""
.SH SYNOPSIS .SH SYNOPSIS
.B blender [args ...] [file] [args ...]''') .B blender [args ...] [file] [args ...]""")
fh.write(r''' fh.write(r"""
.br .br
.SH DESCRIPTION .SH DESCRIPTION
.PP .PP
.B blender .B blender
is a full-featured 3D application. It supports the entirety of the 3D pipeline - ''' is a full-featured 3D application. It supports the entirety of the 3D pipeline - """
'''modeling, rigging, animation, simulation, rendering, compositing, motion tracking, and video editing. """modeling, rigging, animation, simulation, rendering, compositing, motion tracking, and video editing.
Use Blender to create 3D images and animations, films and commercials, content for games, ''' Use Blender to create 3D images and animations, films and commercials, content for games, """
r'''architectural and industrial visualizations, and scientific visualizations. r"""architectural and industrial visualizations, and scientific visualizations.
https://www.blender.org''') https://www.blender.org""")
fh.write(r''' fh.write(r"""
.SH OPTIONS''') .SH OPTIONS""")
fh.write("\n\n") fh.write("\n\n")
@ -152,7 +152,7 @@ https://www.blender.org''')
# Footer Content. # Footer Content.
fh.write(r''' fh.write(r"""
.br .br
.SH SEE ALSO .SH SEE ALSO
.B luxrender(1) .B luxrender(1)
@ -162,7 +162,7 @@ https://www.blender.org''')
This manpage was written for a Debian GNU/Linux system by Daniel Mester This manpage was written for a Debian GNU/Linux system by Daniel Mester
<mester@uni-bremen.de> and updated by Cyril Brulebois <mester@uni-bremen.de> and updated by Cyril Brulebois
<cyril.brulebois@enst-bretagne.fr> and Dan Eicher <dan@trollwerks.org>. <cyril.brulebois@enst-bretagne.fr> and Dan Eicher <dan@trollwerks.org>.
''') """)
def create_argparse() -> argparse.ArgumentParser: def create_argparse() -> argparse.ArgumentParser:

View File

@ -149,7 +149,7 @@ def activate(*, template_id=None, reload_scripts=False):
template_id_prev = _app_template["id"] template_id_prev = _app_template["id"]
# not needed but may as well avoids redundant # not needed but may as well avoids redundant
# disable/enable for all add-ons on 'File -> New' # disable/enable for all add-ons on "File -> New".
if not reload_scripts and template_id_prev == template_id: if not reload_scripts and template_id_prev == template_id:
return return

View File

@ -16,12 +16,12 @@ TEMP_N = len(TEMP)
def is_dict(obj): def is_dict(obj):
"""Returns whether obj is a dictionary""" """Returns whether obj is a dictionary"""
return hasattr(obj, 'keys') and hasattr(getattr(obj, 'keys'), '__call__') return hasattr(obj, "keys") and hasattr(getattr(obj, "keys"), "__call__")
def is_struct_seq(obj): def is_struct_seq(obj):
"""Returns whether obj is a structured sequence subclass: sys.float_info""" """Returns whether obj is a structured sequence subclass: sys.float_info"""
return isinstance(obj, tuple) and hasattr(obj, 'n_fields') return isinstance(obj, tuple) and hasattr(obj, "n_fields")
def complete_names(word, namespace): def complete_names(word, namespace):

View File

@ -340,7 +340,7 @@ def dump_rna_messages(msgs, reports, settings, verbose=False):
msgctxt = bl_rna.translation_context or default_context msgctxt = bl_rna.translation_context or default_context
if bl_rna.name and (bl_rna.name != bl_rna.identifier or if bl_rna.name and (bl_rna.name != bl_rna.identifier or
(msgctxt != default_context and not hasattr(bl_rna, 'bl_label'))): (msgctxt != default_context and not hasattr(bl_rna, "bl_label"))):
process_msg(msgs, msgctxt, bl_rna.name, msgsrc, reports, check_ctxt_rna, settings) process_msg(msgs, msgctxt, bl_rna.name, msgsrc, reports, check_ctxt_rna, settings)
if bl_rna.description: if bl_rna.description:
@ -349,14 +349,14 @@ def dump_rna_messages(msgs, reports, settings, verbose=False):
process_msg(msgs, default_context, cls.__doc__, msgsrc, reports, check_ctxt_rna_tip, settings) process_msg(msgs, default_context, cls.__doc__, msgsrc, reports, check_ctxt_rna_tip, settings)
# Panels' "tabs" system. # Panels' "tabs" system.
if hasattr(bl_rna, 'bl_category') and bl_rna.bl_category: if hasattr(bl_rna, "bl_category") and bl_rna.bl_category:
process_msg(msgs, default_context, bl_rna.bl_category, msgsrc, reports, check_ctxt_rna, settings) process_msg(msgs, default_context, bl_rna.bl_category, msgsrc, reports, check_ctxt_rna, settings)
if hasattr(bl_rna, 'bl_label') and bl_rna.bl_label: if hasattr(bl_rna, "bl_label") and bl_rna.bl_label:
process_msg(msgs, msgctxt, bl_rna.bl_label, msgsrc, reports, check_ctxt_rna, settings) process_msg(msgs, msgctxt, bl_rna.bl_label, msgsrc, reports, check_ctxt_rna, settings)
# Tools Panels definitions. # Tools Panels definitions.
if hasattr(bl_rna, 'tools_all') and bl_rna.tools_all: if hasattr(bl_rna, "tools_all") and bl_rna.tools_all:
walk_tools_definitions(cls) walk_tools_definitions(cls)
walk_properties(cls) walk_properties(cls)
@ -472,7 +472,7 @@ def dump_rna_messages(msgs, reports, settings, verbose=False):
##### Python source code ##### ##### Python source code #####
def dump_py_messages_from_files(msgs, reports, files, settings): def dump_py_messages_from_files(msgs, reports, files, settings):
""" """
Dump text inlined in the python files given, e.g. 'My Name' in: Dump text inlined in the python files given, e.g. "My Name" in:
layout.prop("someprop", text="My Name") layout.prop("someprop", text="My Name")
""" """
import ast import ast

View File

@ -473,7 +473,7 @@ class I18nMessages:
@staticmethod @staticmethod
def _new_messages(): def _new_messages():
return getattr(collections, 'OrderedDict', dict)() return getattr(collections, "OrderedDict", dict)()
@classmethod @classmethod
def gen_empty_messages(cls, uid, blender_ver, blender_hash, time, year, default_copyright=True, settings=settings): def gen_empty_messages(cls, uid, blender_ver, blender_hash, time, year, default_copyright=True, settings=settings):

View File

@ -131,7 +131,7 @@ def main():
settings = settings_i18n.I18nSettings() settings = settings_i18n.I18nSettings()
settings.load(args.settings) settings.load(args.settings)
if getattr(args, 'template', None) is not None: if getattr(args, "template", None) is not None:
settings.FILE_NAME_POT = args.template settings.FILE_NAME_POT = args.template
args.func(args=args, settings=settings) args.func(args=args, settings=settings)

View File

@ -24,7 +24,7 @@ def keyconfig_update(keyconfig_data, keyconfig_version):
for _km_name, _km_parms, km_items_data in keyconfig_data: for _km_name, _km_parms, km_items_data in keyconfig_data:
for (_item_op, item_event, _item_prop) in km_items_data["items"]: for (_item_op, item_event, _item_prop) in km_items_data["items"]:
if item_event.get("value") == 'PRESS': if item_event.get("value") == 'PRESS':
# Unfortunately we don't know the 'map_type' at this point. # Unfortunately we don't know the `map_type` at this point.
# Setting repeat true on other kinds of events is harmless. # Setting repeat true on other kinds of events is harmless.
item_event["repeat"] = True item_event["repeat"] = True

View File

@ -68,7 +68,7 @@ def do_previews(do_objects, do_collections, do_scenes, do_data_intern):
if engine == '__SCENE': if engine == '__SCENE':
backup_scene, backup_world, backup_camera, backup_light, backup_camera_data, backup_light_data = [()] * 6 backup_scene, backup_world, backup_camera, backup_light, backup_camera_data, backup_light_data = [()] * 6
scene = bpy.context.window.scene scene = bpy.context.window.scene
exclude_props = {('world',), ('camera',), ('tool_settings',), ('preview',)} exclude_props = {("world",), ("camera",), ("tool_settings",), ("preview",)}
backup_scene = tuple(rna_backup_gen(scene, exclude_props=exclude_props)) backup_scene = tuple(rna_backup_gen(scene, exclude_props=exclude_props))
world = scene.world world = scene.world
camera = scene.camera camera = scene.camera
@ -343,7 +343,7 @@ def do_previews(do_objects, do_collections, do_scenes, do_data_intern):
ob.hide_render = False ob.hide_render = False
bpy.context.view_layer.update() bpy.context.view_layer.update()
preview_render_do(render_context, 'objects', root.name, objects) preview_render_do(render_context, "objects", root.name, objects)
# XXX Hyper Super Uber Suspicious Hack! # XXX Hyper Super Uber Suspicious Hack!
# Without this, on windows build, script excepts with following message: # Without this, on windows build, script excepts with following message:
@ -390,7 +390,7 @@ def do_previews(do_objects, do_collections, do_scenes, do_data_intern):
offset_matrix = Matrix.Translation(grp.instance_offset).inverted() offset_matrix = Matrix.Translation(grp.instance_offset).inverted()
preview_render_do(render_context, 'collections', grp.name, objects, offset_matrix) preview_render_do(render_context, "collections", grp.name, objects, offset_matrix)
scene = bpy.data.scenes[render_context.scene, None] scene = bpy.data.scenes[render_context.scene, None]
scene.collection.objects.unlink(bpy.data.objects[grp_obname, None]) scene.collection.objects.unlink(bpy.data.objects[grp_obname, None])
@ -413,7 +413,7 @@ def do_previews(do_objects, do_collections, do_scenes, do_data_intern):
objects = tuple((ob.name, ob.library.filepath if ob.library else None) for ob in scene.objects objects = tuple((ob.name, ob.library.filepath if ob.library else None) for ob in scene.objects
if (not ob.hide_render) and (ob.type in OBJECT_TYPES_RENDER)) if (not ob.hide_render) and (ob.type in OBJECT_TYPES_RENDER))
preview_render_do(render_context, 'scenes', scene.name, objects) preview_render_do(render_context, "scenes", scene.name, objects)
if not render_context_delete(render_context): if not render_context_delete(render_context):
do_save = False do_save = False

View File

@ -292,7 +292,7 @@ def load_scripts(*, reload_scripts=False, refresh_scripts=False):
if _os.path.isdir(path): if _os.path.isdir(path):
_sys_path_ensure_prepend(path) _sys_path_ensure_prepend(path)
# Only add to 'sys.modules' unless this is 'startup'. # Only add to `sys.modules` unless this is 'startup'.
if path_subdir == "startup": if path_subdir == "startup":
for mod in modules_from_path(path, loaded_modules): for mod in modules_from_path(path, loaded_modules):
test_register(mod) test_register(mod)

View File

@ -122,7 +122,7 @@ def orientation_helper(axis_forward='Y', axis_up='Z'):
'XYZ'[('XYZ'.index(self.axis_up[-1]) + 1) % 3] 'XYZ'[('XYZ'.index(self.axis_up[-1]) + 1) % 3]
) )
cls.__annotations__['axis_forward'] = EnumProperty( cls.__annotations__["axis_forward"] = EnumProperty(
name="Forward", name="Forward",
items=( items=(
('X', "X Forward", ""), ('X', "X Forward", ""),
@ -143,7 +143,7 @@ def orientation_helper(axis_forward='Y', axis_up='Z'):
'XYZ'[('XYZ'.index(self.axis_forward[-1]) + 1) % 3] 'XYZ'[('XYZ'.index(self.axis_forward[-1]) + 1) % 3]
) )
cls.__annotations__['axis_up'] = EnumProperty( cls.__annotations__["axis_up"] = EnumProperty(
name="Up", name="Up",
items=( items=(
('X', "X Up", ""), ('X', "X Up", ""),

View File

@ -372,7 +372,7 @@ class PrincipledBSDFWrapper(ShaderWrapper):
self, self.node_principled_bsdf, self, self.node_principled_bsdf,
self.node_principled_bsdf.inputs["Metallic"], self.node_principled_bsdf.inputs["Metallic"],
grid_row_diff=0, grid_row_diff=0,
colorspace_name='Non-Color', colorspace_name="Non-Color",
) )
metallic_texture = property(metallic_texture_get) metallic_texture = property(metallic_texture_get)
@ -784,32 +784,32 @@ class ShaderImageTextureWrapper():
def translation_get(self): def translation_get(self):
if self.node_mapping is None: if self.node_mapping is None:
return Vector((0.0, 0.0, 0.0)) return Vector((0.0, 0.0, 0.0))
return self.node_mapping.inputs['Location'].default_value return self.node_mapping.inputs["Location"].default_value
@_set_check @_set_check
def translation_set(self, translation): def translation_set(self, translation):
self.node_mapping.inputs['Location'].default_value = translation self.node_mapping.inputs["Location"].default_value = translation
translation = property(translation_get, translation_set) translation = property(translation_get, translation_set)
def rotation_get(self): def rotation_get(self):
if self.node_mapping is None: if self.node_mapping is None:
return Vector((0.0, 0.0, 0.0)) return Vector((0.0, 0.0, 0.0))
return self.node_mapping.inputs['Rotation'].default_value return self.node_mapping.inputs["Rotation"].default_value
@_set_check @_set_check
def rotation_set(self, rotation): def rotation_set(self, rotation):
self.node_mapping.inputs['Rotation'].default_value = rotation self.node_mapping.inputs["Rotation"].default_value = rotation
rotation = property(rotation_get, rotation_set) rotation = property(rotation_get, rotation_set)
def scale_get(self): def scale_get(self):
if self.node_mapping is None: if self.node_mapping is None:
return Vector((1.0, 1.0, 1.0)) return Vector((1.0, 1.0, 1.0))
return self.node_mapping.inputs['Scale'].default_value return self.node_mapping.inputs["Scale"].default_value
@_set_check @_set_check
def scale_set(self, scale): def scale_set(self, scale):
self.node_mapping.inputs['Scale'].default_value = scale self.node_mapping.inputs["Scale"].default_value = scale
scale = property(scale_get, scale_set) scale = property(scale_get, scale_set)

View File

@ -26,10 +26,10 @@ class ProgressReport:
progress.leave_substeps() # No need to step here, this implicitly does it. progress.leave_substeps() # No need to step here, this implicitly does it.
progress.leave_substeps("Finished!") # You may pass some message too. progress.leave_substeps("Finished!") # You may pass some message too.
""" """
__slots__ = ('wm', 'running', 'steps', 'curr_step', 'start_time') __slots__ = ("wm", "running", "steps", "curr_step", "start_time")
def __init__(self, wm=None): def __init__(self, wm=None):
self_wm = getattr(self, 'wm', None) self_wm = getattr(self, "wm", None)
if self_wm: if self_wm:
self.finalize() self.finalize()
self.running = False self.running = False
@ -117,11 +117,11 @@ class ProgressReportSubstep:
for j in range(100): for j in range(100):
subprogress2.step() subprogress2.step()
""" """
__slots__ = ('progress', 'nbr', 'msg', 'final_msg', 'level') __slots__ = ("progress", "nbr", "msg", "final_msg", "level")
def __init__(self, progress, nbr, msg="", final_msg=""): def __init__(self, progress, nbr, msg="", final_msg=""):
# Allows to generate a subprogress context handler from another one. # Allows to generate a subprogress context handler from another one.
progress = getattr(progress, 'progress', progress) progress = getattr(progress, "progress", progress)
self.progress = progress self.progress = progress
self.nbr = nbr self.nbr = nbr

View File

@ -440,7 +440,7 @@ class _GenericBone:
def _other_bones(self): def _other_bones(self):
id_data = self.id_data id_data = self.id_data
# `id_data` is an 'Object' for `PosePone`, otherwise it's an `Armature`. # `id_data` is an `Object` for `PosePone`, otherwise it's an `Armature`.
if isinstance(self, PoseBone): if isinstance(self, PoseBone):
return id_data.pose.bones return id_data.pose.bones
if isinstance(self, EditBone): if isinstance(self, EditBone):
@ -688,7 +688,7 @@ class RNAMetaPropGroup(StructMetaPropGroup, RNAMeta):
pass pass
# Same as 'Operator' # Same as `Operator`.
# only without 'as_keywords' # only without 'as_keywords'
class Gizmo(StructRNA): class Gizmo(StructRNA):
__slots__ = () __slots__ = ()

View File

@ -91,7 +91,7 @@ def graph_armature(obj, filepath, FAKE_PARENT=True, CONSTRAINTS=True, DRIVERS=Tr
parent_name = parent.name parent_name = parent.name
connected = bone.use_connect connected = bone.use_connect
elif FAKE_PARENT: elif FAKE_PARENT:
parent_name = 'Object::%s' % obj.name parent_name = "Object::%s" % obj.name
connected = False connected = False
else: else:
continue continue

View File

@ -93,7 +93,7 @@ def RKS_ITER_selected_bones(ksi, context, ks):
# Generate Callbacks # Generate Callbacks
# 'Available' F-Curves # "Available" F-Curves.
def RKS_GEN_available(_ksi, _context, ks, data): def RKS_GEN_available(_ksi, _context, ks, data):
# try to get the animation data associated with the closest # try to get the animation data associated with the closest
# ID-block to the data (neither of which may exist/be easy to find) # ID-block to the data (neither of which may exist/be easy to find)

View File

@ -735,7 +735,7 @@ def BuildRNAInfo():
i += 1 i += 1
if not ok: if not ok:
print('Dependancy "%s" could not be found for "%s"' % (identifier, rna_base)) print("Dependency \"%s\" could not be found for \"%s\"" % (identifier, rna_base))
break break

View File

@ -121,7 +121,7 @@ class SCENE_OT_freestyle_fill_range_by_selection(Operator):
class SCENE_OT_freestyle_add_edge_marks_to_keying_set(Operator): class SCENE_OT_freestyle_add_edge_marks_to_keying_set(Operator):
'''Add the data paths to the Freestyle Edge Mark property of selected edges to the active keying set''' """Add the data paths to the Freestyle Edge Mark property of selected edges to the active keying set"""
bl_idname = "scene.freestyle_add_edge_marks_to_keying_set" bl_idname = "scene.freestyle_add_edge_marks_to_keying_set"
bl_label = "Add Edge Marks to Keying Set" bl_label = "Add Edge Marks to Keying Set"
bl_options = {'UNDO'} bl_options = {'UNDO'}
@ -152,7 +152,7 @@ class SCENE_OT_freestyle_add_edge_marks_to_keying_set(Operator):
class SCENE_OT_freestyle_add_face_marks_to_keying_set(Operator): class SCENE_OT_freestyle_add_face_marks_to_keying_set(Operator):
'''Add the data paths to the Freestyle Face Mark property of selected polygons to the active keying set''' """Add the data paths to the Freestyle Face Mark property of selected polygons to the active keying set"""
bl_idname = "scene.freestyle_add_face_marks_to_keying_set" bl_idname = "scene.freestyle_add_face_marks_to_keying_set"
bl_label = "Add Face Marks to Keying Set" bl_label = "Add Face Marks to Keying Set"
bl_options = {'UNDO'} bl_options = {'UNDO'}

View File

@ -24,7 +24,7 @@ class NodeSetting(PropertyGroup):
) )
# Base class for node 'Add' operators # Base class for node "Add" operators.
class NodeAddOperator: class NodeAddOperator:
type: StringProperty( type: StringProperty(
@ -141,14 +141,14 @@ class NodeAddOperator:
# Simple basic operator for adding a node # Simple basic operator for adding a node
class NODE_OT_add_node(NodeAddOperator, Operator): class NODE_OT_add_node(NodeAddOperator, Operator):
'''Add a node to the active tree''' """Add a node to the active tree"""
bl_idname = "node.add_node" bl_idname = "node.add_node"
bl_label = "Add Node" bl_label = "Add Node"
bl_options = {'REGISTER', 'UNDO'} bl_options = {'REGISTER', 'UNDO'}
class NODE_OT_collapse_hide_unused_toggle(Operator): class NODE_OT_collapse_hide_unused_toggle(Operator):
'''Toggle collapsed nodes and hide unused sockets''' """Toggle collapsed nodes and hide unused sockets"""
bl_idname = "node.collapse_hide_unused_toggle" bl_idname = "node.collapse_hide_unused_toggle"
bl_label = "Collapse and Hide Unused Sockets" bl_label = "Collapse and Hide Unused Sockets"
bl_options = {'REGISTER', 'UNDO'} bl_options = {'REGISTER', 'UNDO'}
@ -179,7 +179,7 @@ class NODE_OT_collapse_hide_unused_toggle(Operator):
class NODE_OT_tree_path_parent(Operator): class NODE_OT_tree_path_parent(Operator):
'''Go to parent node tree''' """Go to parent node tree"""
bl_idname = "node.tree_path_parent" bl_idname = "node.tree_path_parent"
bl_label = "Parent Node Tree" bl_label = "Parent Node Tree"
bl_options = {'REGISTER', 'UNDO'} bl_options = {'REGISTER', 'UNDO'}

View File

@ -317,7 +317,7 @@ class QuickExplode(ObjectModeOperator, Operator):
node_out_mat = node node_out_mat = node
break break
node_surface = node_out_mat.inputs['Surface'].links[0].from_node node_surface = node_out_mat.inputs["Surface"].links[0].from_node
node_x = node_surface.location[0] node_x = node_surface.location[0]
node_y = node_surface.location[1] - 400 node_y = node_surface.location[1] - 400
@ -326,7 +326,7 @@ class QuickExplode(ObjectModeOperator, Operator):
node_mix = nodes.new('ShaderNodeMixShader') node_mix = nodes.new('ShaderNodeMixShader')
node_mix.location = (node_x - offset_x, node_y) node_mix.location = (node_x - offset_x, node_y)
mat.node_tree.links.new(node_surface.outputs[0], node_mix.inputs[1]) mat.node_tree.links.new(node_surface.outputs[0], node_mix.inputs[1])
mat.node_tree.links.new(node_mix.outputs["Shader"], node_out_mat.inputs['Surface']) mat.node_tree.links.new(node_mix.outputs["Shader"], node_out_mat.inputs["Surface"])
offset_x += 200 offset_x += 200
node_trans = nodes.new('ShaderNodeBsdfTransparent') node_trans = nodes.new('ShaderNodeBsdfTransparent')

View File

@ -96,7 +96,7 @@ class AddPresetBase:
# Reset preset name # Reset preset name
wm = bpy.data.window_managers[0] wm = bpy.data.window_managers[0]
if name == wm.preset_name: if name == wm.preset_name:
wm.preset_name = data_('New Preset') wm.preset_name = data_("New Preset")
filename = self.as_filename(name) filename = self.as_filename(name)

View File

@ -9,7 +9,7 @@ from bpy.props import (
class CopyRigidbodySettings(Operator): class CopyRigidbodySettings(Operator):
'''Copy Rigid Body settings from active object to selected''' """Copy Rigid Body settings from active object to selected"""
bl_idname = "rigidbody.object_settings_copy" bl_idname = "rigidbody.object_settings_copy"
bl_label = "Copy Rigid Body Settings" bl_label = "Copy Rigid Body Settings"
bl_options = {'REGISTER', 'UNDO'} bl_options = {'REGISTER', 'UNDO'}
@ -74,7 +74,7 @@ class CopyRigidbodySettings(Operator):
class BakeToKeyframes(Operator): class BakeToKeyframes(Operator):
'''Bake rigid body transformations of selected objects to keyframes''' """Bake rigid body transformations of selected objects to keyframes"""
bl_idname = "rigidbody.bake_to_keyframes" bl_idname = "rigidbody.bake_to_keyframes"
bl_label = "Bake to Keyframes" bl_label = "Bake to Keyframes"
bl_options = {'REGISTER', 'UNDO'} bl_options = {'REGISTER', 'UNDO'}
@ -198,7 +198,7 @@ class BakeToKeyframes(Operator):
class ConnectRigidBodies(Operator): class ConnectRigidBodies(Operator):
'''Create rigid body constraints between selected rigid bodies''' """Create rigid body constraints between selected rigid bodies"""
bl_idname = "rigidbody.connect" bl_idname = "rigidbody.connect"
bl_label = "Connect Rigid Bodies" bl_label = "Connect Rigid Bodies"
bl_options = {'REGISTER', 'UNDO'} bl_options = {'REGISTER', 'UNDO'}

View File

@ -166,20 +166,22 @@ class SequencerFadesAdd(Operator):
name="Fade Duration", name="Fade Duration",
description="Duration of the fade in seconds", description="Duration of the fade in seconds",
default=1.0, default=1.0,
min=0.01) min=0.01,
)
type: EnumProperty( type: EnumProperty(
items=( items=(
('IN_OUT', 'Fade In and Out', 'Fade selected strips in and out'), ('IN_OUT', "Fade In and Out", "Fade selected strips in and out"),
('IN', 'Fade In', 'Fade in selected strips'), ('IN', "Fade In", "Fade in selected strips"),
('OUT', 'Fade Out', 'Fade out selected strips'), ('OUT', "Fade Out", "Fade out selected strips"),
('CURSOR_FROM', 'From Current Frame', ('CURSOR_FROM', "From Current Frame",
'Fade from the time cursor to the end of overlapping sequences'), "Fade from the time cursor to the end of overlapping sequences"),
('CURSOR_TO', 'To Current Frame', ('CURSOR_TO', "To Current Frame",
'Fade from the start of sequences under the time cursor to the current frame'), "Fade from the start of sequences under the time cursor to the current frame"),
), ),
name="Fade Type", name="Fade Type",
description="Fade in, out, both in and out, to, or from the current frame. Default is both in and out", description="Fade in, out, both in and out, to, or from the current frame. Default is both in and out",
default='IN_OUT') default='IN_OUT',
)
@classmethod @classmethod
def poll(cls, context): def poll(cls, context):

View File

@ -6,7 +6,7 @@ from bpy.types import Operator
class SPREADSHEET_OT_toggle_pin(Operator): class SPREADSHEET_OT_toggle_pin(Operator):
'''Turn on or off pinning''' """Turn on or off pinning"""
bl_idname = "spreadsheet.toggle_pin" bl_idname = "spreadsheet.toggle_pin"
bl_label = "Toggle Pin" bl_label = "Toggle Pin"
bl_options = {'REGISTER'} bl_options = {'REGISTER'}

View File

@ -129,7 +129,7 @@ from math import pi
class VertexPaintDirt(Operator): class VertexPaintDirt(Operator):
'''Generate a dirt map gradient based on cavity''' """Generate a dirt map gradient based on cavity"""
bl_idname = "paint.vertex_color_dirt" bl_idname = "paint.vertex_color_dirt"
bl_label = "Dirty Vertex Colors" bl_label = "Dirty Vertex Colors"
bl_options = {'REGISTER', 'UNDO'} bl_options = {'REGISTER', 'UNDO'}

View File

@ -243,7 +243,7 @@ class OBJECT_PT_instancing(ObjectButtonsPanel, Panel):
@classmethod @classmethod
def poll(cls, context): def poll(cls, context):
ob = context.object ob = context.object
# FONT objects need (vertex) instancing for the 'Object Font' feature # FONT objects need (vertex) instancing for the "Object Font" feature.
return (ob.type in {'MESH', 'EMPTY', 'FONT'}) return (ob.type in {'MESH', 'EMPTY', 'FONT'})
def draw(self, context): def draw(self, context):

View File

@ -103,7 +103,7 @@ class EEVEE_WORLD_PT_surface(WorldButtonsPanel, Panel):
node = ntree.get_output_node('EEVEE') node = ntree.get_output_node('EEVEE')
if node: if node:
input = find_node_input(node, 'Surface') input = find_node_input(node, "Surface")
if input: if input:
layout.template_node_view(ntree, node, input) layout.template_node_view(ntree, node, input)
else: else:
@ -136,7 +136,7 @@ class EEVEE_WORLD_PT_volume(WorldButtonsPanel, Panel):
layout.use_property_split = True layout.use_property_split = True
if node: if node:
input = find_node_input(node, 'Volume') input = find_node_input(node, "Volume")
if input: if input:
layout.template_node_view(ntree, node, input) layout.template_node_view(ntree, node, input)
else: else:

View File

@ -752,7 +752,7 @@ class CLIP_PT_track(CLIP_PT_tracking_panel, Panel):
row = layout.row(align=True) row = layout.row(align=True)
row.prop(act_track, "use_custom_color", text="") row.prop(act_track, "use_custom_color", text="")
CLIP_PT_track_color_presets.draw_menu(row, iface_('Custom Color Presets')) CLIP_PT_track_color_presets.draw_menu(row, iface_("Custom Color Presets"))
row.operator("clip.track_copy_color", icon='COPY_ID', text="") row.operator("clip.track_copy_color", icon='COPY_ID', text="")
if act_track.use_custom_color: if act_track.use_custom_color:

View File

@ -150,7 +150,7 @@ class NLA_MT_marker(Menu):
class NLA_MT_marker_select(Menu): class NLA_MT_marker_select(Menu):
bl_label = 'Select' bl_label = "Select"
def draw(self, _context): def draw(self, _context):
layout = self.layout layout = self.layout

View File

@ -1769,7 +1769,7 @@ class SEQUENCER_PT_scene(SequencerButtonsPanel, Panel):
layout.prop(strip, "use_annotations", text="Annotations") layout.prop(strip, "use_annotations", text="Annotations")
if scene: if scene:
# Warning, this is not a good convention to follow. # Warning, this is not a good convention to follow.
# Expose here because setting the alpha from the 'Render' menu is very inconvenient. # Expose here because setting the alpha from the "Render" menu is very inconvenient.
layout.prop(scene.render, "film_transparent") layout.prop(scene.render, "film_transparent")

View File

@ -2620,7 +2620,7 @@ class IMAGE_PT_tools_active(ToolSelectPanelHelper, Panel):
bl_label = "Tools" # not visible bl_label = "Tools" # not visible
bl_options = {'HIDE_HEADER'} bl_options = {'HIDE_HEADER'}
# Satisfy the 'ToolSelectPanelHelper' API. # Satisfy the `ToolSelectPanelHelper` API.
keymap_prefix = "Image Editor Tool:" keymap_prefix = "Image Editor Tool:"
# Default group to use as a fallback. # Default group to use as a fallback.
@ -2715,7 +2715,7 @@ class NODE_PT_tools_active(ToolSelectPanelHelper, Panel):
bl_label = "Tools" # not visible bl_label = "Tools" # not visible
bl_options = {'HIDE_HEADER'} bl_options = {'HIDE_HEADER'}
# Satisfy the 'ToolSelectPanelHelper' API. # Satisfy the `ToolSelectPanelHelper` API.
keymap_prefix = "Node Editor Tool:" keymap_prefix = "Node Editor Tool:"
# Default group to use as a fallback. # Default group to use as a fallback.
@ -2779,7 +2779,7 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
bl_label = "Tools" # not visible bl_label = "Tools" # not visible
bl_options = {'HIDE_HEADER'} bl_options = {'HIDE_HEADER'}
# Satisfy the 'ToolSelectPanelHelper' API. # Satisfy the `ToolSelectPanelHelper` API.
keymap_prefix = "3D View Tool:" keymap_prefix = "3D View Tool:"
# Default group to use as a fallback. # Default group to use as a fallback.
@ -3147,7 +3147,7 @@ class SEQUENCER_PT_tools_active(ToolSelectPanelHelper, Panel):
bl_label = "Tools" # not visible bl_label = "Tools" # not visible
bl_options = {'HIDE_HEADER'} bl_options = {'HIDE_HEADER'}
# Satisfy the 'ToolSelectPanelHelper' API. # Satisfy the `ToolSelectPanelHelper` API.
keymap_prefix = "Sequence Editor Tool:" keymap_prefix = "Sequence Editor Tool:"
# Default group to use as a fallback. # Default group to use as a fallback.

View File

@ -19,7 +19,7 @@ class MyCustomTree(NodeTree):
# Custom socket type # Custom socket type
class MyCustomSocket(NodeSocket): class MyCustomSocket(NodeSocket):
# Description string # Description string
'''Custom node socket type''' """Custom node socket type"""
# Optional identifier string. If not explicitly defined, the python class name is used. # Optional identifier string. If not explicitly defined, the python class name is used.
bl_idname = 'CustomSocketType' bl_idname = 'CustomSocketType'
# Label for nice name display # Label for nice name display

View File

@ -1,7 +1,7 @@
# This script defines functions to be used directly in driver expressions to # This script defines functions to be used directly in driver expressions to
# extend the built-in set of python functions. # extend the built-in set of python functions.
# #
# This can be executed on manually or set to 'Register' to # This can be executed on manually or set to "Register" to
# initialize the functions on file load. # initialize the functions on file load.

View File

@ -11,7 +11,7 @@ class MyPanel(bpy.types.Panel):
bl_idname = "SCENE_PT_list_demo" bl_idname = "SCENE_PT_list_demo"
bl_space_type = 'VIEW_3D' bl_space_type = 'VIEW_3D'
bl_region_type = 'UI' bl_region_type = 'UI'
bl_category = 'My Category' bl_category = "My Category"
def draw(self, context): def draw(self, context):
layout = self.layout layout = self.layout