phew, things are working
authorTero Marttila <terom@fixme.fi>
Sun, 16 Aug 2009 19:20:55 +0300
changeset 8 b3880dafbab1
parent 7 74fde84264b1
child 9 f9ef7f1864b3
phew, things are working
qmsk/net/sctp/sock.pyx
qmsk/net/socket/addr.pxd
qmsk/net/socket/socket.pxd
qmsk/net/socket/socket.pyx
setup.py
test.py
--- a/qmsk/net/sctp/sock.pyx	Sun Aug 16 19:01:21 2009 +0300
+++ b/qmsk/net/sctp/sock.pyx	Sun Aug 16 19:20:55 2009 +0300
@@ -1,26 +1,26 @@
 """
     This C(ython) extension module provides an interface to the libsctp library and associated socket API.
     
-    >>> import socket
-    >>> from sock.addr import sockaddr_in
-    >>> s = socket.socket(socket.AF_INET, socket.SOCK_SEQPACKET, 132)
+    >>> from __future__ import absolute_import; import socket as _socket
+    >>> from qmsk.net.socket.addr import sockaddr_in
+    >>> s = _socket.socket(_socket.AF_INET, _socket.SOCK_SEQPACKET, 132)
     >>> sctp_bindx(s.fileno(), [sockaddr_in('127.0.0.1', 1337), sockaddr_in('127.0.0.2')], 0x01)
     >>>
 
 """
 
-from sctp.sock cimport *
-from py cimport raise_errno
+from qmsk.net.sctp.sock cimport *
+from qmsk.net.socket.addr cimport sockaddr
 
 cimport libc
-cimport socket.addr
+from py cimport raise_errno
 
 cdef size_t addrsoup_len (object addrs) except -1 :
     """
         Calculate the length of the addr_buf required to store the given addrsoup
     """
 
-    cdef socket.addr.sockaddr addr
+    cdef sockaddr addr
     cdef size_t addr_size = 0
 
     # whoever decided that sctp_bindx takes an array of mixed sockaddr_in/sockaddr_in6's should be shot
@@ -34,7 +34,7 @@
         Store the sockaddr_*'s for the given addresses into the given buffer, which should be addrsoup_len() bytes long
     """
 
-    cdef socket.addr.sockaddr addr
+    cdef sockaddr addr
     cdef char *addr_ptr = addr_buf
 
     # fill it
--- a/qmsk/net/socket/addr.pxd	Sun Aug 16 19:01:21 2009 +0300
+++ b/qmsk/net/socket/addr.pxd	Sun Aug 16 19:20:55 2009 +0300
@@ -68,11 +68,11 @@
         Hence, endpoints are stored as human-readable hostname/service strings, which are then translated to sockaddrs
         using getaddrinfo.
 
-        >>> import socket
+        >>> from __future__ import absolute_import; import socket as _socket
         >>> e = endpoint('127.0.0.1', 80)
         >>> str(e)
         'hostname=127.0.0.1, service=80'
-        >>> res = e.getaddrinfo(socket.AF_UNSPEC, socket.SOCK_STREAM)
+        >>> res = e.getaddrinfo(_socket.AF_UNSPEC, _socket.SOCK_STREAM)
         >>> len(res)
         1
         >>> str(res[0])
@@ -80,7 +80,7 @@
         >>> e = endpoint('2001::5', 80)
         >>> str(e)
         'hostname=2001::5, service=80'
-        >>> res = e.getaddrinfo(socket.AF_UNSPEC, socket.SOCK_STREAM)
+        >>> res = e.getaddrinfo(_socket.AF_UNSPEC, _socket.SOCK_STREAM)
         >>> len(res)
         1
         >>> str(res[0])
--- a/qmsk/net/socket/socket.pxd	Sun Aug 16 19:01:21 2009 +0300
+++ b/qmsk/net/socket/socket.pxd	Sun Aug 16 19:20:55 2009 +0300
@@ -4,12 +4,12 @@
 
 ctypedef int socket_t
 
-cdef class sock :
+cdef class socket :
     """
         Represents a single OS-level socket
         
-        >>> from socket import addr
-        >>> s = sock()
+        >>> from qmsk.net.socket import addr
+        >>> s = socket()
         >>> s.send('foo')
         Traceback (most recent call last):
           ...
@@ -18,8 +18,12 @@
         >>> s.bind(addr.sockaddr_in('127.0.0.1', 1337))
         >>> s.listen(1)
         >>> s.listen(0)
-        >>> s.connect(addr.sockaddr_in('127.0.01.', 1338))
-        x
+        >>> s = socket(); s.socket()
+        >>> s.connect(addr.sockaddr_in('127.0.0.1', 1338))
+        Traceback (most recent call last):
+          ...
+        OSError: [Errno 111] Connection refused
+        
     """
 
     cdef readonly socket_t fd
--- a/qmsk/net/socket/socket.pyx	Sun Aug 16 19:01:21 2009 +0300
+++ b/qmsk/net/socket/socket.pyx	Sun Aug 16 19:20:55 2009 +0300
@@ -7,7 +7,7 @@
 
 
 # XXX: do some GIL-releasin'
-cdef class sock :
+cdef class socket :
 
     def __init__ (self, int fd = -1) :
         """
@@ -115,7 +115,7 @@
             raise_errno('accept')
 
         # prep the new socket
-        sock_obj = sock(sock_fd)
+        sock_obj = socket(sock_fd)
 
         # prep the new addr
         sock_addr = build_sockaddr(<libc.sockaddr *> &ss, ss_len)
--- a/setup.py	Sun Aug 16 19:01:21 2009 +0300
+++ b/setup.py	Sun Aug 16 19:20:55 2009 +0300
@@ -23,14 +23,14 @@
     cmdclass        = {'build_ext': build_ext},
 
     # describe Cython modules
-    ext_package     = 'qmsk.net',
+#    ext_package     = 'qmsk.net',
     ext_modules = [
-        cython_ext("libc",              ["qmsk/net/libc.pyx"]),
-        cython_ext("py",                ["qmsk/net/py.pyx"]),
-        cython_ext("socket.addr",       ["qmsk/net/socket/addr.pyx"]),
-        cython_ext("socket.socket",     ["qmsk/net/socket/socket.pyx"]),
-        cython_ext("sctp.sock",         ["qmsk/net/sctp/sock.pyx"], libraries=['sctp']),
-        cython_ext("sctp.constants",    ["qmsk/net/sctp/constants.pyx"]),
+        cython_ext("qmsk.net.libc",             ["qmsk/net/libc.pyx"]),
+        cython_ext("qmsk.net.py",               ["qmsk/net/py.pyx"]),
+        cython_ext("qmsk.net.socket.addr",      ["qmsk/net/socket/addr.pyx"]),
+        cython_ext("qmsk.net.socket.socket",    ["qmsk/net/socket/socket.pyx"]),
+        cython_ext("qmsk.net.sctp.sock",        ["qmsk/net/sctp/sock.pyx"], libraries=['sctp']),
+        cython_ext("qmsk.net.sctp.constants",   ["qmsk/net/sctp/constants.pyx"]),
     ]
 )
 
--- a/test.py	Sun Aug 16 19:01:21 2009 +0300
+++ b/test.py	Sun Aug 16 19:20:55 2009 +0300
@@ -1,12 +1,12 @@
 import doctest
 
-import socket.addr
-import socket.sock
-import sctp.sock
+import qmsk.net.socket.addr
+import qmsk.net.socket.socket
+import qmsk.net.sctp.sock
 
 for mod in (
-    socket.addr,
-    socket.sock,
-    sctp.sock,
+    qmsk.net.socket.addr,
+    qmsk.net.socket.socket,
+    qmsk.net.sctp.sock,
 ) :
     doctest.testmod(mod)