From: ousttrue Date: Sat, 1 Oct 2011 03:52:47 +0000 (+0900) Subject: fix for python2.7 X-Git-Url: http://git.osdn.jp/view?a=commitdiff_plain;h=519f0b42cd48d3dd57984c9598625d0053805f09;p=meshio%2Fpymeshio.git fix for python2.7 --- diff --git a/examples/pymeshviewer.py b/examples/pymeshviewer.py index 9e0e26c..b22e6c1 100644 --- a/examples/pymeshviewer.py +++ b/examples/pymeshviewer.py @@ -1,10 +1,23 @@ #!/usr/bin/env python # coding: utf-8 +""" +this script require pyOpenGL, PIL, numpy and Togl(tck/tk). + +Togl install on Windows +======================= + +* download Togl2.0-8.4-Windows.zip +* copy Togl2.0-8.4-Windows/lib/Togl2.0 to C:/PythonXX/tcl/Togl2.0 +""" import sys import os -import tkinter -import tkinter.filedialog +try: + import tkinter + import tkinter.filedialog as tkinter_filedialog +except ImportError as e: + import Tkinter as tkinter + import tkFileDialog as tkinter_filedialog import togl import opengl import opengl.rokuro @@ -15,7 +28,8 @@ import pmxbuilder class Frame(tkinter.Frame): def __init__(self, width, height, master=None, **kw): - super(Frame, self).__init__(master, **kw) + #super(Frame, self).__init__(master, **kw) + tkinter.Frame.__init__(self, master, **kw) self.master.title('pymeshio viewer') self.current='.' # setup menu @@ -38,7 +52,7 @@ class Frame(tkinter.Frame): self.bind('', lambda e: self.glworld.onWheel(-e.delta) and self.glwidget.onDraw()) def onOpen(self): - path=tkinter.filedialog.askopenfilename( + path=tkinter_filedialog.askopenfilename( filetypes=[ ('poloygon model files', '*.mqo;*.pmd;*.pmx'), ], diff --git a/examples/togl.py b/examples/togl.py index 1aa06d6..10b6281 100644 --- a/examples/togl.py +++ b/examples/togl.py @@ -6,7 +6,8 @@ import OpenGL.Tk class Widget(OpenGL.Tk.RawOpengl): def __init__(self, master, engine, *args, **kw): - super(Widget, self).__init__(master, *args, **kw) + #super(Widget, self).__init__(master, *args, **kw) + OpenGL.Tk.RawOpengl.__init__(self, master, *args, **kw) self.engine=engine self.bind('', self.onDraw) self.bind('', self.onDraw) diff --git a/pymeshio/common.py b/pymeshio/common.py index e67580d..698b5f9 100644 --- a/pymeshio/common.py +++ b/pymeshio/common.py @@ -225,7 +225,7 @@ class ParseException(Exception): pass -def readall(path: str) -> bytes: +def readall(path): with open(path, "rb") as f: return f.read() @@ -234,7 +234,7 @@ class BinaryLoader(object): def __init__(self, io): self.io=io - def unpack(self, fmt: str, size: int) -> "read value as format": + def unpack(self, fmt, size): result=struct.unpack(fmt, self.io.read(size)) return result[0] diff --git a/pymeshio/pmx/__init__.py b/pymeshio/pmx/__init__.py index 0bc1dfc..c1614af 100644 --- a/pymeshio/pmx/__init__.py +++ b/pymeshio/pmx/__init__.py @@ -74,12 +74,12 @@ class Bone(object): 'ik', ] def __init__(self, - name: str, - english_name: str, - position: common.Vector3, - parent_index: int, - layer: int, - flag: int + name, + english_name, + position, + parent_index, + layer, + flag ): self.name=name, self.english_name=english_name @@ -88,25 +88,25 @@ class Bone(object): self.layer=layer self.flag=flag - def getConnectionFlag(self) -> int: + def getConnectionFlag(self): return self.flag & 0x0001 - def getIkFlag(self) -> int: + def getIkFlag(self): return (self.flag & 0x0020) >> 5 - def getRotationFlag(self) -> int: + def getRotationFlag(self): return (self.flag & 0x0100) >> 8 - def getTranslationFlag(self) -> int: + def getTranslationFlag(self): return (self.flag & 0x0200) >> 9 - def getFixedAxisFlag(self) -> int: + def getFixedAxisFlag(self): return (self.flag & 0x0400) >> 10 - def getLocalCoordinateFlag(self) -> int: + def getLocalCoordinateFlag(self): return (self.flag & 0x0800) >> 11 - def getExternalParentDeformFlag(self) -> int: + def getExternalParentDeformFlag(self): return (self.flag & 0x2000) >> 13 @@ -135,20 +135,20 @@ class Material(object): 'vertex_count', ] def __init__(self, - name: str, - english_name: str, - diffuse_color: common.RGB, - diffuse_alpha: float, - specular_color: common.RGB, - specular_factor: float, - ambient_color: common.RGB, - flag: int, - edge_color: common.RGBA, - edge_size: float, - texture_index: int, - sphia_texture_index: int, - sphia_mode: int, - toon_sharing_flag: int + name, + english_name, + diffuse_color, + diffuse_alpha, + specular_color, + specular_factor, + ambient_color, + flag, + edge_color, + edge_size, + texture_index, + sphia_texture_index, + sphia_mode, + toon_sharing_flag ): self.name=name self.english_name=english_name @@ -185,7 +185,7 @@ class Bdef1(object): Attributes: see __init__ """ __slots__=[ 'index0'] - def __init__(self, index0: int): + def __init__(self, index0): self.index0=index0 @@ -196,9 +196,9 @@ class Bdef2(object): """ __slots__=[ 'index0', 'index1', 'weight0'] def __init__(self, - index0: int, - index1: int, - weight0: float): + index0, + index1, + weight0): self.index0=index0 self.index1=index1 self.weight0=weight0 @@ -211,11 +211,11 @@ class Vertex(object): """ __slots__=[ 'position', 'normal', 'uv', 'deform', 'edge_factor' ] def __init__(self, - position: common.Vector3, - normal: common.Vector3, - uv: common.Vector2, - deform: Deform, - edge_factor: float): + position, + normal, + uv, + deform, + edge_factor): self.position=position self.normal=normal self.uv=uv diff --git a/pymeshio/pmx/loader.py b/pymeshio/pmx/loader.py index 82cb7e5..c578f68 100644 --- a/pymeshio/pmx/loader.py +++ b/pymeshio/pmx/loader.py @@ -29,10 +29,10 @@ class Loader(pymeshio.common.BinaryLoader): self.read_morph_index=lambda : self.read_uint(morph_index_size) self.read_rigidbody_index=lambda : self.read_uint(rigidbody_index_size) - def __str__(self) -> str: + def __str__(self): return '' - def get_read_text(self, text_encoding) -> "text process function": + def get_read_text(self, text_encoding): if text_encoding==0: def read_text(): size=self.read_uint(4) @@ -267,7 +267,7 @@ class Loader(pymeshio.common.BinaryLoader): spring_constant_rotation=self.read_vector3()) -def load(path: str) -> pymeshio.pmx.Model: +def load(path): # general binary loader loader=pymeshio.common.BinaryLoader( io.BytesIO( diff --git a/pymeshio/vpd.py b/pymeshio/vpd.py index ec3f124..356bb92 100644 --- a/pymeshio/vpd.py +++ b/pymeshio/vpd.py @@ -1,3 +1,4 @@ +# coding: utf-8 ############################################################################### # VPD ############################################################################### diff --git a/setup.py b/setup.py index 45dde63..c9f0843 100644 --- a/setup.py +++ b/setup.py @@ -16,6 +16,7 @@ create for blender import/expoert plugin backend. Requirements ------------ * Python 3 +* Python 2.7 Features -------- @@ -58,8 +59,9 @@ ToDo History ------- -2.0.0 (2011-10-01) +2.0.2 (2011-10-01) ~~~~~~~~~~~~~~~~~~ +* fix for Python 2.7(remove anotation) * fix pymeshio.pmx.Bdef1.bone_index to index0 * fix pymeshio.pmx.Material.index_count to vertex_count * add pmx example diff --git a/test/mqo_test.pyc b/test/mqo_test.pyc index 447c5a9..b11ce30 100644 Binary files a/test/mqo_test.pyc and b/test/mqo_test.pyc differ diff --git a/test/pmd_test.pyc b/test/pmd_test.pyc index 53180c6..27b54cf 100644 Binary files a/test/pmd_test.pyc and b/test/pmd_test.pyc differ diff --git a/test/pmx_test.py b/test/pmx_test.py index cf2fcdf..e78f740 100644 --- a/test/pmx_test.py +++ b/test/pmx_test.py @@ -2,28 +2,28 @@ import pymeshio.pmx.loader -PMX_MODEL='resources/初音ミクVer2.pmx' +PMX_MODEL=u'resources/初音ミクVer2.pmx' def test_read(): model=pymeshio.pmx.loader.load(PMX_MODEL) assert model.__class__==pymeshio.pmx.Model - assert model.name=='初音ミク' - assert model.english_name=='Miku Hatsune' + assert model.name==u'初音ミク' + assert model.english_name==u'Miku Hatsune' assert model.comment==( - "PolyMo用モデルデータ:初音ミク ver.2.3\r\n"+ - "(物理演算対応モデル)\r\n"+ - "\r\n"+ - "モデリング :あにまさ氏\r\n"+ - "データ変換 :あにまさ氏\r\n"+ - "Copyright :CRYPTON FUTURE MEDIA, INC" + u"PolyMo用モデルデータ:初音ミク ver.2.3\r\n"+ + u"(物理演算対応モデル)\r\n"+ + u"\r\n"+ + u"モデリング :あにまさ氏\r\n"+ + u"データ変換 :あにまさ氏\r\n"+ + u"Copyright :CRYPTON FUTURE MEDIA, INC" ) assert model.english_comment==( - "MMD Model: Miku Hatsune ver.2.3\r\n"+ - "(Physical Model)\r\n"+ - "\r\n"+ - "Modeling by Animasa\r\n"+ - "Converted by Animasa\r\n"+ - "Copyright CRYPTON FUTURE MEDIA, INC" + u"MMD Model: Miku Hatsune ver.2.3\r\n"+ + u"(Physical Model)\r\n"+ + u"\r\n"+ + u"Modeling by Animasa\r\n"+ + u"Converted by Animasa\r\n"+ + u"Copyright CRYPTON FUTURE MEDIA, INC" ) assert len(model.vertices)==12354