pep8 cleanup, also print message when attempting to run in animation player mode.

This commit is contained in:
Campbell Barton
2011-07-29 01:24:03 +00:00
parent 336a47cdcf
commit 2658949752
23 changed files with 118 additions and 68 deletions

View File

@@ -42,9 +42,9 @@ def replace_line(f, i, text, keep_indent=True):
l = data[i] l = data[i]
ws = l[:len(l) - len(l.lstrip())] ws = l[:len(l) - len(l.lstrip())]
data[i] = "%s%s\n" % (ws, text) data[i] = "%s%s\n" % (ws, text)
file_handle = open(f, 'w') file_handle = open(f, 'w')
file_handle.writelines(data) file_handle.writelines(data)
file_handle.close() file_handle.close()
@@ -182,13 +182,13 @@ def cmake_get_src(f):
if new_path_rel != l: if new_path_rel != l:
print("overly relative path:\n %s:%d\n %s\n %s" % (f, i, l, new_path_rel)) print("overly relative path:\n %s:%d\n %s\n %s" % (f, i, l, new_path_rel))
## Save time. just replace the line ## Save time. just replace the line
# replace_line(f, i - 1, new_path_rel) # replace_line(f, i - 1, new_path_rel)
else: else:
raise Exception("non existant include %s:%d -> %s" % (f, i, new_file)) raise Exception("non existant include %s:%d -> %s" % (f, i, new_file))
# print(new_file) # print(new_file)
global_h.update(set(sources_h)) global_h.update(set(sources_h))
@@ -206,7 +206,7 @@ def cmake_get_src(f):
if ff not in sources_c: if ff not in sources_c:
print(" missing: " + ff) print(" missing: " + ff)
''' '''
# reset # reset
sources_h[:] = [] sources_h[:] = []
sources_c[:] = [] sources_c[:] = []

View File

@@ -30,7 +30,18 @@ Example linux usage
Windows not supported so far Windows not supported so far
""" """
from project_info import * from project_info import (SIMPLE_PROJECTFILE,
SOURCE_DIR,
CMAKE_DIR,
PROJECT_DIR,
source_list,
is_project_file,
is_c_header,
is_py,
cmake_advanced_info,
cmake_compiler_defines,
)
import os import os
from os.path import join, dirname, normpath, relpath, exists from os.path import join, dirname, normpath, relpath, exists

View File

@@ -31,7 +31,17 @@ example linux usage
python .~/blenderSVN/blender/build_files/cmake/cmake_qtcreator_project.py ~/blenderSVN/cmake python .~/blenderSVN/blender/build_files/cmake/cmake_qtcreator_project.py ~/blenderSVN/cmake
""" """
from project_info import * from project_info import (SIMPLE_PROJECTFILE,
SOURCE_DIR,
CMAKE_DIR,
PROJECT_DIR,
source_list,
is_project_file,
is_c_header,
is_py,
cmake_advanced_info,
cmake_compiler_defines,
)
import os import os
import sys import sys

View File

@@ -8,11 +8,11 @@ from bge import constraints
# get object list # get object list
objects = logic.getCurrentScene().objects objects = logic.getCurrentScene().objects
# get object named Object1 and Object 2 # get object named Object1 and Object 2
object_1 = objects["Object1"] object_1 = objects["Object1"]
object_2 = objects["Object2"] object_2 = objects["Object2"]
# want to use Edge constraint type # want to use Edge constraint type
constraint_type = 2 constraint_type = 2
@@ -31,7 +31,7 @@ edge_angle_y = 1.0
edge_angle_z = 0.0 edge_angle_z = 0.0
# create an edge constraint # create an edge constraint
constraints.createConstraint( physics_id_1, physics_id_2, constraints.createConstraint(physics_id_1, physics_id_2,
constraint_type, constraint_type,
edge_position_x, edge_position_y, edge_position_z, edge_position_x, edge_position_y, edge_position_z,
edge_angle_x, edge_angle_y, edge_angle_z ) edge_angle_x, edge_angle_y, edge_angle_z)

View File

@@ -6,29 +6,31 @@ createTexture() and removeTexture() are to be called from a module Python
Controller. Controller.
""" """
from bge import logic from bge import logic
from bge import texture from bge import texture
def createTexture(cont): def createTexture(cont):
"""Create a new Dynamic Texture""" """Create a new Dynamic Texture"""
object = cont.owner object = cont.owner
# get the reference pointer (ID) of the internal texture # get the reference pointer (ID) of the internal texture
ID = texture.materialID(obj, 'IMoriginal.png') ID = texture.materialID(obj, 'IMoriginal.png')
# create a texture object # create a texture object
object_texture = texture.Texture(object, ID) object_texture = texture.Texture(object, ID)
# create a new source with an external image # create a new source with an external image
url = logic.expandPath("//newtexture.jpg") url = logic.expandPath("//newtexture.jpg")
new_source = texture.ImageFFmpeg(url) new_source = texture.ImageFFmpeg(url)
# the texture has to be stored in a permanent Python object # the texture has to be stored in a permanent Python object
logic.texture = object_texture logic.texture = object_texture
# update/replace the texture # update/replace the texture
logic.texture.source = new_source logic.texture.source = new_source
logic.texture.refresh(False) logic.texture.refresh(False)
def removeTexture(cont): def removeTexture(cont):
"""Delete the Dynamic Texture, reversing back the final to its original state.""" """Delete the Dynamic Texture, reversing back the final to its original state."""
try: try:

View File

@@ -9,14 +9,14 @@ from bge import logic
cont = logic.getCurrentController() cont = logic.getCurrentController()
obj = cont.owner obj = cont.owner
# the creation of the texture must be done once: save the # the creation of the texture must be done once: save the
# texture object in an attribute of bge.logic module makes it persistent # texture object in an attribute of bge.logic module makes it persistent
if not hasattr(logic, 'video'): if not hasattr(logic, 'video'):
# identify a static texture by name # identify a static texture by name
matID = texture.materialID(obj, 'IMvideo.png') matID = texture.materialID(obj, 'IMvideo.png')
# create a dynamic texture that will replace the static texture # create a dynamic texture that will replace the static texture
logic.video = texture.Texture(obj, matID) logic.video = texture.Texture(obj, matID)
@@ -24,7 +24,7 @@ if not hasattr(logic, 'video'):
movie = logic.expandPath('//trailer_400p.ogg') movie = logic.expandPath('//trailer_400p.ogg')
logic.video.source = texture.VideoFFmpeg(movie) logic.video.source = texture.VideoFFmpeg(movie)
logic.video.source.scale = True logic.video.source.scale = True
# quick off the movie, but it wont play in the background # quick off the movie, but it wont play in the background
logic.video.source.play() logic.video.source.play()

View File

@@ -1,6 +1,7 @@
""" """
Hello World Text Example Hello World Text Example
++++++++++++++++++++++++ ++++++++++++++++++++++++
Blender Game Engine example of using the blf module. For this module to work we Blender Game Engine example of using the blf module. For this module to work we
need to use the OpenGL wrapper :class:`~bgl` as well. need to use the OpenGL wrapper :class:`~bgl` as well.
""" """
@@ -11,31 +12,33 @@ from bge import logic
import bgl import bgl
import blf import blf
def init(): def init():
"""init function - runs once""" """init function - runs once"""
# create a new font object, use external ttf file # create a new font object, use external ttf file
font_path = logic.expandPath('//Zeyada.ttf') font_path = logic.expandPath('//Zeyada.ttf')
# store the font indice - to use later # store the font indice - to use later
logic.font_id = blf.load(font_path) logic.font_id = blf.load(font_path)
# set the font drawing routine to run every frame # set the font drawing routine to run every frame
scene = logic.getCurrentScene() scene = logic.getCurrentScene()
scene.post_draw=[write] scene.post_draw = [write]
def write(): def write():
"""write on screen""" """write on screen"""
width = render.getWindowWidth() width = render.getWindowWidth()
height = render.getWindowHeight() height = render.getWindowHeight()
# OpenGL setup # OpenGL setup
bgl.glMatrixMode(bgl.GL_PROJECTION) bgl.glMatrixMode(bgl.GL_PROJECTION)
bgl.glLoadIdentity() bgl.glLoadIdentity()
bgl.gluOrtho2D(0, width, 0, height) bgl.gluOrtho2D(0, width, 0, height)
bgl.glMatrixMode(bgl.GL_MODELVIEW) bgl.glMatrixMode(bgl.GL_MODELVIEW)
bgl.glLoadIdentity() bgl.glLoadIdentity()
# BLF drawing routine # BLF drawing routine
font_id = logic.font_id font_id = logic.font_id
blf.position(font_id, (width*0.2), (height*0.3), 0) blf.position(font_id, (width * 0.2), (height * 0.3), 0)
blf.size(font_id, 50, 72) blf.size(font_id, 50, 72)
blf.draw(font_id, "Hello World") blf.draw(font_id, "Hello World")

View File

@@ -33,6 +33,7 @@ import bpy as _bpy
error_duplicates = False error_duplicates = False
def paths(): def paths():
# RELEASE SCRIPTS: official scripts distributed in Blender releases # RELEASE SCRIPTS: official scripts distributed in Blender releases
paths = _bpy.utils.script_paths("addons") paths = _bpy.utils.script_paths("addons")

View File

@@ -43,6 +43,7 @@ from . import utils, path, ops
# fake operator module # fake operator module
ops = ops.ops_fake_module ops = ops.ops_fake_module
def _main(): def _main():
import sys as _sys import sys as _sys

View File

@@ -159,14 +159,19 @@ def axis_conversion(from_forward='Y', from_up='Z', to_forward='Y', to_up='Z'):
raise Exception("invalid axis arguments passed, " raise Exception("invalid axis arguments passed, "
"can't use up/forward on the same axis.") "can't use up/forward on the same axis.")
value = reduce(int.__or__, (_axis_convert_num[a] << (i * 3) for i, a in enumerate((from_forward, from_up, to_forward, to_up)))) value = reduce(int.__or__, (_axis_convert_num[a] << (i * 3)
for i, a in enumerate((from_forward,
from_up,
to_forward,
to_up,
))))
for i, axis_lut in enumerate(_axis_convert_lut): for i, axis_lut in enumerate(_axis_convert_lut):
if value in axis_lut: if value in axis_lut:
return Matrix(_axis_convert_matrix[i]) return Matrix(_axis_convert_matrix[i])
assert(0) assert(0)
def axis_conversion_ensure(operator, forward_attr, up_attr): def axis_conversion_ensure(operator, forward_attr, up_attr):
""" """
Function to ensure an operator has valid axis conversion settings, intended Function to ensure an operator has valid axis conversion settings, intended
@@ -174,9 +179,9 @@ def axis_conversion_ensure(operator, forward_attr, up_attr):
:arg operator: the operator to access axis attributes from. :arg operator: the operator to access axis attributes from.
:type operator: :class:`Operator` :type operator: :class:`Operator`
:arg forward_attr: :arg forward_attr: attribute storing the forward axis
:type forward_attr: string :type forward_attr: string
:arg up_attr: the directory the *filepath* will be referenced from (normally the export path). :arg up_attr: attribute storing the up axis
:type up_attr: string :type up_attr: string
:return: True if the value was modified. :return: True if the value was modified.
:rtype: boolean :rtype: boolean
@@ -184,9 +189,9 @@ def axis_conversion_ensure(operator, forward_attr, up_attr):
def validate(axis_forward, axis_up): def validate(axis_forward, axis_up):
if axis_forward[-1] == axis_up[-1]: if axis_forward[-1] == axis_up[-1]:
axis_up = axis_up[0:-1] + 'XYZ'[('XYZ'.index(axis_up[-1]) + 1) % 3] axis_up = axis_up[0:-1] + 'XYZ'[('XYZ'.index(axis_up[-1]) + 1) % 3]
return axis_forward, axis_up return axis_forward, axis_up
change = False change = False
axis = getattr(operator, forward_attr), getattr(operator, up_attr) axis = getattr(operator, forward_attr), getattr(operator, up_attr)

View File

@@ -170,8 +170,8 @@ def edge_loops_from_faces(mesh, faces=None, seams=()):
# from knowing the last 2, look for th next. # from knowing the last 2, look for th next.
ed_adj = edges[context_loop[-1]] ed_adj = edges[context_loop[-1]]
if len(ed_adj) != 2: if len(ed_adj) != 2:
# the original edge had 2 other edges
if other_dir and flipped == False: # the original edge had 2 other edges if other_dir and flipped == False:
flipped = True # only flip the list once flipped = True # only flip the list once
context_loop.reverse() context_loop.reverse()
ed_adj[:] = [] ed_adj[:] = []
@@ -259,13 +259,15 @@ def edge_loops_from_edges(mesh, edges=None):
def ngon_tesselate(from_data, indices, fix_loops=True): def ngon_tesselate(from_data, indices, fix_loops=True):
''' '''
Takes a polyline of indices (fgon) Takes a polyline of indices (fgon) and returns a list of face
and returns a list of face indicie lists. indicie lists. Designed to be used for importers that need indices for an
Designed to be used for importers that need indices for an fgon to create from existing verts. fgon to create from existing verts.
from_data: either a mesh, or a list/tuple of vectors. from_data: either a mesh, or a list/tuple of vectors.
indices: a list of indices to use this list is the ordered closed polyline to fill, and can be a subset of the data given. indices: a list of indices to use this list is the ordered closed polyline
fix_loops: If this is enabled polylines that use loops to make multiple polylines are delt with correctly. to fill, and can be a subset of the data given.
fix_loops: If this is enabled polylines that use loops to make multiple
polylines are delt with correctly.
''' '''
from mathutils.geometry import tesselate_polygon from mathutils.geometry import tesselate_polygon
@@ -276,7 +278,8 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
return [] return []
def mlen(co): def mlen(co):
return abs(co[0]) + abs(co[1]) + abs(co[2]) # manhatten length of a vector, faster then length # manhatten length of a vector, faster then length
return abs(co[0]) + abs(co[1]) + abs(co[2])
def vert_treplet(v, i): def vert_treplet(v, i):
return v, vector_to_tuple(v, 6), i, mlen(v) return v, vector_to_tuple(v, 6), i, mlen(v)
@@ -296,7 +299,8 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
else: else:
verts = [from_data.vertices[i].co for ii, i in enumerate(indices)] verts = [from_data.vertices[i].co for ii, i in enumerate(indices)]
for i in range(len(verts) - 1, 0, -1): # same as reversed(xrange(1, len(verts))): # same as reversed(range(1, len(verts))):
for i in range(len(verts) - 1, 0, -1):
if verts[i][1] == verts[i - 1][0]: if verts[i][1] == verts[i - 1][0]:
verts.pop(i - 1) verts.pop(i - 1)
@@ -304,14 +308,16 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
else: else:
''' '''
Seperate this loop into multiple loops be finding edges that are used twice Seperate this loop into multiple loops be finding edges that are
This is used by lightwave LWO files a lot used twice. This is used by lightwave LWO files a lot
''' '''
if type(from_data) in (tuple, list): if type(from_data) in (tuple, list):
verts = [vert_treplet(Vector(from_data[i]), ii) for ii, i in enumerate(indices)] verts = [vert_treplet(Vector(from_data[i]), ii)
for ii, i in enumerate(indices)]
else: else:
verts = [vert_treplet(from_data.vertices[i].co, ii) for ii, i in enumerate(indices)] verts = [vert_treplet(from_data.vertices[i].co, ii)
for ii, i in enumerate(indices)]
edges = [(i, i - 1) for i in range(len(verts))] edges = [(i, i - 1) for i in range(len(verts))]
if edges: if edges:

View File

@@ -21,6 +21,7 @@
import bpy import bpy
from mathutils import Vector from mathutils import Vector
def GlobalBB_LQ(bb_world): def GlobalBB_LQ(bb_world):
# Initialize the variables with the 8th vertex # Initialize the variables with the 8th vertex
@@ -33,7 +34,7 @@ def GlobalBB_LQ(bb_world):
) )
# Test against the other 7 verts # Test against the other 7 verts
for i in range (7): for i in range(7):
# X Range # X Range
val = bb_world[i][0] val = bb_world[i][0]
@@ -61,6 +62,7 @@ def GlobalBB_LQ(bb_world):
return (Vector((left, front, up)), Vector((right, back, down))) return (Vector((left, front, up)), Vector((right, back, down)))
def GlobalBB_HQ(obj): def GlobalBB_HQ(obj):
matrix_world = obj.matrix_world.copy() matrix_world = obj.matrix_world.copy()
@@ -80,7 +82,7 @@ def GlobalBB_HQ(obj):
) )
# Test against all other verts # Test against all other verts
for i in range (len(verts)-1): for i in range(len(verts) - 1):
vco = matrix_world * verts[i].co vco = matrix_world * verts[i].co

View File

@@ -93,7 +93,7 @@ class WORLD_PT_world(WorldButtonsPanel, bpy.types.Panel):
col.prop(world, "zenith_color") col.prop(world, "zenith_color")
col.active = world.use_sky_blend col.active = world.use_sky_blend
row.column().prop(world, "ambient_color") row.column().prop(world, "ambient_color")
row = layout.row() row = layout.row()
row.prop(world, "exposure") row.prop(world, "exposure")
row.prop(world, "color_range") row.prop(world, "color_range")

View File

@@ -60,7 +60,7 @@ class INFO_HT_header(bpy.types.Header):
layout.template_running_jobs() layout.template_running_jobs()
layout.template_reports_banner() layout.template_reports_banner()
row = layout.row(align=True) row = layout.row(align=True)
row.operator("wm.splash", text="", icon='BLENDER', emboss=False) row.operator("wm.splash", text="", icon='BLENDER', emboss=False)
row.label(text=scene.statistics()) row.label(text=scene.statistics())

View File

@@ -135,7 +135,7 @@ class NODE_MT_node(bpy.types.Menu):
layout.operator("transform.resize") layout.operator("transform.resize")
layout.separator() layout.separator()
layout.operator("node.duplicate_move") layout.operator("node.duplicate_move")
layout.operator("node.delete") layout.operator("node.delete")
layout.operator("node.delete_reconnect") layout.operator("node.delete_reconnect")

View File

@@ -1020,7 +1020,6 @@ class USERPREF_PT_addons(bpy.types.Panel):
for i in range(4 - tot_row): for i in range(4 - tot_row):
split.separator() split.separator()
# Append missing scripts # Append missing scripts
# First collect scripts that are used but have no script file. # First collect scripts that are used but have no script file.
module_names = {mod.__name__ for mod, info in addons} module_names = {mod.__name__ for mod, info in addons}

View File

@@ -55,7 +55,7 @@ class VIEW3D_HT_header(bpy.types.Header):
row = layout.row() row = layout.row()
# Contains buttons like Mode, Pivot, Manipulator, Layer, Mesh Select Mode... # Contains buttons like Mode, Pivot, Manipulator, Layer, Mesh Select Mode...
row.template_header_3D() row.template_header_3D()
if obj: if obj:
# Particle edit # Particle edit

View File

@@ -58,6 +58,7 @@ def draw_gpencil_tools(context, layout):
row = col.row() row = col.row()
row.prop(context.tool_settings, "use_grease_pencil_sessions") row.prop(context.tool_settings, "use_grease_pencil_sessions")
# ********** default tools for objectmode **************** # ********** default tools for objectmode ****************
class VIEW3D_PT_tools_objectmode(View3DPanel, bpy.types.Panel): class VIEW3D_PT_tools_objectmode(View3DPanel, bpy.types.Panel):

View File

@@ -26,7 +26,7 @@ for obj in selection:
# bpy.ops.export_scene.x3d(filepath=fn + ".x3d", use_selection=True) # bpy.ops.export_scene.x3d(filepath=fn + ".x3d", use_selection=True)
obj.select = False obj.select = False
print("written:", fn) print("written:", fn)
for obj in selection: for obj in selection:

View File

@@ -26,8 +26,8 @@ class CustomMenu(bpy.types.Menu):
def draw_item(self, context): def draw_item(self, context):
layout = self.layout layout = self.layout
layout.menu(CustomMenu.bl_idname) layout.menu(CustomMenu.bl_idname)
def register(): def register():

View File

@@ -155,7 +155,8 @@ void WM_init(bContext *C, int argc, const char **argv)
BPY_python_start(argc, argv); BPY_python_start(argc, argv);
BPY_driver_reset(); BPY_driver_reset();
BPY_app_handlers_reset(); BPY_app_handlers_reset(); /* causes addon callbacks to be freed [#28068],
* but this is actually what we want. */
BPY_modules_load_user(C); BPY_modules_load_user(C);
#else #else
(void)argc; /* unused */ (void)argc; /* unused */

View File

@@ -434,9 +434,12 @@ static int playback_mode(int UNUSED(argc), const char **UNUSED(argv), void *UNUS
{ {
/* not if -b was given first */ /* not if -b was given first */
if (G.background == 0) { if (G.background == 0) {
#if 0 /* TODO, bring player back? */
// XXX playanim(argc, argv); /* not the same argc and argv as before */ playanim(argc, argv); /* not the same argc and argv as before */
#else
fprintf(stderr, "Playback mode not supported in blender 2.5x\n");
exit(0); exit(0);
#endif
} }
return -2; return -2;

View File

@@ -28,6 +28,7 @@ SKIP_DIRS = ("extern",
os.path.join("source", "tests"), # not this dir os.path.join("source", "tests"), # not this dir
) )
def is_c_header(filename): def is_c_header(filename):
ext = splitext(filename)[1] ext = splitext(filename)[1]
return (ext in (".h", ".hpp", ".hxx")) return (ext in (".h", ".hpp", ".hxx"))
@@ -41,13 +42,16 @@ def is_c(filename):
def is_c_any(filename): def is_c_any(filename):
return is_c(filename) or is_c_header(filename) return is_c(filename) or is_c_header(filename)
def is_py(filename): def is_py(filename):
ext = splitext(filename)[1] ext = splitext(filename)[1]
return (ext == ".py") return (ext == ".py")
def is_source_any(filename): def is_source_any(filename):
return is_c_any(filename) or is_py(filename) return is_c_any(filename) or is_py(filename)
def source_list(path, filename_check=None): def source_list(path, filename_check=None):
for dirpath, dirnames, filenames in os.walk(path): for dirpath, dirnames, filenames in os.walk(path):
@@ -67,7 +71,7 @@ def deprecations():
/* *DEPRECATED* 2011/7/17 bgl.Buffer.list info text */ /* *DEPRECATED* 2011/7/17 bgl.Buffer.list info text */
Or... Or...
# *DEPRECATED* 2010/12/22 some.py.func more info */ # *DEPRECATED* 2010/12/22 some.py.func more info */
""" """
@@ -105,12 +109,12 @@ def deprecations():
if len(data) != 3: if len(data) != 3:
print(" poorly formatting line:\n" print(" poorly formatting line:\n"
" %r:%d\n" " %r:%d\n"
" %s"% " %s" %
(fn, i + 1, l) (fn, i + 1, l)
) )
else: else:
data = datetime.datetime(*tuple([int(w) for w in data])) data = datetime.datetime(*tuple([int(w) for w in data]))
deprecations_ls.append((data, (fn, i + 1), info)) deprecations_ls.append((data, (fn, i + 1), info))
except: except:
print("Error file - %r:%d" % (fn, i + 1)) print("Error file - %r:%d" % (fn, i + 1))
@@ -123,10 +127,11 @@ def deprecations():
return deprecations_ls return deprecations_ls
def main(): def main():
import datetime import datetime
now = datetime.datetime.now()\ now = datetime.datetime.now()\
deps = deprecations() deps = deprecations()
print("\nAll deprecations...") print("\nAll deprecations...")