[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24194] trunk/blender: pep8 compliance for bpy_ops.py

Campbell Barton ideasman42 at gmail.com
Sat Oct 31 02:23:50 CET 2009


Revision: 24194
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24194
Author:   campbellbarton
Date:     2009-10-31 02:23:49 +0100 (Sat, 31 Oct 2009)

Log Message:
-----------
pep8 compliance for bpy_ops.py
add bpy.props to the modules so you can do...
 from bpy.props import *

Modified Paths:
--------------
    trunk/blender/release/scripts/modules/bpy_ops.py
    trunk/blender/source/blender/python/intern/bpy_rna.c

Modified: trunk/blender/release/scripts/modules/bpy_ops.py
===================================================================
--- trunk/blender/release/scripts/modules/bpy_ops.py	2009-10-30 21:56:09 UTC (rev 24193)
+++ trunk/blender/release/scripts/modules/bpy_ops.py	2009-10-31 01:23:49 UTC (rev 24194)
@@ -1,424 +1,509 @@
 # for slightly faster access
-from bpy.__ops__ import add		as op_add
-from bpy.__ops__ import remove		as op_remove
-from bpy.__ops__ import dir		as op_dir
-from bpy.__ops__ import call		as op_call
-from bpy.__ops__ import as_string	as op_as_string
-from bpy.__ops__ import get_rna	as op_get_rna
+from bpy.__ops__ import add        as op_add
+from bpy.__ops__ import remove     as op_remove
+from bpy.__ops__ import dir        as op_dir
+from bpy.__ops__ import call       as op_call
+from bpy.__ops__ import as_string  as op_as_string
+from bpy.__ops__ import get_rna    as op_get_rna
 
 # Keep in sync with WM_types.h
 context_dict = {
-	'INVOKE_DEFAULT':0,
-	'INVOKE_REGION_WIN':1,
-	'INVOKE_AREA':2,
-	'INVOKE_SCREEN':3,
-	'EXEC_DEFAULT':4,
-	'EXEC_REGION_WIN':5,
-	'EXEC_AREA':6,
-	'EXEC_SCREEN':7,
+    'INVOKE_DEFAULT': 0,
+    'INVOKE_REGION_WIN': 1,
+    'INVOKE_AREA': 2,
+    'INVOKE_SCREEN': 3,
+    'EXEC_DEFAULT': 4,
+    'EXEC_REGION_WIN': 5,
+    'EXEC_AREA': 6,
+    'EXEC_SCREEN': 7,
 }
 
+
 class bpy_ops(object):
-	'''
-	Fake module like class.
+    '''
+    Fake module like class.
 
-	 bpy.ops
-	'''
+     bpy.ops
+    '''
 
-	def __getattr__(self, module):
-		'''
-		gets a bpy.ops submodule
-		'''
-		if module.startswith('__'):
-			raise AttributeError(module)
-		return bpy_ops_submodule(module)
-		
-	def add(self, pyop):
-		op_add(pyop)
-	
-	def remove(self, pyop):
-		op_remove(pyop)
-	
-	def __dir__(self):
-		
-		submodules = set()
-		
-		# add this classes functions
-		for id_name in dir(self.__class__):
-			if not id_name.startswith('__'):
-				submodules.add(id_name)
-		
-		for id_name in op_dir():
-			id_split = id_name.split('_OT_', 1)
-			
-			if len(id_split) == 2:
-				submodules.add(id_split[0].lower())
-			else:
-				submodules.add(id_split[0])
-		
-		return list(submodules)
-		
-	def __repr__(self):
-		return "<module like class 'bpy.ops'>"
+    def __getattr__(self, module):
+        '''
+        gets a bpy.ops submodule
+        '''
+        if module.startswith('__'):
+            raise AttributeError(module)
+        return bpy_ops_submodule(module)
 
+    def add(self, pyop):
+        op_add(pyop)
 
+    def remove(self, pyop):
+        op_remove(pyop)
+
+    def __dir__(self):
+
+        submodules = set()
+
+        # add this classes functions
+        for id_name in dir(self.__class__):
+            if not id_name.startswith('__'):
+                submodules.add(id_name)
+
+        for id_name in op_dir():
+            id_split = id_name.split('_OT_', 1)
+
+            if len(id_split) == 2:
+                submodules.add(id_split[0].lower())
+            else:
+                submodules.add(id_split[0])
+
+        return list(submodules)
+
+    def __repr__(self):
+        return "<module like class 'bpy.ops'>"
+
+
 class bpy_ops_submodule(object):
-	'''
-	Utility class to fake submodules.
-	
-	eg. bpy.ops.object
-	'''
-	__keys__ = ('module',)
-	
-	def __init__(self, module):
-		self.module = module
-		
-	def __getattr__(self, func):
-		'''
-		gets a bpy.ops.submodule function
-		'''
-		return bpy_ops_submodule_op(self.module, func)
-		
-	def __dir__(self):
-		
-		functions = set()
-		
-		module_upper = self.module.upper()
-		
-		for id_name in op_dir():
-			id_split = id_name.split('_OT_', 1)
-			if len(id_split) == 2 and module_upper == id_split[0]:
-				functions.add(id_split[1])
-		
-		return list(functions)
-	
-	def __repr__(self):
-		return "<module like class 'bpy.ops.%s'>" % self.module
+    '''
+    Utility class to fake submodules.
 
+    eg. bpy.ops.object
+    '''
+    __keys__ = ('module',)
+
+    def __init__(self, module):
+        self.module = module
+
+    def __getattr__(self, func):
+        '''
+        gets a bpy.ops.submodule function
+        '''
+        return bpy_ops_submodule_op(self.module, func)
+
+    def __dir__(self):
+
+        functions = set()
+
+        module_upper = self.module.upper()
+
+        for id_name in op_dir():
+            id_split = id_name.split('_OT_', 1)
+            if len(id_split) == 2 and module_upper == id_split[0]:
+                functions.add(id_split[1])
+
+        return list(functions)
+
+    def __repr__(self):
+        return "<module like class 'bpy.ops.%s'>" % self.module
+
+
 class bpy_ops_submodule_op(object):
-	'''
-	Utility class to fake submodule operators.
-	
-	eg. bpy.ops.object.somefunc
-	'''
-	__keys__ = ('module', 'func')
-	def __init__(self, module, func):
-		self.module = module
-		self.func = func
-	
-	def idname(self):
-		# submod.foo -> SUBMOD_OT_foo
-		return self.module.upper() + '_OT_' + self.func
-	
-	def __call__(self, *args, **kw):
-		
-		# Get the operator from blender
-		if len(args) > 2:
-			raise ValueError("only 1 or 2 arguments for the execution context is supported")
-		
-		C_dict = None
-		
-		if args:
-			
-			C_exec = 'EXEC_DEFAULT'
-			
-			if len(args) == 2:
-				C_exec = args[0]
-				C_dict = args[1]
-			else:
-				if type(args[0]) != str:
-					C_dict= args[0]
-				else:
-					C_exec= args[0]
-			
-			try:
-				context = context_dict[C_exec]
-			except:
-				raise ValueError("Expected a single context argument in: " + str(list(context_dict.keys())))
-			
-			if len(args) == 2:
-				C_dict= args[1]
-			
-			return op_call(self.idname() , C_dict, kw, context)
-		
-		else:
-			return op_call(self.idname(), C_dict, kw)
-	
-	def get_rna(self):
-		'''
-		currently only used for '__rna__'
-		'''
-		return op_get_rna(self.idname())
-			
-	
-	def __repr__(self): # useful display, repr(op)
-		return op_as_string(self.idname())
-	
-	def __str__(self): # used for print(...)
-		return "<function bpy.ops.%s.%s at 0x%x'>" % (self.module, self.func, id(self))
+    '''
+    Utility class to fake submodule operators.
 
+    eg. bpy.ops.object.somefunc
+    '''
+
+    __keys__ = ('module', 'func')
+
+    def __init__(self, module, func):
+        self.module = module
+        self.func = func
+
+    def idname(self):
+        # submod.foo -> SUBMOD_OT_foo
+        return self.module.upper() + '_OT_' + self.func
+
+    def __call__(self, *args, **kw):
+
+        # Get the operator from blender
+        if len(args) > 2:
+            raise ValueError("1 or 2 args execution context is supported")
+
+        C_dict = None
+
+        if args:
+
+            C_exec = 'EXEC_DEFAULT'
+
+            if len(args) == 2:
+                C_exec = args[0]
+                C_dict = args[1]
+            else:
+                if type(args[0]) != str:
+                    C_dict = args[0]
+                else:
+                    C_exec = args[0]
+
+            try:
+                context = context_dict[C_exec]
+            except:
+                raise ValueError("Expected a single context argument in: " + \
+                 str(list(context_dict.keys())))
+
+            if len(args) == 2:
+                C_dict = args[1]
+
+            return op_call(self.idname(), C_dict, kw, context)
+
+        else:
+            return op_call(self.idname(), C_dict, kw)
+
+    def get_rna(self):
+        '''
+        currently only used for '__rna__'
+        '''
+        return op_get_rna(self.idname())
+
+    def __repr__(self): # useful display, repr(op)
+        return op_as_string(self.idname())
+
+    def __str__(self): # used for print(...)
+        return "<function bpy.ops.%s.%s at 0x%x'>" % \
+                (self.module, self.func, id(self))
+
 import bpy
 bpy.ops = bpy_ops()
 
 # TODO, C macro's cant define settings :|
 
+from bpy.props import *
+
+
 class MESH_OT_delete_edgeloop(bpy.types.Operator):
-	'''Export a single object as a stanford PLY with normals, colours and texture coordinates.'''
-	__idname__ = "mesh.delete_edgeloop"
-	__label__ = "Delete Edge Loop"
-	
-	def execute(self, context):
-		bpy.ops.tfm.edge_slide(value=1.0)
-		bpy.ops.mesh.select_more()
-		bpy.ops.mesh.remove_doubles()
-		return ('FINISHED',)
+    '''Export a single object as a stanford PLY with normals,
+    colours and texture coordinates.'''
+    __idname__ = "mesh.delete_edgeloop"
+    __label__ = "Delete Edge Loop"
 
-rna_path_prop = bpy.props.StringProperty(attr="path", name="Context Attributes", description="rna context string", maxlen= 1024, default= "")
-rna_reverse_prop = bpy.props.BoolProperty(attr="reverse", name="Reverse", description="Cycle backwards", default= False)
+    def execute(self, context):
+        bpy.ops.tfm.edge_slide(value=1.0)
+        bpy.ops.mesh.select_more()
+        bpy.ops.mesh.remove_doubles()
+        return ('FINISHED',)
 
+rna_path_prop = StringProperty(attr="path", name="Context Attributes",
+        description="rna context string", maxlen=1024, default="")
+
+rna_reverse_prop = BoolProperty(attr="reverse", name="Reverse",
+        description="Cycle backwards", default=False)
+
+
 class NullPathMember:
-	pass
+    pass
 
+
 def context_path_validate(context, path):
-	import sys
-	try:
-		value = eval("context.%s" % path)
-	except AttributeError:
-		if "'NoneType'" in str(sys.exc_info()[1]):
-			# One of the items in the rna path is None, just ignore this
-			value = NullPathMember
-		else:
-			# We have a real error in the rna path, dont ignore that
-			raise
-	
-	return value
-		
-	
+    import sys
+    try:
+        value = eval("context.%s" % path)
+    except AttributeError:
+        if "'NoneType'" in str(sys.exc_info()[1]):
+            # One of the items in the rna path is None, just ignore this
+            value = NullPathMember
+        else:
+            # We have a real error in the rna path, dont ignore that
+            raise
 
+    return value
+
+
 def execute_context_assign(self, context):
-	if context_path_validate(context, self.path) == NullPathMember:
-		return ('PASS_THROUGH',)
-	
-	exec("context.%s=self.value" % self.path)
-	return ('FINISHED',)
+    if context_path_validate(context, self.path) == NullPathMember:
+        return ('PASS_THROUGH',)
 
+    exec("context.%s=self.value" % self.path)
+    return ('FINISHED',)
+
+
 class WM_OT_context_set_boolean(bpy.types.Operator):
-	'''Set a context value.'''
-	__idname__ = "wm.context_set_boolean"
-	__label__ = "Context Set"
-	__props__ = [rna_path_prop, bpy.props.BoolProperty(attr="value", name="Value", description="Assignment value", default= True)]
-	execute = execute_context_assign
+    '''Set a context value.'''

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list