[mod_python] how to handle xforms with publisher handler

Graham Dumpleton grahamd at dscpl.com.au
Wed Jan 24 22:13:29 EST 2007


Emiliano Moscato wrote ..
> Hi all;
> 
> Even though nobody answer my question about "application/xml"

I already pointed out the following in the original discussion:

  http://issues.apache.org/jira/browse/MODPYTHON-29

The issue is to what degree mod_python.publisher should be generalised
to allow stuff beyond what it can do now. Making such a change needs a
consensus from enough people who understand the issues that changing
it would be a good idea. Although I have raised it previously no one has
ever commented on it.

Graham

> here is the
> 0.3 version patch for problem with "multipart/*", available for python
> 2.3;)
> I think that it'll work...
> Regards
> 
> Emiliano
> 
>        # figure out boundary
>        try:
>            i = ctype.lower().rindex("boundary=")
>            end = [ctype.find(';', i+9),ctype.find(' ', i+9)]
>            def not_minus_one(x): return x != -1
>            filter(not_minus_one, end)
>            if len(end) > 0:
>                boundary = ctype[i+9:min(end)]
>            else:
>                boundary = ctype[i+9:]
>            if len(boundary) >= 2 and boundary[0] == boundary[-1] == '"':
>                boundary = boundary[1:-1]
>            boundary = re.compile("--" + re.escape(boundary) + "(--)?\r?\n")
> 
> 2007/1/24, Graham Dumpleton <grahamd at dscpl.com.au>:
> >
> > Thanks, I've added a link to this in issue:
> >
> >   http://issues.apache.org/jira/browse/MODPYTHON-210
> >
> > Note though that patch as is can't be used as it looks like you use "set"
> > which only
> > newer versions of Python support. Python 2.3 is still supported by
> > mod_python.
> >
> > A similar thing to this splitting up has to be done for cookies, so
> > something like
> > the Cookie._parse_cookie might be able to be done.
> >
> > Graham
> >
> > Emiliano Moscato wrote ..
> > > Hi, I'm sorry, I've forgot to send this lines:
> > >
> > >         # figure out boundary
> > >         try:
> > >             i = ctype.lower().rindex("boundary=")
> > >             end = set([ctype.find(';', i+9), ctype.find(' ', i+9)])
> > >             end.discard(-1)
> > >             if len(end) > 0:
> > >                 boundary = ctype[i+9:min(list(end))]
> > >             else:
> > >                 boundary = ctype[i+9:]
> > >             boundary_str = boundary
> > >             if len(boundary) >= 2 and boundary[0] == boundary[-1] ==
> > '"':
> > >                 boundary = boundary[1:-1]
> > >             boundary = re.compile("--" + re.escape(boundary) +
> > "(--)?\r?\n")
> > >
> > >
> > >         except ValueError:
> > >             raise apache.SERVER_RETURN, apache.HTTP_BAD_REQUEST
> > >
> > >
> > > Is a little long, but I didn't find a shorter way.
> > >
> > > Graham et all, I'm interested on the another tip (how to treat xml
> dom
> > > models), I'd like to know your opinion about my opinion sent with the
> > first
> > > bugfix. I'd like to use mod_python (and publisher handler if possible)
> > > in
> > > our framework.
> > > Thanks
> > >
> > > Emiliano
> > >
> > > 2007/1/17, Graham Dumpleton <grahamd at dscpl.com.au>:
> > > >
> > > > Emiliano Moscato wrote ..
> > > > > Hi;
> > > > >
> > > > > I've followed my tiny work with FieldStorage.
> > > > > I changed the line:
> > > > >             boundary = ctype[i+9:]
> > > > > for:
> > > > >             boundary = ctype[i+9:ctype.find(';',i+9)]
> > > > > to fix the problem with boundary.
> > > >
> > > > I don't think this will always work. Where there is no semicolon
> then
> > > the
> > > > result would be:
> > > >
> > > >   boundary = ctype[i+9:-1]
> > > >
> > > > This would have the affect of dropping off the last character in
> the
> > > value
> > > > which may be part of the boundary tag or the quote which might
> > surround
> > > > it.
> > > >
> > > > Graham
> > > >
> > > >
> > > > > I've tried to use this method without any other change to
> > FieldStorage
> > > > > and
> > > > > works. I only need this bugfix and it is a good new for me.
> > > > > On the other hand, I was thinking about the matter with
> > > > "application/xml"
> > > > > serialize method and the name of the method says all: who uses
> > > > > "application/xml" as serialize method waits in the server for an
> xml
> > > > > document, not for its mapping to a dict, and it have nothing to
> do
> > > with
> > > > > xforms.
> > > > > For example: cherryPy, where I come from, uses the same philosophy
> > > of
> > > > put
> > > > > the form fields as attributes of an object, but when it receives
> an
> > > > > "application/xml" puts it available in "threadData" attribute.
> > > > > Thanks for the attention :)
> > > > >
> > > > > Emiliano
> > > > >
> > > >
> > >
> > >
> > > --
> > > mOsKi
> > > "No hay nada que uno haga mal , lo que hay es poco vino." Autor Anonimo
> >
> 
> 
> 
> -- 
> mOsKi
> "No hay nada que uno haga mal , lo que hay es poco vino." Autor Anonimo


More information about the Mod_python mailing list