On Mar 17, 2012, at 8:53 PM, Itamar Turner-Trauring wrote: > Apparently this was removed as part of deprecating the old strports syntax, > but: > > 1) "twistd web --port=9000" never gave a deprecation warnings.
This is a problem for future user-visible feature deprecations: Python won't show you deprecation warnings any more unless you ask, so if a feature is deprecated in the user interface of something, we need a separate mechanism to alert the user of it. The idea with most features is that trial will always show you all deprecation warnings, so you'll notice while running your tests :). Somebody needs to go through and look at currently deprecated command-line features to ensure that this won't happen in the future - any volunteers?. > itamar@blake:~$ twistd --version > twistd (the Twisted daemon) 11.0.0 > Copyright (c) 2001-2011 Twisted Matrix Laboratories. > See LICENSE for details. > > itamar@blake:~$ twistd -n web --port=9000 --path=/ > 2012-03-17 20:50:21-0400 [-] Log opened. > 2012-03-17 20:50:21-0400 [-] twistd 11.0.0 (/usr/bin/python 2.7.2) starting > up. > 2012-03-17 20:50:21-0400 [-] reactor class: > twisted.internet.selectreactor.SelectReactor. > 2012-03-17 20:50:21-0400 [-] twisted.web.server.Site starting on 9000 > 2012-03-17 20:50:21-0400 [-] Starting factory <twisted.web.server.Site > instance at 0x180bd40> > > 2) The current --help just says " -p, --port= strports description of the > port to start the server on." It'll be completely unclear to users what that > means. There should be a new ticket: --help-strports or something, and every option that takes one should refer to it, similar to --help-auth-types for cred plugins. > I am tempted to revert the ticket that removed this functionality - can > anyone tell me why we shouldn't? > > In particular, before the removal should be re-merged again, the original > syntax should be restored, along with decent --help. We should always support > just giving the port number and defaulting to TCP. As it is, we've gone from > a straightforward command line option that also had some sophisticated > features to something that will break in a mysterious, hard to debug manner. I am inclined to agree, sort of. Currently, the plain integer will default to just IPv4. An un-decorated integer really should (eventually) default to listening on all available interfaces, IPv4 and IPv6 together. Jean-Paul managed to convince me in the review for http://twistedmatrix.com/trac/ticket/4473 that supporting raw integers made the implementation ugly, but reflecting upon this experience I think I was wrong, and that clarity of the user experience here is more important than clarity of the implementation. I do still think that examples should move towards using 'tcp:80', though, so users might realize there's something other than 'tcp' that could go there. I'm glad you noticed it: please go ahead and revert the removal. -glyph
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python