Post by Adi RoibanPost by Adi RoibanPost by Adi RoibanIt was released before 15.4
Twisted Web 15.2.0 (2015-05-18)
===============================
Features
--------
- twisted.web.server.Site accepts requestFactory as constructor
argument. (#7016)
----------
Not sure if rollback is the right thing to do... but I have no idea how
to proceed as any change will back the compatibility.
Post by Adi RoibanI guess that we should just create a normal bug ticket and fix this
issue
Thanks for finding the changelog entry; sorry for the false alarm.
If it's been in a release, then there's probably nothing to do. It's a
shame that this went out, but once a breakage like this has happened we
have to live with it because otherwise, as you say, we'd be breaking
compatibility for the people that already upgraded. For those that need to
support both versions, keyword arguments are the way to go.
Well, in public interfaces we could just stop mixing *args and **kwargs
with other arguments.
It is more work for maintainers, but as a library user I find it much
easier to see the exact args in the docs, rather than seeing *args /
**kwargs and then navigating the inheritance path to find out all supported
arguments.
I'm not quite sure what you're referring to in this case; but generally, I
your arg list says *args / **kwargs. This is how I tried to document, for
example, optionsForClientTLS.
Instead of
def __init__(self, resource, requestFactory=None, *args, **kwargs):
http.HTTPFactory.__init__(self, *args, **kwargs)
you can have
def __init__(self, resource, logFile=None, requestFactory=None):
http.HTTPFactory.__init__(self, logFile=logFile)
Duplicating documentation is ugly... maybe we can "improve" pydoctor to
support something like this. Like @see but instead of creating a link, the
code is duplicated... but maybe a link is enough
def __init__(self, resource, logFile=None, requestFactory=None):
""""
Some description.
@include http.HTTPFactory.__init__.logFile
""""
http.HTTPFactory.__init__(self, logFile=logFile)
--
Adi Roiban