Aug 29, 2007

tracd does not accept folded http header

I found that tracd does not work in some cases, specifically when the http header is folded because of its longness. To solve this problem, I modified /usr/lib/python2.4/site-packages/trac/web/wsgi.py as following.
  1. Make unfold_header function.
    def unfold_header(self):
        lineno = 1
        while lineno < len(self.headers.headers):
            header = self.headers.headers[lineno]
            if header.startswith(' ') or header.startswith('\t'):
                self.headers.headers[lineno - 1] += header
                del(self.headers.headers[lineno])
            else:
                lineno = lineno + 1
    
  2. Call this function from setup_environ function in WSGIRequestHandler class.
    length = self.headers.getheader('content-length')
    if length:
        environ['CONTENT_LENGTH'] = length
    
    # insert this line here.
    self.unfold_header()
    
    for name, value in [header.split(':', 1) for header
                        in self.headers.headers]:
    
This was my first time to program in Python, so there might be some problems. But this modified tracd is working for now.

Aug 22, 2007

mqo loader beta ?

I have eventually submitted my metasequoia loader to Snippets of Spark project. Only few tests about my library have done, so any bug reports are welcomed.

My next task is perhaps to load MIKOTO file that describes motion of metasequoia model. Watching motion of 3D model will fascinate us rather than watching rendered image that never moves.

Aug 5, 2007

mqo loader private alpha

Here is my private alpha version of .mqo file loader for Papervision3D. Mqo files are used by Metasequoia typically in Japan.