new python module constants
authorCampbell Barton <ideasman42@gmail.com>
Mon, 28 Dec 2009 10:00:04 +0000 (10:00 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Mon, 28 Dec 2009 10:00:04 +0000 (10:00 +0000)
* bpy.home - result of BLI_gethome()
* bpy.version - BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION
* bpy.version_string, as above, formatted: "%d.%02d (sub %d)"

release/scripts/io/export_fbx.py
release/scripts/io/export_obj.py
release/scripts/io/export_ply.py
release/scripts/modules/bpy/__init__.py
source/blender/python/intern/bpy_interface.c

index 1899e4f4a84611b55be2bb0e8f2aeee3dfd01d77..6407f9b6e49a01c6e7960cb77554ee4dd681aff9 100644 (file)
@@ -651,8 +651,8 @@ def write(filename, batch_objects = None, \
 }''' % (curtime))
 
     file.write('\nCreationTime: "%.4i-%.2i-%.2i %.2i:%.2i:%.2i:000"' % curtime)
-    file.write('\nCreator: "Blender3D version 2.5"')
-#      file.write('\nCreator: "Blender3D version %.2f"' % Blender.Get('version'))
+    file.write('\nCreator: "Blender3D version %s"' % bpy.version_string)
+
 
     pose_items = [] # list of (fbxName, matrix) to write pose data for, easier to collect allong the way
 
index 5b55c5159a6cbc4165e4e91472d13a009ecc3115..6135375d18530edd9ccfbb04d209fe19dddf4769 100644 (file)
@@ -40,29 +40,6 @@ All objects that can be represented as a mesh (mesh, curve, metaball, surface, t
 will be exported as mesh data.
 """
 
-
-# --------------------------------------------------------------------------
-# OBJ Export v1.1 by Campbell Barton (AKA Ideasman)
-# --------------------------------------------------------------------------
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# 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 LICENCE BLOCK *****
-# --------------------------------------------------------------------------
-
 # import math and other in functions that use them for the sake of fast Blender startup
 # import math
 import os
@@ -384,8 +361,7 @@ def write(filename, objects, scene,
     file = open(filename, "w")
 
     # Write Header
-    version = "2.5"
-    file.write('# Blender3D v%s OBJ File: %s\n' % (version, bpy.data.filename.split('/')[-1].split('\\')[-1] ))
+    file.write('# Blender3D v%s OBJ File: %s\n' % (bpy.version_string, bpy.data.filename.split('/')[-1].split('\\')[-1] ))
     file.write('# www.blender3d.org\n')
 
     # Tell the obj file what material file to use.
index f3f4948fc5746639a9a153ec453aff361770b286..3c9e1f86ee2d647e3f0f8003ded3f81fee764bee 100644 (file)
@@ -205,8 +205,7 @@ def write(filename, scene, ob, \
 
     file.write('ply\n')
     file.write('format ascii 1.0\n')
-    version = "2.5" # Blender.Get('version')
-    file.write('comment Created by Blender3D %s - www.blender.org, source file: %s\n' % (version, bpy.data.filename.split('/')[-1].split('\\')[-1]))
+    file.write('comment Created by Blender3D %s - www.blender.org, source file: %s\n' % (bpy.version_string, bpy.data.filename.split('/')[-1].split('\\')[-1]))
 
     file.write('element vertex %d\n' % len(ply_verts))
 
@@ -327,3 +326,4 @@ bpy.types.INFO_MT_file_export.append(menu_func)
 
 if __name__ == "__main__":
     bpy.ops.export.ply(path="/tmp/test.ply")
+
index 5fd0d17630d41b2ea843981bb0c7600d9c4cc556..65bf75b43e928d51dd2c582b542e300a47b8a725 100644 (file)
@@ -99,4 +99,10 @@ def _main():
     else:
         load_scripts()
 
+
+# constants
+version = _bpy._VERSION
+version_string = _bpy._VERSION_STR
+home = _bpy._HOME
+
 _main()
index 44e3c5a2dd58b5fcad18c85f15bcd0003ca08db1..5ac3a233e113956cef9fae73d20c4e5a2837eedc 100644 (file)
@@ -59,6 +59,7 @@
 #include "BLI_fileops.h"
 #include "BLI_string.h"
 
+#include "BKE_blender.h"
 #include "BKE_context.h"
 #include "BKE_text.h"
 #include "BKE_context.h"
@@ -220,6 +221,16 @@ static void bpy_init_modules( void )
                PyModule_AddObject(mod, "context", (PyObject *)bpy_context_module);
        }
 
+       /* blender info that wont change at runtime, add into _bpy */
+       {
+               PyObject *mod_dict= PyModule_GetDict(mod);
+               char tmpstr[256];
+               PyModule_AddStringConstant(mod, "_HOME",  BLI_gethome());
+               PyDict_SetItemString(mod_dict, "_VERSION", Py_BuildValue("(iii)", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION));
+               sprintf(tmpstr, "%d.%02d (sub %d)", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION);
+               PyModule_AddStringConstant(mod, "_VERSION_STR",  tmpstr);
+       }
+
        /* add our own modules dir, this is a python package */
        bpy_import_test("bpy");
 }