OSDN Git Service

fix for python2.7
authorousttrue <ousttrue@gmail.com>
Sat, 1 Oct 2011 03:52:47 +0000 (12:52 +0900)
committerousttrue <ousttrue@gmail.com>
Sat, 1 Oct 2011 03:52:47 +0000 (12:52 +0900)
examples/pymeshviewer.py
examples/togl.py
pymeshio/common.py
pymeshio/pmx/__init__.py
pymeshio/pmx/loader.py
pymeshio/vpd.py
setup.py
test/mqo_test.pyc
test/pmd_test.pyc
test/pmx_test.py

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