From dbe3331a31fa8391e70f79f6bf4743b8f669bf88 Mon Sep 17 00:00:00 2001
From: Bastien Montagne <montagne29@wanadoo.fr>
Date: Mon, 19 Dec 2011 14:38:06 +0000
Subject: [PATCH] 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(-)

diff --git a/render_copy_settings/__init__.py b/render_copy_settings/__init__.py
index ee02f38c8..bf433b35d 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 830ce4a79..1d13fbbef 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 486f186cd..d187fe07b 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 7ba6ff4e4..d1037d39c 100644
--- a/render_copy_settings/presets.py
+++ b/render_copy_settings/presets.py
@@ -18,6 +18,7 @@
 
 # <pep8 compliant>
 
+
 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"})
           )
-- 
GitLab