1. Python 2.6 Transition

    Today I NMUed over a dozen of Python packages with bugs which blocked the Python 2.6 transition.

    I really want to thank Kumar Appaiah for his work. He provided patches for all the bugs I NMUed today and lots more. I really did not much more than applying, testing and uploading his patches, but Kumar probably invested days of labor to create the patches and test them. Thanks to his effort, the number of 2.6-blockers shrinked considerably so that we now have like \~15 open blockers and \~50 closed ones!

    read more
  2. python-debianbts 1.0 uploaded to unstable

    Today I was working all day on python-debianbts 1.0 and uploaded it to unstable a few minutes ago. This version breaks backwards compatibility with previous versions. I removed lots of unneeded old cruft like the HTMLStripper class needed ages ago when I was still using HTML instead of debbugs' SOAP interface.

    A new method get_usertag(email, *tags) was introduced. It returns a dict containing usertag-buglist mappings. If tags are given the dict is limited to matching tags, otherwise all available tags of the given user are returned:

    In [1]: import debianbts as bts
    
    In [2]: bts.get_usertag("debian-python@lists.debian.org")
    Out[2]:
    {'dist-packages': [547838, 547832, ..., 547858],
     'dpmt-todo': [332913],
     'policy': [373301, 373302, ..., 377089],
     'python-oldnum': [478467, 478442, ..., 478441],
     'python2.1': [351108, 351110, ..., 351131],
     'python2.2': [351108, 351109, ..., 351161],
     'python2.6': [547838, 547832, ... 547858]}
    
    In [3]: bts.get_usertag("debian-python@lists.debian.org", "python2.1", "python2.2")
    Out[3]:
    {'python2.1': [351108 ...
    read more
  3. Please help to complete python-debianbts

    I'm currently working on an updated version of python-debianbts a Python interface to Debian's Bugtracker. The goal is to equip the Bugreport class with all available attributes delivered by the SOAP interface. The problem is, that for some attributes it is not quite clear what data they provide and in which datatype they are wrapped. For example the mergedwith attribute should be a list of bugnumbers, but it seems to be a single Integer when merged with one bug and an empty String when the bug is not merged at all. Some attributes have an ambiguous name and it's hard to guess what they mean, for example there is an id and a bug_nr and both seem to contain the same information.

    There is a git branch for this task and a wiki page collecting all available information. If you have some experience with SOAP, our BTS ...

    read more
  4. SO_REUSEADDR

    Dear Lazyweb,

    I have a simple test application where a TCP/IP server listens for incoming connections, reads the data and closes the connection again and a client which opens connections to the server and sends a package and closes the connection as fast as it can:

    The server looks like this:

        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        sock.setblocking(False)
        sock.bind(("", 12347))
        sock.listen(1)
    
        slist = [sock]
        # use select to poll the sockets
        while 1:
            l = select.select(slist, [], [])
            for i in l[0]:
                conn, addr = i.accept()
                data = ""
                while 1:
                    tmp = conn.recv(1024)
                    if not tmp:
                        break
                    data += tmp
                conn.shutdown(socket.SHUT_RDWR)
                conn.close()
    

    The Client:

        # Open a connection, send data and close the connection as fast as possible
        while 1:
            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            sock.connect(("", 12347))
            sock.send("foo")
            sock.shutdown(socket ...
    read more

« Page 2 / 2

blogroll

social