diff options
Diffstat (limited to 'release/scripts/op/presets.py')
-rw-r--r-- | release/scripts/op/presets.py | 53 |
1 files changed, 22 insertions, 31 deletions
diff --git a/release/scripts/op/presets.py b/release/scripts/op/presets.py index 5af6fb00e98..76d84bc8b3d 100644 --- a/release/scripts/op/presets.py +++ b/release/scripts/op/presets.py @@ -4,45 +4,34 @@ # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # ##### END GPL LICENSE BLOCK ##### +# <pep8 compliant> + import bpy import os + class AddPresetBase(bpy.types.Operator): '''Base preset class, only for subclassing - subclasses must define + subclasses must define - preset_values - - preset_path ''' + - preset_subdir ''' bl_idname = "render.preset_add" bl_label = "Add Render Preset" - name = bpy.props.StringProperty(name="Name", description="Name of the preset, used to make the path name", maxlen= 64, default= "") + name = bpy.props.StringProperty(name="Name", description="Name of the preset, used to make the path name", maxlen=64, default="") - ''' - preset_values = [ - "bpy.context.scene.render_data.resolution_x", - "bpy.context.scene.render_data.resolution_y", - "bpy.context.scene.render_data.pixel_aspect_x", - "bpy.context.scene.render_data.pixel_aspect_y", - "bpy.context.scene.render_data.fps", - "bpy.context.scene.render_data.fps_base", - "bpy.context.scene.render_data.resolution_percentage", - ] - - preset_subdir = "render" - ''' - def _as_filename(self, name): # could reuse for other presets for char in " !@#$%^&*(){}:\";'[]<>,./?": name = name.replace('.', '_') @@ -51,25 +40,28 @@ class AddPresetBase(bpy.types.Operator): def execute(self, context): if not self.properties.name: - return ('FINISHED',) + return {'FINISHED'} filename = self._as_filename(self.properties.name) + ".py" target_path = bpy.utils.preset_paths(self.preset_subdir)[0] # we need some way to tell the user and system preset path file_preset = open(os.path.join(target_path, filename), 'w') - + for rna_path in self.preset_values: file_preset.write("%s = %s\n" % (rna_path, eval(rna_path))) file_preset.close() - return ('FINISHED',) + return {'FINISHED'} def invoke(self, context, event): wm = context.manager + #crashes, TODO - fix + #return wm.invoke_props_popup(self, event) + wm.invoke_props_popup(self, event) - return ('RUNNING_MODAL',) + return {'RUNNING_MODAL'} class AddPresetRender(AddPresetBase): @@ -114,13 +106,14 @@ class AddPresetSSS(AddPresetBase): ] preset_subdir = "sss" - + + class AddPresetCloth(AddPresetBase): '''Add a Cloth Preset.''' bl_idname = "cloth.preset_add" bl_label = "Add Cloth Preset" name = AddPresetBase.name - + preset_values = [ "bpy.context.cloth.settings.quality", "bpy.context.cloth.settings.mass", @@ -129,11 +122,9 @@ class AddPresetCloth(AddPresetBase): "bpy.context.cloth.settings.spring_damping", "bpy.context.cloth.settings.air_damping", ] - - preset_subdir = "cloth" - -bpy.ops.add(AddPresetRender) -bpy.ops.add(AddPresetSSS) -bpy.ops.add(AddPresetCloth) + preset_subdir = "cloth" +bpy.types.register(AddPresetRender) +bpy.types.register(AddPresetSSS) +bpy.types.register(AddPresetCloth) |