diff --git a/punyverse/_model.c b/punyverse/_model.c index 0827288..e71f630 100644 --- a/punyverse/_model.c +++ b/punyverse/_model.c @@ -1,4 +1,4 @@ -/* Generated by Cython 0.18 on Sat Oct 26 16:08:45 2013 */ +/* Generated by Cython 0.18 on Sat Oct 26 23:48:35 2013 */ #define PY_SSIZE_T_CLEAN #include "Python.h" @@ -1565,6 +1565,7 @@ static char __pyx_k__newmtl[] = "newmtl"; static char __pyx_k__usemtl[] = "usemtl"; static char __pyx_k__xrange[] = "xrange"; static char __pyx_k__IOError[] = "IOError"; +static char __pyx_k__abspath[] = "abspath"; static char __pyx_k__dirname[] = "dirname"; static char __pyx_k__normals[] = "normals"; static char __pyx_k__texture[] = "texture"; @@ -1595,6 +1596,7 @@ static PyObject *__pyx_n_s__Ks; static PyObject *__pyx_n_s____file__; static PyObject *__pyx_n_s____main__; static PyObject *__pyx_n_s____test__; +static PyObject *__pyx_n_s__abspath; static PyObject *__pyx_n_s__assets; static PyObject *__pyx_n_s__decode; static PyObject *__pyx_n_s__dirname; @@ -4692,7 +4694,7 @@ static int __pyx_pw_9punyverse_6_model_15WavefrontObject_1__init__(PyObject *__p * cdef Group current_group * def __init__(self, unicode path): # <<<<<<<<<<<<<< * self.path = path - * self.root = os.path.dirname(path) + * self.root = os.path.abspath(os.path.dirname(path)) */ static int __pyx_pf_9punyverse_6_model_15WavefrontObject___init__(struct __pyx_obj_9punyverse_6_model_WavefrontObject *__pyx_v_self, PyObject *__pyx_v_path) { @@ -4701,6 +4703,7 @@ static int __pyx_pf_9punyverse_6_model_15WavefrontObject___init__(struct __pyx_o PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; @@ -4710,7 +4713,7 @@ static int __pyx_pf_9punyverse_6_model_15WavefrontObject___init__(struct __pyx_o * cdef Group current_group * def __init__(self, unicode path): * self.path = path # <<<<<<<<<<<<<< - * self.root = os.path.dirname(path) + * self.root = os.path.abspath(os.path.dirname(path)) * self.vertices = [] */ __Pyx_INCREF(((PyObject *)__pyx_v_path)); @@ -4722,7 +4725,7 @@ static int __pyx_pf_9punyverse_6_model_15WavefrontObject___init__(struct __pyx_o /* "punyverse\_model.pyx":82 * def __init__(self, unicode path): * self.path = path - * self.root = os.path.dirname(path) # <<<<<<<<<<<<<< + * self.root = os.path.abspath(os.path.dirname(path)) # <<<<<<<<<<<<<< * self.vertices = [] * self.normals = [] */ @@ -4731,54 +4734,71 @@ static int __pyx_pf_9punyverse_6_model_15WavefrontObject___init__(struct __pyx_o __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__path); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__dirname); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__abspath); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__os); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(((PyObject *)__pyx_v_path)); - PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_path)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_path)); - __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__path); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__dirname); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(((PyObject *)__pyx_v_path)); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_path)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_path)); + __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_4 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - if (!(likely(PyUnicode_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected unicode, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GIVEREF(__pyx_t_3); + __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; + if (!(likely(PyUnicode_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected unicode, got %.200s", Py_TYPE(__pyx_t_4)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->root); __Pyx_DECREF(((PyObject *)__pyx_v_self->root)); - __pyx_v_self->root = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; + __pyx_v_self->root = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; /* "punyverse\_model.pyx":83 * self.path = path - * self.root = os.path.dirname(path) + * self.root = os.path.abspath(os.path.dirname(path)) * self.vertices = [] # <<<<<<<<<<<<<< * self.normals = [] * self.textures = [] */ - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); + __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); __Pyx_GOTREF(__pyx_v_self->vertices); __Pyx_DECREF(((PyObject *)__pyx_v_self->vertices)); - __pyx_v_self->vertices = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; + __pyx_v_self->vertices = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; /* "punyverse\_model.pyx":84 - * self.root = os.path.dirname(path) + * self.root = os.path.abspath(os.path.dirname(path)) * self.vertices = [] * self.normals = [] # <<<<<<<<<<<<<< * self.textures = [] * self.groups = [] */ - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); + __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); __Pyx_GOTREF(__pyx_v_self->normals); __Pyx_DECREF(((PyObject *)__pyx_v_self->normals)); - __pyx_v_self->normals = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; + __pyx_v_self->normals = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; /* "punyverse\_model.pyx":85 * self.vertices = [] @@ -4787,13 +4807,13 @@ static int __pyx_pf_9punyverse_6_model_15WavefrontObject___init__(struct __pyx_o * self.groups = [] * self.materials = {} */ - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); + __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); __Pyx_GOTREF(__pyx_v_self->textures); __Pyx_DECREF(((PyObject *)__pyx_v_self->textures)); - __pyx_v_self->textures = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; + __pyx_v_self->textures = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; /* "punyverse\_model.pyx":86 * self.normals = [] @@ -4802,13 +4822,13 @@ static int __pyx_pf_9punyverse_6_model_15WavefrontObject___init__(struct __pyx_o * self.materials = {} * */ - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); + __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); __Pyx_GOTREF(__pyx_v_self->groups); __Pyx_DECREF(((PyObject *)__pyx_v_self->groups)); - __pyx_v_self->groups = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; + __pyx_v_self->groups = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; /* "punyverse\_model.pyx":87 * self.textures = [] @@ -4817,13 +4837,13 @@ static int __pyx_pf_9punyverse_6_model_15WavefrontObject___init__(struct __pyx_o * * self.perform_io(self.path) */ - __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); + __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_4)); + __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); __Pyx_GOTREF(__pyx_v_self->materials); __Pyx_DECREF(((PyObject *)__pyx_v_self->materials)); - __pyx_v_self->materials = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; + __pyx_v_self->materials = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; /* "punyverse\_model.pyx":89 * self.materials = {} @@ -4832,10 +4852,10 @@ static int __pyx_pf_9punyverse_6_model_15WavefrontObject___init__(struct __pyx_o * * cdef void new_material(self, list words): */ - __pyx_t_3 = ((PyObject *)__pyx_v_self->path); - __Pyx_INCREF(__pyx_t_3); - __pyx_f_9punyverse_6_model_15WavefrontObject_perform_io(__pyx_v_self, ((PyObject*)__pyx_t_3)); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_4 = ((PyObject *)__pyx_v_self->path); + __Pyx_INCREF(__pyx_t_4); + __pyx_f_9punyverse_6_model_15WavefrontObject_perform_io(__pyx_v_self, ((PyObject*)__pyx_t_4)); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = 0; goto __pyx_L0; @@ -4843,6 +4863,7 @@ static int __pyx_pf_9punyverse_6_model_15WavefrontObject___init__(struct __pyx_o __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("punyverse._model.WavefrontObject.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; @@ -10723,6 +10744,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s____file__, __pyx_k____file__, sizeof(__pyx_k____file__), 0, 0, 1, 1}, {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1}, {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, + {&__pyx_n_s__abspath, __pyx_k__abspath, sizeof(__pyx_k__abspath), 0, 0, 1, 1}, {&__pyx_n_s__assets, __pyx_k__assets, sizeof(__pyx_k__assets), 0, 0, 1, 1}, {&__pyx_n_s__decode, __pyx_k__decode, sizeof(__pyx_k__decode), 0, 0, 1, 1}, {&__pyx_n_s__dirname, __pyx_k__dirname, sizeof(__pyx_k__dirname), 0, 0, 1, 1}, diff --git a/punyverse/_model.pyx b/punyverse/_model.pyx index 5892dd7..53fa708 100644 --- a/punyverse/_model.pyx +++ b/punyverse/_model.pyx @@ -79,7 +79,7 @@ cdef class WavefrontObject(object): cdef Group current_group def __init__(self, unicode path): self.path = path - self.root = os.path.dirname(path) + self.root = os.path.abspath(os.path.dirname(path)) self.vertices = [] self.normals = [] self.textures = []