From 40344af86dbe9c7ad2f38b18f31f0f8a4917bda9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Mon, 27 Jul 2009 00:38:41 +0200 Subject: Moved from Cython to normal Python --- portato/eix/__init__.py | 0 portato/eix/eix_utils.pxd | 17 -------- portato/eix/eix_utils.pyx | 15 ------- portato/eix/libeix.pyx | 102 ---------------------------------------------- 4 files changed, 134 deletions(-) delete mode 100644 portato/eix/__init__.py delete mode 100644 portato/eix/eix_utils.pxd delete mode 100644 portato/eix/eix_utils.pyx delete mode 100644 portato/eix/libeix.pyx (limited to 'portato/eix') diff --git a/portato/eix/__init__.py b/portato/eix/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/portato/eix/eix_utils.pxd b/portato/eix/eix_utils.pxd deleted file mode 100644 index 39f60a9..0000000 --- a/portato/eix/eix_utils.pxd +++ /dev/null @@ -1,17 +0,0 @@ -cdef extern from *: - ctypedef int size_t - -cdef extern from "errno.h": - int errno - -cdef extern from "string.h": - char* strerror (int errno) - size_t strlen (char* s) - char* strcpy (char* dest, char* src) - -cdef extern from "Python.h": - void* PyMem_Malloc (size_t n) - void PyMem_Free (void* p) - -cdef: - char* strdup (char* other) except NULL diff --git a/portato/eix/eix_utils.pyx b/portato/eix/eix_utils.pyx deleted file mode 100644 index 0ea9603..0000000 --- a/portato/eix/eix_utils.pyx +++ /dev/null @@ -1,15 +0,0 @@ -cdef char* strdup (char * other) except NULL: - cdef size_t len - cdef char* new - - if other is NULL: - return NULL - - len = strlen(other) - new = PyMem_Malloc(len+1) - - if new is NULL: - raise MemoryError, "Malloc of new string copy" - return NULL - - return strcpy(new, other) diff --git a/portato/eix/libeix.pyx b/portato/eix/libeix.pyx deleted file mode 100644 index 2a1c7df..0000000 --- a/portato/eix/libeix.pyx +++ /dev/null @@ -1,102 +0,0 @@ -class EixError (Exception): - message = "Unknown error." - - def __str__ (self): - return self.message - -class EndOfFileException (EixError): - - def __init__ (self, filename): - self.message = "End of file reached though it was not expected: '%s'" % filename - -class EixReaderClosed (EixError): - message = "EixReader is already closed." - -class UnsupportedVersionError (EixError): - - def __init__ (self, version): - self.message = "Version '%s' is not supported." % version - -cdef class EixReader (object): - cdef object file - cdef char closed - - cdef readonly object filename - cdef readonly object version - - supported_versions = (28, ) - - def __init__ (self, filename): - self.filename = filename - self.file = open(filename, "r") - self.closed = 0 - - self.version = self._get_number() - - if self.version not in self.supported_versions: - raise UnsupportedVersionError(self.version) - - cdef unsigned long _get_number (self) except *: - cdef unsigned char n - cdef short count, i - cdef unsigned long value - cdef char* rest - cdef object orest - - n = self._get_one_byte() - - if n < 0xFF: - value = n - else: - count = 0 - - while (n == 0xFF): - count += 1 - n = self._get_one_byte() - - if n == 0: - n = 0xFF # 0xFF is encoded as 0xFF 0x00 - count -= 1 - - value = n << (count*8) - - if count > 0: - orest = self.get_string(count) - rest = orest # cast to char* - - for 0 <= i < count: - value += (rest[i]) << ((count - i - 1)*8) - - return value - - cdef unsigned char _get_one_byte (self) except? 0: - s = self.file.read(1) - - if len(s) != 1: - raise EndOfFileException, self.filename - - return ord(s) - - cdef object _get_string (self, length): - if self.closed: - raise EixReaderClosed - - s = self.file.read(length) - - if len(s) != length: - raise EndOfFileException, self.filename - - return s - - def get_number (self): - if self.closed: - raise EixReaderClosed - - return self._get_number() - - def close (self): - if self.closed: - raise EixReaderClosed - - self.file.close() - self.closed = 1 -- cgit v1.2.3