hi there, folks:
I'd really like to release 0.7.0 but I would like it to be at least a
little bit tested before I do so. Could those of you with CVS trees check
everything out and see if it performs as advertised? Deeper bugs than
that will have to wait for the next release, but I'd at least like to know
if it works for someone other than me.
______ __ __ _____ _ _
| ____ | \_/ |_____] |_____|
|_____| |_____ | | | |
@ t w i s t e d m a t r i x . c o m
On 18 May 2004, the following message was posted to this mailinglist:
Jp Calderone exarkun at divmod.com wrote:
>Daniel Newton wrote:
> I have a simple XML-PRC server similar to the example below:
> from twisted.web import xmlrpc, server
> class Example(xmlrpc.XMLRPC):
> """An example object to be published."""
> def xmlrpc_add(self, a, b):
> """Return sum of arguments."""
> return a + b
> if __name__ == '__main__':
> from twisted.internet import reactor
> r = Example()
> reactor.listenTCP(7080, server.Site(r))
> I want to be able to get the address of the client that calls the
> method can anyone help me with this?
This solution didn't work because 'transport' isn't a property of the
I'm currently in the process of changing from a customized
SimpleXMLRPCServer to a twisted XMLRPC server solution and I need to
insert the client IP into the attributes passed to the called xmlrpc
method. Anyone who knows the answer and is willing to share the info?
I'm using Twisted 1.3.0 on python2.4 on an Ubuntu-Hoary x86 Linux box.
I'm using twisted and spawnProcess() with a Queue structure to chain
processes that need to be called (specifically, imagemagick commands).
I use the "processEnded" event/method of t.i.p.ProcessProtocol to go
from one task to the next. Twisted shares a python process with a
multi-threaded web-app-kit (Webware) so it has to be run in a thread.
This worked well on other older versions of twisted and older versions
of python; also on linux. I've tracked down the problem to be twisted
itself (or my incorrect use of it) rather than my code. This example
from twisted.internet import reactor
from twisted.internet.protocol import ProcessProtocol
class MyProt( ProcessProtocol ):
def processEnded(self, reason):
print "ended.", reason
executable = '/bin/touch'
args = ( '/tmp/foo.txt', )
args = (executable,) + tuple(args)
reactor.spawnProcess( MyProt(), executable, args )
reactor.callLater( 5, reactor.stop )
As is, this code never runs the "processEnded()" method of MyProt().
If I change the reactor.run() parameter to leave the signal handlers
on, it works.
Note that I need to leave the signal handlers turned off because I
can't run the reactor in the main thread; Webware needs that.
I also know that the subprocess is giving up its file descriptors; I
can see that if I put more print statements into MyProt(). And I know
that the subprocess is working; /tmp/foo.txt is there.
It seems that somehow the reactor is using signals to notice when a
process has ended; this makes a certain ammount of sense intuitively,
though I don't understand the nitty-gritty of processes and signals at
all. And more importantly, this has worked before on other
combinations of twisted/python.
Is this a bug? If so, has it been fixed? If not, what should I do to
detect when a spawned process is finished?
Thanks very much. Twisted rocks.
wxreactor in Twisted 2.1 uses threadedselectreactor. This means that wx
apps ought to use wxreactor, not TSR directly; there are some issues
with vanilla TSR wx integration that are also present in wxreactor, but
will be fixed in future versions of wxreactor.
What's broken (there may be more):
1. reactor shutdown events aren't handled correctly (e.g. Deferred
returned from during-shutdown event).
2. Signal handling for e.g. Ctrl-C is caught by wx, not twisted.
In order to get these fixed I need your help. I have a version of
wxreactor that *probably* fixes these in Subversion trunk. You can try
it out by running doc/core/examples/wxdemo.py. Hitting Ctrl-C, choosing
Exit from the menu or closing the menu all should have the same effect -
the application logs "shutting down in 0.3 seconds...", "2", "1", "0"
then exits. In addition, "Hello world" should continue to be printed
while the dialog box is open or you are holding down a menu.
Please try this out, and report success or failure at
<http://twistedmatrix.com/bugs/issue1235>. I'm especially interested to
hear if it works on Windows or Mac OS X. Please include your OS and
version of wxPython/wxWidgets when submitting reports.
Should we drop Python 2.2 support in Subversion head for Twisted 2.2?
- Debian stable now comes with Python 2.3
- Twisted 2.1 has been released with Python 2.2 support
Dropping Python 2.2 support has some good consequences:
- We get to delete code
- An entire class of bugs gets eliminated
- Disc space can be freed on the muon buildslave
Some bad consequences:
- People wanting to run Twisted 2.2 (or svn) on ancient versions of
Python won't be able to.
I'm learning Twisted, and already have a simple application
I wante to experiment adding an LDAP checker to it. Is there any open
source implementation of such a thing? I'm aware of LDAPtor, but I'm
looking for some examples of integration with twisted.cred.
Manuel Aristarán <maristaran(a)gmail.com>
Buenos Aires, Argentina
Dear twisted wizards,
would it be possible to also release Win32 exe installers for Twisted 2.1?
I'd prefer to always use the same way of installing things, if possible.
But if you won't release any Windows binaries any more, please state that on the website.
Henning Hraban Ramm
Südkurier Medienhaus / MediaPro
Wouldn't it be awesome if Pyramid ran on Ubuntu instead of a
not-even-latest release of Debian?
I've heard rumors it should be as simple as s/woody/breezy/ and a
dist-upgrade. We could do that and have jafo standing by in case the
machine becomes unbootable after the kernel upgrade.
This thought came to me after I was considering and loathing the
prospect of upgrading our roundup instance on such an ancient
Twisted | Christopher Armstrong: International Man of Twistery
Radix | -- http://radix.twistedmatrix.com
| Release Manager, Twisted Project
\\\V/// | -- http://twistedmatrix.com
|o O| |
On Fri, 28 Oct 2005 10:38:02 -0600, Justin Johnson <justinj(a)wolfwood.twistedmatrix.com> wrote:
>Date: Fri Oct 28 10:38:01 2005
>New Revision: 14952
> - copied unchanged from r14928, branches/win32-process/twisted/internet/iocpreactor/process.py
> - copied unchanged from r14928, branches/win32-process/twisted/internet/iocpreactor/process_waiter.py
>Impelement spawnProcess for IOCP reactor. Resolves issue1008.
While I am excited this feature is so close, it seems like it isn't quite there yet. Buildbot is now reporting only 442 tests run by the IOCP builder on Win32, and a really nasty looking traceback afterwards.
Could we revert this merge?
Currently when twisted connects to an irc server, the username on the
USER connect line, is assumed to be the same as the nickname.
Below is a patch that lets the username be set manually the same way as
'password' is defined. If a username isn't specified, it defaults to
assuming self.username = nickname
I found this useful to connect to a server which required a specific
username as part of its authentication but I didn't want to / need to
run ident. I couldn't think of a good reason for not being able to set
the username if we can already set everything else :-)
--- Twisted/twisted/words/protocols/irc.py (revision 14959)
+++ Twisted/twisted/words/protocols/irc.py (working copy)
@@ -535,6 +535,7 @@
nickname = 'irc'
password = None
realname = None
+ username = None
### Responses to various CTCP queries.
userinfo = None
@@ -895,7 +896,9 @@
if self.password is not None:
self.sendLine("PASS %s" % self.password)
- self.sendLine("USER %s foo bar :%s" % (nickname, self.realname))
+ if self.username is None:
+ self.username = nickname
+ self.sendLine("USER %s foo bar :%s" % (self.username, self.realname))
def setNick(self, nickname):
self.nickname = nickname
"Wickedness is a myth invented by good people to account for the curious
attractiveness of others." - Oscar Wilde