From dbe3331a31fa8391e70f79f6bf4743b8f669bf88 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Mon, 19 Dec 2011 14:38:06 +0000 Subject: pep8 edits and a few other code styling. Non functionnaly changes. --- render_copy_settings/__init__.py | 61 +++++++++++++++++++++------------------- render_copy_settings/operator.py | 39 ++++++++++++++----------- render_copy_settings/panel.py | 17 ++++++----- render_copy_settings/presets.py | 19 ++++++++----- 4 files changed, 77 insertions(+), 59 deletions(-) (limited to 'render_copy_settings') diff --git a/render_copy_settings/__init__.py b/render_copy_settings/__init__.py index ee02f38c..bf433b35 100644 --- a/render_copy_settings/__init__.py +++ b/render_copy_settings/__init__.py @@ -33,30 +33,23 @@ # Renamed in “Render Copy Settings”. # Huge changes: # * It is now possible to individually copy each render setting. -# * It is now possible to individually select each affected scene, and then filter them out -# even further with a regex. -# WARNING: this addon now needs a Blender patched with the ui_template_list diff, else it won’t -# be fully functional… +# * It is now possible to individually select each affected scene, and +# then filter them out even further with a regex. # # 0.1.1 # Minor changes: # * PEP8 compliant. # * Moved to contrib… -# WARNING: this addon now needs a Blender patched with the ui_template_list diff, else it won’t -# be fully functional (even though working)… # # 0.1.2 # Minor changes: -# * Updated accordingly to the changes in enhanced ui_template_list proposal. -# WARNING: this addon now needs a Blender patched with the ui_template_list diff, else it won’t -# be fully functional (even though working)… +# * Updated accordingly to the changes in enhanced ui_template_list +# proposal. # # 0.1.3 # Minor changes: -# * Fixed a small bug that was disabling the whole UI when entering a filtering regex -# matching no scene. -# WARNING: this addon now needs a Blender patched with the ui_template_list diff, else it won’t -# be fully functional (even though working)… +# * Fixed a small bug that was disabling the whole UI when entering a +# filtering regex matching no scene. # # ##### END OF CHANGELOG ##### @@ -67,10 +60,12 @@ bl_info = { "blender": (2, 6, 1), "api": 42648, "location": "Render buttons (Properties window)", - "description": "Allows to copy a selection of render settings from current scene to others.", - "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/"\ + "description": "Allows to copy a selection of render settings from " \ + "current scene to others.", + "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/" \ "Scripts/Render/Copy Settings", - "tracker_url": "http://projects.blender.org/tracker/index.php?func=detail&aid=25832", + "tracker_url": "http://projects.blender.org/tracker/index.php?" \ + "func=detail&aid=25832", "category": "Render"} @@ -84,28 +79,32 @@ else: import bpy -from bpy.props import StringProperty, BoolProperty, IntProperty, CollectionProperty +from bpy.props import StringProperty, BoolProperty, \ + IntProperty, CollectionProperty -#################################################################################################### -# Global properties for the script, for UI (as there’s no way to let them in the operator…). -#################################################################################################### +############################################################################### +# Global properties for the script, for UI (as there’s no way to let them in +# the operator…). +############################################################################### class RenderCopySettingsScene(bpy.types.PropertyGroup): allowed = BoolProperty(default=True) - # A string of identifiers (colon delimited) which property’s controls should be displayed - # in a template_list. - template_list_controls = StringProperty(default="allowed", options={"HIDDEN"}) + # A string of identifiers (colon delimited) which property’s controls + # should be displayed in a template_list. + template_list_controls = StringProperty(default="allowed", + options={"HIDDEN"}) class RenderCopySettingsSetting(bpy.types.PropertyGroup): strid = StringProperty(default="") copy = BoolProperty(default=False) - # A string of identifiers (colon delimited) which property’s controls should be displayed - # in a template_list. - template_list_controls = StringProperty(default="copy", options={"HIDDEN"}) + # A string of identifiers (colon delimited) which property’s controls + # should be displayed in a template_list. + template_list_controls = StringProperty(default="copy", + options={"HIDDEN"}) class RenderCopySettings(bpy.types.PropertyGroup): @@ -113,7 +112,9 @@ class RenderCopySettings(bpy.types.PropertyGroup): # It should only contain one element for each render setting. affected_settings = CollectionProperty(type=RenderCopySettingsSetting, name="Affected Settings", - description="The list of all available render settings") + description="The list of all " \ + "available render " \ + "settings") # XXX Unused, but needed for template_list… aff_sett_idx = IntProperty() @@ -121,12 +122,14 @@ class RenderCopySettings(bpy.types.PropertyGroup): # It should only contain one element for each scene. allowed_scenes = CollectionProperty(type=RenderCopySettingsScene, name="Allowed Scenes", - description="The list all scenes in the file") + description="The list all scenes " \ + "in the file") # XXX Unused, but needed for template_list… allw_scenes_idx = IntProperty() filter_scene = StringProperty(name="Filter Scene", - description="Regex to only affect scenes which name matches it", + description="Regex to only affect scenes " \ + "which name matches it", default="") diff --git a/render_copy_settings/operator.py b/render_copy_settings/operator.py index 830ce4a7..1d13fbbe 100644 --- a/render_copy_settings/operator.py +++ b/render_copy_settings/operator.py @@ -21,13 +21,14 @@ import bpy from . import presets -# These operators are only defined because it seems impossible to directly edit properties from -# UI code… +# These operators are only defined because it seems impossible to directly +# edit properties from UI code… # A sorting func for collections (working in-place). # XXX Not optimized at all… -# XXX If some items in the collection do not have the sortkey property, they are just ignored… +# XXX If some items in the collection do not have the sortkey property, +# they are just ignored… def collection_property_sort(collection, sortkey, start_idx=0): while start_idx + 1 < len(collection): while not hasattr(collection[start_idx], sortkey): @@ -49,8 +50,8 @@ def collection_property_sort(collection, sortkey, start_idx=0): class RenderCopySettingsPrepare(bpy.types.Operator): ''' - Prepare internal data for render_copy_settings (gathering all existing render settings, - and scenes) + Prepare internal data for render_copy_settings (gathering all existing + render settings, and scenes) ''' bl_idname = "scene.render_copy_settings_prepare" bl_label = "Render: Copy Settings Prepare" @@ -63,7 +64,8 @@ class RenderCopySettingsPrepare(bpy.types.Operator): def execute(self, context): cp_sett = context.scene.render_copy_settings - # Get all available render settings, and update accordingly affected_settings… + # Get all available render settings, and update accordingly + # affected_settings… props = {} for prop in context.scene.render.bl_rna.properties: if prop.identifier in {'rna_type'}: @@ -74,7 +76,7 @@ class RenderCopySettingsPrepare(bpy.types.Operator): corr = 0 for i, sett in enumerate(cp_sett.affected_settings): if sett.strid not in props: - cp_sett.affected_settings.remove(i-corr) + cp_sett.affected_settings.remove(i - corr) corr += 1 else: del props[sett.strid] @@ -92,18 +94,19 @@ class RenderCopySettingsPrepare(bpy.types.Operator): try: regex = re.compile(cp_sett.filter_scene) except Exception as e: - self.report('ERROR_INVALID_INPUT', "The filter-scene regex " \ - "did not compile:\n (%s)." % str(e)) + self.report('ERROR_INVALID_INPUT', "The filter-scene " \ + "regex did not compile:\n (%s)." % str(e)) return {'CANCELLED'} except: regex = None - self.report('WARNING', "Unable to import the re module. Regex " \ - "scene filtering will be disabled!") + self.report('WARNING', "Unable to import the re module. " \ + "Regex scene filtering will be disabled!") scenes = set() for scene in bpy.data.scenes: if scene == bpy.context.scene: # Exclude current scene! continue - if regex: # If a valid filtering regex, only keep scenes matching it. + # If a valid filtering regex, only keep scenes matching it. + if regex: if regex.match(scene.name): scenes.add(scene.name) else: @@ -163,7 +166,8 @@ class RenderCopySettingsPreset(bpy.types.Operator): def do_copy(context, affected_settings, allowed_scenes): # Stores render settings from current scene. - p = {sett: getattr(context.scene.render, sett) for sett in affected_settings} + p = {sett: getattr(context.scene.render, sett) \ + for sett in affected_settings} # put it in all other (valid) scenes’ render settings! for scene in bpy.data.scenes: # If scene not in allowed scenes, skip. @@ -188,9 +192,12 @@ class RenderCopySettings(bpy.types.Operator): def execute(self, context): regex = None cp_sett = context.scene.render_copy_settings - affected_settings = set([sett.strid for sett in cp_sett.affected_settings if sett.copy]) - allowed_scenes = set([sce.name for sce in cp_sett.allowed_scenes if sce.allowed]) - do_copy(context, affected_settings=affected_settings, allowed_scenes=allowed_scenes) + affected_settings = {sett.strid for sett in cp_sett.affected_settings \ + if sett.copy} + allowed_scenes = {sce.name for sce in cp_sett.allowed_scenes \ + if sce.allowed} + do_copy(context, affected_settings=affected_settings, + allowed_scenes=allowed_scenes) return {'FINISHED'} diff --git a/render_copy_settings/panel.py b/render_copy_settings/panel.py index 486f186c..d187fe07 100644 --- a/render_copy_settings/panel.py +++ b/render_copy_settings/panel.py @@ -34,32 +34,35 @@ class RENDER_PT_copy_settings(bpy.types.Panel): layout = self.layout cp_sett = context.scene.render_copy_settings - layout.operator("scene.render_copy_settings", text="Copy Render Settings") + layout.operator("scene.render_copy_settings", + text="Copy Render Settings") - # This will update affected_settings/allowed_scenes (as this seems to be impossible - # to do it from here…). + # This will update affected_settings/allowed_scenes (as this seems + # to be impossible to do it from here…). if bpy.ops.scene.render_copy_settings_prepare.poll(): bpy.ops.scene.render_copy_settings_prepare() split = layout.split(0.75) - split.template_list(cp_sett, "affected_settings", cp_sett, "aff_sett_idx", + split.template_list(cp_sett, "affected_settings", cp_sett, + "aff_sett_idx", prop_list="template_list_controls", rows=6) col = split.column() - all_set = {sett.strid for sett in cp_sett.affected_settings if sett.copy} + all_set = {sett.strid for sett in cp_sett.affected_settings \ + if sett.copy} for p in presets.presets: label = "" if p.elements & all_set == p.elements: label = "Clear {}".format(p.ui_name) else: label = "Set {}".format(p.ui_name) - col.operator("scene.render_copy_settings_preset", text=label, ).presets = {p.rna_enum[0]} + col.operator("scene.render_copy_settings_preset", + text=label).presets = {p.rna_enum[0]} layout.prop(cp_sett, "filter_scene") if len(cp_sett.allowed_scenes): layout.label("Affected Scenes:") # XXX Unfortunately, there can only be one template_list per panel… -# layout.template_list(cp_sett, "allowed_scenes", cp_sett, "allw_scenes_idx", rows=5) col = layout.column_flow(columns=0) for i, prop in enumerate(cp_sett.allowed_scenes): col.prop(prop, "allowed", toggle=True, text=prop.name) diff --git a/render_copy_settings/presets.py b/render_copy_settings/presets.py index 7ba6ff4e..d1037d39 100644 --- a/render_copy_settings/presets.py +++ b/render_copy_settings/presets.py @@ -18,6 +18,7 @@ # + class CopyPreset(object): def __init__(self, ui_name, rna_enum, elements): self.ui_name = ui_name @@ -26,21 +27,25 @@ class CopyPreset(object): presets = (CopyPreset("Resolution", - ("resolution", "Render Resolution", "Render resolution and aspect ratio settings"), - {"resolution_x", "resolution_y", "pixel_aspect_x", "pixel_aspect_y"}), + ("resolution", "Render Resolution", + "Render resolution and aspect ratio settings"), + {"resolution_x", "resolution_y", + "pixel_aspect_x", "pixel_aspect_y"}), CopyPreset("Scale", - ("scale", "Render Scale", "The “Render Scale” setting."), + ("scale", "Render Scale", "The “Render Scale” setting"), {"resolution_percentage"}), CopyPreset("OSA", - ("osa", "Render OSA", "The OSA toggle and sample settings."), + ("osa", "Render OSA", + "The OSA toggle and sample settings"), {"use_antialiasing", "antialiasing_samples"}), CopyPreset("Threads", - ("threads", "Render Threads", "The thread mode and number settings."), + ("threads", "Render Threads", + "The thread mode and number settings"), {"threads_mode", "threads"}), CopyPreset("Fields", - ("fields", "Render Fields", "The Fields settings."), + ("fields", "Render Fields", "The Fields settings"), {"use_fields", "field_order", "use_fields_still"}), CopyPreset("Stamp", - ("stamp", "Render Stamp", "The Stamp toggle."), + ("stamp", "Render Stamp", "The Stamp toggle"), {"use_stamp"}) ) -- cgit v1.2.3