[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20071] trunk/blender/release/scripts: [ #18695] Replace python errors with useful messages when no full python installation is found
Campbell Barton
ideasman42 at gmail.com
Tue May 5 23:51:56 CEST 2009
Revision: 20071
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20071
Author: campbellbarton
Date: 2009-05-05 23:51:54 +0200 (Tue, 05 May 2009)
Log Message:
-----------
[#18695] Replace python errors with useful messages when no full python installation is found
from Philipp Oeser (lichtwerk)
Modified Paths:
--------------
trunk/blender/release/scripts/3ds_export.py
trunk/blender/release/scripts/DirectX8Exporter.py
trunk/blender/release/scripts/add_mesh_torus.py
trunk/blender/release/scripts/export_dxf.py
trunk/blender/release/scripts/export_fbx.py
trunk/blender/release/scripts/help_bpy_api.py
trunk/blender/release/scripts/help_getting_started.py
trunk/blender/release/scripts/help_manual.py
trunk/blender/release/scripts/help_release_notes.py
trunk/blender/release/scripts/help_tutorials.py
trunk/blender/release/scripts/help_web_blender.py
trunk/blender/release/scripts/help_web_devcomm.py
trunk/blender/release/scripts/help_web_eshop.py
trunk/blender/release/scripts/help_web_usercomm.py
trunk/blender/release/scripts/lightwave_export.py
Modified: trunk/blender/release/scripts/3ds_export.py
===================================================================
--- trunk/blender/release/scripts/3ds_export.py 2009-05-05 21:47:58 UTC (rev 20070)
+++ trunk/blender/release/scripts/3ds_export.py 2009-05-05 21:51:54 UTC (rev 20071)
@@ -7,7 +7,7 @@
Tooltip: 'Export to 3DS file format (.3ds).'
"""
-__author__ = ["Campbell Barton", "Bob Holcomb", "Richard L\xE4rk\xE4ng", "Damien McGinnes", "Mark Stijnman"]
+__author__ = ["Campbell Barton", "Bob Holcomb", "Richard Lärkäng", "Damien McGinnes", "Mark Stijnman"]
__url__ = ("blenderartists.org", "www.blender.org", "www.gametutorials.com", "lib3ds.sourceforge.net/")
__version__ = "0.90a"
__bpydoc__ = """\
@@ -50,7 +50,10 @@
import bpy
from BPyMesh import getMeshFromObject
from BPyObject import getDerivedObjects
-import struct
+try:
+ import struct
+except:
+ struct = None
# So 3ds max can open files, limit names to 12 in length
# this is verry annoying for filenames!
@@ -1009,5 +1012,8 @@
if __name__=='__main__':
- Blender.Window.FileSelector(save_3ds, "Export 3DS", Blender.sys.makename(ext='.3ds'))
+ if struct:
+ Blender.Window.FileSelector(save_3ds, "Export 3DS", Blender.sys.makename(ext='.3ds'))
+ else:
+ Blender.Draw.PupMenu("Error%t|This script requires a full python installation")
# save_3ds('/test_b.3ds')
Modified: trunk/blender/release/scripts/DirectX8Exporter.py
===================================================================
--- trunk/blender/release/scripts/DirectX8Exporter.py 2009-05-05 21:47:58 UTC (rev 20070)
+++ trunk/blender/release/scripts/DirectX8Exporter.py 2009-05-05 21:51:54 UTC (rev 20071)
@@ -45,7 +45,8 @@
from Blender.Mathutils import *
from Blender import Draw, BGL
from Blender.BGL import *
-import math
+try: import math
+except: math = None
global mat_flip,index_list,space,bone_list,mat_dict
global anim,flip_norm,swap_zy,flip_z,speed,ticks,no_light,recalc_norm,Bl_norm
Modified: trunk/blender/release/scripts/add_mesh_torus.py
===================================================================
--- trunk/blender/release/scripts/add_mesh_torus.py 2009-05-05 21:47:58 UTC (rev 20070)
+++ trunk/blender/release/scripts/add_mesh_torus.py 2009-05-05 21:51:54 UTC (rev 20071)
@@ -6,7 +6,8 @@
"""
import BPyAddMesh
import Blender
-from math import cos, sin, pi
+try: from math import cos, sin, pi
+except: math = None
def add_torus(PREF_MAJOR_RAD, PREF_MINOR_RAD, PREF_MAJOR_SEG, PREF_MINOR_SEG):
Vector = Blender.Mathutils.Vector
@@ -61,5 +62,8 @@
BPyAddMesh.add_mesh_simple('Torus', verts, [], faces)
-main()
+if math:
+ main()
+else:
+ Blender.Draw.PupMenu("Error%t|This script requires a full python installation")
Modified: trunk/blender/release/scripts/export_dxf.py
===================================================================
--- trunk/blender/release/scripts/export_dxf.py 2009-05-05 21:47:58 UTC (rev 20070)
+++ trunk/blender/release/scripts/export_dxf.py 2009-05-05 21:51:54 UTC (rev 20071)
@@ -94,40 +94,43 @@
import Blender
from Blender import Mathutils, Window, Scene, sys, Draw, Mesh
import BPyMessages
-import os
-import subprocess
+try: import os
+except: os = None
+try: import subprocess
+except: subprocess = None
+try: import copy
+except: copy = None
#print os.sys.platform
#print dir(os.sys.version)
#import dxfLibrary
#reload(dxfLibrary)
-from dxfLibrary import *
+if copy and os:
+ from dxfLibrary import *
+ #-------- DWG support ------------------------------------------
+ extCONV_OK = True
+ extCONV = 'DConvertCon.exe'
+ extCONV_PATH = os.path.join(Blender.Get('scriptsdir'),extCONV)
+ if not os.path.isfile(extCONV_PATH):
+ extCONV_OK = False
+ extCONV_TEXT = 'DWG-Exporter: Abort, nothing done!|\
+ Copy first %s into Blender script directory.|\
+ More details in online Help.' %extCONV
+ else:
+ if not os.sys.platform.startswith('win'):
+ # check if Wine installed:
+ if subprocess.Popen(('which', 'winepath'), stdout=subprocess.PIPE).stdout.read().strip():
+ extCONV_PATH = 'wine %s'%extCONV_PATH
+ else:
+ extCONV_OK = False
+ extCONV_TEXT = 'DWG-Exporter: Abort, nothing done!|\
+ The external DWG-converter (%s) needs Wine installed on your system.|\
+ More details in online Help.' %extCONV
+ #print 'extCONV_PATH = ', extCONV_PATH
-#-------- DWG support ------------------------------------------
-extCONV_OK = True
-extCONV = 'DConvertCon.exe'
-extCONV_PATH = os.path.join(Blender.Get('scriptsdir'),extCONV)
-if not os.path.isfile(extCONV_PATH):
- extCONV_OK = False
- extCONV_TEXT = 'DWG-Exporter: Abort, nothing done!|\
-Copy first %s into Blender script directory.|\
-More details in online Help.' %extCONV
-else:
- if not os.sys.platform.startswith('win'):
- # check if Wine installed:
- if subprocess.Popen(('which', 'winepath'), stdout=subprocess.PIPE).stdout.read().strip():
- extCONV_PATH = 'wine %s'%extCONV_PATH
- else:
- extCONV_OK = False
- extCONV_TEXT = 'DWG-Exporter: Abort, nothing done!|\
-The external DWG-converter (%s) needs Wine installed on your system.|\
-More details in online Help.' %extCONV
-#print 'extCONV_PATH = ', extCONV_PATH
-
-
#-----------------------------------------------------
def dupTest(object):
"""
@@ -526,7 +529,8 @@
#-----------------------------------------------------
if __name__=='__main__':
- #main()
- if not copy:
- Draw.PupMenu('Error%t|This script requires a full python install')
- else: Window.FileSelector(dxf_export_ui, 'EXPORT DXF', sys.makename(ext='.dxf'))
\ No newline at end of file
+ #main()
+ if copy and os and subprocess:
+ Window.FileSelector(dxf_export_ui, 'EXPORT DXF', sys.makename(ext='.dxf'))
+ else:
+ Draw.PupMenu('Error%t|This script requires a full python install')
Modified: trunk/blender/release/scripts/export_fbx.py
===================================================================
--- trunk/blender/release/scripts/export_fbx.py 2009-05-05 21:47:58 UTC (rev 20070)
+++ trunk/blender/release/scripts/export_fbx.py 2009-05-05 21:51:54 UTC (rev 20071)
@@ -2729,15 +2729,16 @@
GLOBALS['EVENT'] = e
def do_help(e,v):
- url = 'http://wiki.blender.org/index.php/Scripts/Manual/Export/autodesk_fbx'
- print 'Trying to open web browser with documentation at this address...'
- print '\t' + url
-
- try:
- import webbrowser
- webbrowser.open(url)
- except:
- print '...could not open a browser window.'
+ url = 'http://wiki.blender.org/index.php/Scripts/Manual/Export/autodesk_fbx'
+ print 'Trying to open web browser with documentation at this address...'
+ print '\t' + url
+
+ try:
+ import webbrowser
+ webbrowser.open(url)
+ except:
+ Blender.Draw.PupMenu("Error%t|Opening a webbrowser requires a full python installation")
+ print '...could not open a browser window.'
Modified: trunk/blender/release/scripts/help_bpy_api.py
===================================================================
--- trunk/blender/release/scripts/help_bpy_api.py 2009-05-05 21:47:58 UTC (rev 20070)
+++ trunk/blender/release/scripts/help_bpy_api.py 2009-05-05 21:51:54 UTC (rev 20071)
@@ -36,6 +36,12 @@
# ***** END GPL LICENCE BLOCK *****
# --------------------------------------------------------------------------
-import Blender, webbrowser
-version = str(int(Blender.Get('version')))
-webbrowser.open('http://www.blender.org/documentation/'+ version +'PythonDoc/')
+import Blender
+try: import webbrowser
+except: webbrowser = None
+
+if webbrowser:
+ version = str(int(Blender.Get('version')))
+ webbrowser.open('http://www.blender.org/documentation/'+ version +'PythonDoc/')
+else:
+ Blender.Draw.PupMenu("Error%t|This script requires a full python installation")
Modified: trunk/blender/release/scripts/help_getting_started.py
===================================================================
--- trunk/blender/release/scripts/help_getting_started.py 2009-05-05 21:47:58 UTC (rev 20070)
+++ trunk/blender/release/scripts/help_getting_started.py 2009-05-05 21:51:54 UTC (rev 20071)
@@ -38,5 +38,13 @@
# ***** END GPL LICENCE BLOCK *****
# --------------------------------------------------------------------------
-import Blender, webbrowser
-webbrowser.open('http://www.blender.org/education-help/tutorials/getting-started/')
+import Blender
+try: import webbrowser
+except: webbrowser = None
+
+if webbrowser:
+ webbrowser.open('http://www.blender.org/education-help/tutorials/getting-started/')
+else:
+ Blender.Draw.PupMenu("Error%t|This script requires a full python installation")
+
+
Modified: trunk/blender/release/scripts/help_manual.py
===================================================================
--- trunk/blender/release/scripts/help_manual.py 2009-05-05 21:47:58 UTC (rev 20070)
+++ trunk/blender/release/scripts/help_manual.py 2009-05-05 21:51:54 UTC (rev 20071)
@@ -36,5 +36,13 @@
# ***** END GPL LICENCE BLOCK *****
# --------------------------------------------------------------------------
-import Blender, webbrowser
-webbrowser.open('http://wiki.blender.org/index.php/Manual')
+import Blender
+try: import webbrowser
+except: webbrowser = None
+
+if webbrowser:
+ webbrowser.open('http://wiki.blender.org/index.php/Manual')
+else:
+ Blender.Draw.PupMenu("Error%t|This script requires a full python installation")
+
+
Modified: trunk/blender/release/scripts/help_release_notes.py
===================================================================
--- trunk/blender/release/scripts/help_release_notes.py 2009-05-05 21:47:58 UTC (rev 20070)
+++ trunk/blender/release/scripts/help_release_notes.py 2009-05-05 21:51:54 UTC (rev 20071)
@@ -36,6 +36,12 @@
# ***** END GPL LICENCE BLOCK *****
# --------------------------------------------------------------------------
-import Blender, webbrowser
+import Blender
+try: import webbrowser
+except: webbrowser = None
-webbrowser.open('http://www.blender.org/development/release-logs/')
+if webbrowser:
+ webbrowser.open('http://www.blender.org/development/release-logs/')
+else:
+ Blender.Draw.PupMenu("Error%t|This script requires a full python installation")
+
Modified: trunk/blender/release/scripts/help_tutorials.py
===================================================================
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list