diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2012-12-01 20:16:15 -0600 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2012-12-03 14:40:48 -0600 |
commit | 39c340f2807a72a2f255bc9461da1054ba0941b1 (patch) | |
tree | 69ae7a912b3e8cb4b71d1814fee11eac5ab45d10 | |
parent | 8bef424f24fce5b8e1119a1bf5d7045fcfc6d407 (diff) | |
download | mediagoblin-39c340f2807a72a2f255bc9461da1054ba0941b1.tar.lz mediagoblin-39c340f2807a72a2f255bc9461da1054ba0941b1.tar.xz mediagoblin-39c340f2807a72a2f255bc9461da1054ba0941b1.zip |
Moving blender render files to be accessed via pkg_resources
Previously the .blend and .py files had to be in the same directory
mediagoblin/celery launched from. This is now fixed so it pulls them
out of the package proper.
-rw-r--r-- | mediagoblin/media_types/stl/assets/blender_render.blend (renamed from blender_render.blend) | bin | 401296 -> 401296 bytes | |||
-rw-r--r-- | mediagoblin/media_types/stl/assets/blender_render.py (renamed from blender_render.py) | 0 | ||||
-rw-r--r-- | mediagoblin/media_types/stl/processing.py | 39 |
3 files changed, 28 insertions, 11 deletions
diff --git a/blender_render.blend b/mediagoblin/media_types/stl/assets/blender_render.blend Binary files differindex dd356a06..dd356a06 100644 --- a/blender_render.blend +++ b/mediagoblin/media_types/stl/assets/blender_render.blend diff --git a/blender_render.py b/mediagoblin/media_types/stl/assets/blender_render.py index 99d5fa31..99d5fa31 100644 --- a/blender_render.py +++ b/mediagoblin/media_types/stl/assets/blender_render.py diff --git a/mediagoblin/media_types/stl/processing.py b/mediagoblin/media_types/stl/processing.py index 35ac7ea9..97b7ac2e 100644 --- a/mediagoblin/media_types/stl/processing.py +++ b/mediagoblin/media_types/stl/processing.py @@ -18,6 +18,7 @@ import os import json import logging import subprocess +import pkg_resources from mediagoblin import mg_globals as mgg from mediagoblin.processing import create_pub_filepath, \ @@ -29,6 +30,17 @@ from mediagoblin.media_types.stl import model_loader _log = logging.getLogger(__name__) SUPPORTED_FILETYPES = ['stl', 'obj'] +BLEND_FILE = pkg_resources.resource_filename( + 'mediagoblin.media_types.stl', + os.path.join( + 'assets', + 'blender_render.blend')) +BLEND_SCRIPT = pkg_resources.resource_filename( + 'mediagoblin.media_types.stl', + os.path.join( + 'assets', + 'blender_render.py')) + def sniff_handler(media_file, **kw): if kw.get('media') is not None: @@ -55,7 +67,12 @@ def blender_render(config): arg_string = "blender -b blender_render.blend -F " arg_string +="JPEG -P blender_render.py" env = {"RENDER_SETUP" : json.dumps(config), "DISPLAY":":0"} - subprocess.call(arg_string.split(" "), env=env) + subprocess.call( + ["blender", + "-b", BLEND_FILE, + "-F", "JPEG", + "-P", BLEND_SCRIPT], + env=env) def process_stl(entry): @@ -93,16 +110,16 @@ def process_stl(entry): path = create_pub_filepath(entry, name_builder.fill(name)) render_file = mgg.public_store.get_file(path, "wb") shot = { - "model_path" : queued_filename, - "model_ext" : ext, - "camera_coord" : camera, - "camera_focus" : model.average, - "camera_clip" : greatest*10, - "greatest" : greatest, - "projection" : project, - "width" : width, - "height" : height, - "out_file" : render_file.name, + "model_path": queued_filename, + "model_ext": ext, + "camera_coord": camera, + "camera_focus": model.average, + "camera_clip": greatest*10, + "greatest": greatest, + "projection": project, + "width": width, + "height": height, + "out_file": render_file.name, } render_file.close() blender_render(shot) |