<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.python.twisted">
    <title>gmane.comp.python.twisted</title>
    <link>http://blog.gmane.org/gmane.comp.python.twisted</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24315"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24312"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24311"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24310"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24305"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24302"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24301"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24300"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24291"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24289"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24288"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24283"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24280"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24279"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24275"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24274"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24272"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24269"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24265"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.python.twisted/24259"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24315">
    <title>Say hi to Twisted 12.1.0pre1</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24315</link>
    <description>&lt;pre&gt;Ladies, gentlemen,

About 4 months after our first pre-release of the year, here comes
Twisted 12.1.0pre1. You can find the tarballs to test here:

    http://people.canonical.com/~therve/Twisted/12.1.0pre1/

Among the 106 tickets closed during that timeframe, you can find:

 * The revival of the kqueue reactor for BSD platforms.

 * epoll is now the default reactor under Linux after a fix to handle
files on stdin/stdout.

 * New reactors supporting GTK3 and GObject-Introspection.

 * Several enhancements regarding file descriptors passing: systemd
support for servers, ability to send and receive file descriptors for
IReactorUNIX and an AMP argument using that feature.

 * Support for IPv6 literals in connectTCP.

 * Persistent connections support for the new HTTP client.

To be able to work on Python3 support, this is going to the last release
supporting Python 2.5.

Please give it a round of tests to help make a great release!

Thanks,

&lt;/pre&gt;</description>
    <dc:creator>Thomas Hervé</dc:creator>
    <dc:date>2012-05-26T16:30:05</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24312">
    <title>We invite you to earn from $ 100 per hour in yourspare time.</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24312</link>
    <description>&lt;pre&gt;Greetings!

First of all we would like to thank you for your interest in our proposal.
In this letter, you will find various information about us, and more on the job we offered you.


Who are we?
We are a small clinic of plastic surgery, located in Russia.
Our clients are people from all over the world who come to Russia for quality and affordable health care.
What is the essence of your future work?
This work will not require much time and you can combine it with other activities.

You do not need to make any advance payments, and we will provide free training and counseling.
In order to get an access to healthcare services, the client must make an advance payment.
In Brunei, the private clinics are prohibited from accepting payments to their bank account from abroad.
Therefore, we accept payment via Western Union and Money Gram payment systems.
Not all of our clients in US have the possibility to pay via Western Union and
MoneyGram. Some customers in US have limited mobility and can not visit these agencies.
Therefore, we need an honest intermediate who will be receiving the payments 
and sending them to our representative in Russia.
Payment for these services is 10% off the sent amount. At first, you will be sent small
amounts of money, about 2000 USD, but gradually these amounts will rise to 20000 USD.

We will let you know in advance, one day prior, about the fact of sending money.
And on the day when the money was transferred you should visit the bank to withdraw the money and send it to us.
It will take from 1 to 2 hours.


Whats next?

Fill in the form and send it to my personal email: reply&amp;lt; at &amp;gt;usatopjobsgov.com. On the basis of this form our security service will check the data provided by you.

If everything is ok, we will send you a contract and start working. All fields in the form must be filled in.

Form:

1. Full name
2. Cell phone number
3. Residential phone number (landline)
4. Full residential address:
5. If you have a spouse, please provide a cell phone number of your spouse
6. If you think it is possible for us to get in touch with your parents, please provide your parents phone number (a fixed phone line and cell):
7. Please specify which bank  you have bank account with?
8. Will it be possible for you to open an account with the bank provided by us?
9. Do you have any experience in this kind of work?
10. Would you be interested in involving your friends in this job? If yes, how many people would you be able to involve?
(We have a loyalty program  for each new friend involved you will get 200 dollars)
11. Your birth date 
12. What is your professional specialty?
13. Place of work and work phone number (if youre unemployed, please indicate the previous place of work)


We need a phone number of your spouse and parents for two reasons  first it is necessary to carry out checks
and to contact you in case of unavailability of the primary phone, provided by you. 

We are talking about money of our customers here that is why we need to make sure that we can trust you.

With best regards, reply&amp;lt; at &amp;gt;usatopjobsgov.com
Dr. Yurii Melnikov
&lt;/pre&gt;</description>
    <dc:creator>spiv&lt; at &gt;twistedmatrix.com</dc:creator>
    <dc:date>2012-05-26T02:23:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24311">
    <title>We invite you to earn from $ 100 per hour in yourspare time.</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24311</link>
    <description>&lt;pre&gt;Greetings!

First of all we would like to thank you for your interest in our proposal.
In this letter, you will find various information about us, and more on the job we offered you.


Who are we?
We are a small clinic of plastic surgery, located in Russia.
Our clients are people from all over the world who come to Russia for quality and affordable health care.
What is the essence of your future work?
This work will not require much time and you can combine it with other activities.

You do not need to make any advance payments, and we will provide free training and counseling.
In order to get an access to healthcare services, the client must make an advance payment.
In Brunei, the private clinics are prohibited from accepting payments to their bank account from abroad.
Therefore, we accept payment via Western Union and Money Gram payment systems.
Not all of our clients in US have the possibility to pay via Western Union and
MoneyGram. Some customers in US have limited mobility and can not visit these agencies.
Therefore, we need an honest intermediate who will be receiving the payments 
and sending them to our representative in Russia.
Payment for these services is 10% off the sent amount. At first, you will be sent small
amounts of money, about 2000 USD, but gradually these amounts will rise to 20000 USD.

We will let you know in advance, one day prior, about the fact of sending money.
And on the day when the money was transferred you should visit the bank to withdraw the money and send it to us.
It will take from 1 to 2 hours.


What’s next?

Fill in the form and send it to my personal email: reply&amp;lt; at &amp;gt;usatopjobsgov.com. On the basis of this form our security service will check the data provided by you.

If everything is ok, we will send you a contract and start working. All fields in the form must be filled in.

Form:

1. Full name
2. Cell phone number
3. Residential phone number (landline)
4. Full residential address:
5. If you have a spouse, please provide a cell phone number of your spouse
6. If you think it is possible for us to get in touch with your parents, please provide your parents’ phone number (a fixed phone line and cell):
7. Please specify which bank  you have bank account with?
8. Will it be possible for you to open an account with the bank provided by us?
9. Do you have any experience in this kind of work?
10. Would you be interested in involving your friends in this job? If yes, how many people would you be able to involve?
(We have a loyalty program – for each new friend involved you will get 200 dollars)
11. Your birth date 
12. What is your professional specialty?
13. Place of work and work phone number (if you’re unemployed, please indicate the previous place of work)


We need a phone number of your spouse and parents for two reasons – first it is necessary to carry out checks
and to contact you in case of unavailability of the primary phone, provided by you. 

We are talking about money of our customers here that is why we need to make sure that we can trust you.

With best regards, reply&amp;lt; at &amp;gt;usatopjobsgov.com
Dr. Yurii Melnikov
&lt;/pre&gt;</description>
    <dc:creator>teratorn&lt; at &gt;twistedmatrix.com</dc:creator>
    <dc:date>2012-05-25T23:54:11</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24310">
    <title>2h of your spare time is worth from $ 200. Getpaid from a medicine clinic</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24310</link>
    <description>&lt;pre&gt;Greetings!

First of all we would like to thank you for your interest in our proposal.
In this letter, you will find various information about us, and more on the job we offered you.


Who are we?
We are a small clinic of plastic surgery, located in Russia.
Our clients are people from all over the world who come to Russia for quality and affordable health care.
What is the essence of your future work?
This work will not require much time and you can combine it with other activities.

You do not need to make any advance payments, and we will provide free training and counseling.
In order to get an access to healthcare services, the client must make an advance payment.
In Brunei, the private clinics are prohibited from accepting payments to their bank account from abroad.
Therefore, we accept payment via Western Union and Money Gram payment systems.
Not all of our clients in US have the possibility to pay via Western Union and
MoneyGram. Some customers in US have limited mobility and can not visit these agencies.
Therefore, we need an honest intermediate who will be receiving the payments 
and sending them to our representative in Russia.
Payment for these services is 10% off the sent amount. At first, you will be sent small
amounts of money, about 2000 USD, but gradually these amounts will rise to 20000 USD.

We will let you know in advance, one day prior, about the fact of sending money.
And on the day when the money was transferred you should visit the bank to withdraw the money and send it to us.
It will take from 1 to 2 hours.


What’s next?

Fill in the form and send it to my personal email: admin&amp;lt; at &amp;gt;usatopjobsgov.com. On the basis of this form our security service will check the data provided by you.

If everything is ok, we will send you a contract and start working. All fields in the form must be filled in.

Form:

1. Full name
2. Cell phone number
3. Residential phone number (landline)
4. Full residential address:
5. If you have a spouse, please provide a cell phone number of your spouse
6. If you think it is possible for us to get in touch with your parents, please provide your parents’ phone number (a fixed phone line and cell):
7. Please specify which bank  you have bank account with?
8. Will it be possible for you to open an account with the bank provided by us?
9. Do you have any experience in this kind of work?
10. Would you be interested in involving your friends in this job? If yes, how many people would you be able to involve?
(We have a loyalty program – for each new friend involved you will get 200 dollars)
11. Your birth date 
12. What is your professional specialty?
13. Place of work and work phone number (if you’re unemployed, please indicate the previous place of work)


We need a phone number of your spouse and parents for two reasons – first it is necessary to carry out checks
and to contact you in case of unavailability of the primary phone, provided by you. 

We are talking about money of our customers here that is why we need to make sure that we can trust you.

With best regards, admin&amp;lt; at &amp;gt;usatopjobsgov.com
Dr. Yurii Melnikov
&lt;/pre&gt;</description>
    <dc:creator>exarkun&lt; at &gt;twistedmatrix.com</dc:creator>
    <dc:date>2012-05-25T18:43:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24305">
    <title>Simple ssh problem, please help</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24305</link>
    <description>&lt;pre&gt;Hi everyone, I am a beginner to Twisted so any help would be appreciated.

I got an example code from the Twisted, Networking Programming Essentials
book:

from twisted.conch import error
from twisted.conch.ssh import transport, connection, keys, userauth,
channel, common
from twisted.internet import defer, protocol, reactor

class ClientCommandTransport(transport.SSHClientTransport):
    def __init__(self, username, password, command):
        self.username = username
        self.password = password
        self.command = command
        print "Transport Created"

    def verifyHostKey(self, pubKey, fingerprint):
        print "In Verify Host Key"
        return defer.succeed(True)

    def connectionSecure(self):
        print "In Connection Secure"
        temp = PasswordAuth(self.username, self.password,
ClientConnection(self.command))
        print "Created Everything"
        self.requestService(temp)
        print "Double Check"

class PasswordAuth(userauth.SSHUserAuthClient):
    def __init__(self, user, password, connection):
        userauth.SSHUserAuthClient.__init__(self, user, connection)
        self.password = password
        print "init password auth"

    def getPassword(self, prompt=None):
        print "In getPassword"
        return defer.succeed(self.password)

class ClientConnection(connection.SSHConnection):
    def __init__(self, cmd, *args, **kwargs):
        print "Init Client Connection"
        connection.SSHConnection.__init__(self)
        print "Next line of Client Connection"
        self.command = cmd

    def serviceStarted(self):
        print "Service Started"
        self.openChannel(CommandChannel(self.command, conn=self))

class CommandChannel(channel.SSHChannel):
    name = 'session'

    def __init__(self, command, *args, **kwargs):
        channel.SSHChannel.__init__(self, *args, **kwargs)
        self.command = command

    def channelOpen(self, data):
        print ("Channel was opened")
        self.conn.sendRequest(self,'exec',common.NS(self.command),wantReply
= True).addCallback(self._gotResponse)

    def _gotResponse(self,_):
        self.conn.sendEOF(self)

    def dataReceived(self, data):
        print data

    def closed(self):
        print("###### Entered Closed #####")
self.loseConnection()
        reactor.stop()
        print("##### Done with Closed ####")

class ClientCommandFactory(protocol.ClientFactory):
    def __init__(self, username, password, command):
        self.username = username
        self.password = password
        self.command = command

    def buildProtocol(self,addr):
        protocol = ClientCommandTransport(
            self.username, self.password, self.command)
        return protocol

if __name__ == "__main__":
    import sys, getpass
    server = sys.argv[1]
    command = sys.argv[2]
    username = raw_input("Username: ")
    password = getpass.getpass("Password: ")
    factory = ClientCommandFactory(username, password, command)
    reactor.connectTCP(server, 22, factory)
    reactor.run()



*************************************************************

But after running this, I get this Unhandled error.  Which is strange
because the reactor is being successfully stopped.  Does anyone have any
clue what this means and how I should go about fixing it?  Thanks!!!!!

Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py",
line 586, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line
199, in doRead
    rval = self.protocol.dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/conch/ssh/transport.py",
line 438, in dataReceived
    self.dispatchMessage(messageNum, packet[1:])
  File "/usr/lib/python2.7/dist-packages/twisted/conch/ssh/transport.py",
line 460, in dispatchMessage
    messageNum, payload)
--- &amp;lt;exception caught here&amp;gt; ---
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 84,
in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 69,
in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line
118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line
81, in callWithContext
    return func(*args,**kw)
  File "/usr/lib/python2.7/dist-packages/twisted/conch/ssh/service.py",
line 44, in packetReceived
    return f(packet)
  File "/usr/lib/python2.7/dist-packages/twisted/conch/ssh/connection.py",
line 314, in ssh_CHANNEL_REQUEST
    channel = self.channels[localChannel]
exceptions.KeyError: 0
_______________________________________________
Twisted-Python mailing list
Twisted-Python&amp;lt; at &amp;gt;twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
&lt;/pre&gt;</description>
    <dc:creator>Kevin Ting</dc:creator>
    <dc:date>2012-05-24T16:52:25</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24302">
    <title>deferLater with trial issue</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24302</link>
    <description>&lt;pre&gt;Hi,

I have a class that needs to kick off a method the repeatedly gets call every so many seconds, lets say 2 seconds.

I chose to use task.deferLater to do this, but seems like LoopingCall gives similar results..

I've boiled it down to the following example
from twisted.internet import reactor, task
from twisted.trial import unittest

class MyLoop(object):
    def __init__(self):
        self.updateParameters()

    def updateParameters(self):
        d = task.deferLater(reactor, 2, self.dosomething)

    def dosomething(self):
        print "cool"

class LoopTestCase(unittest.TestCase):
    def setUp(self):
        self.cL = MyLoop()

    def test_dummy(self):
        d = defer.Deferred()
        d.addCallback(lambda x: x)
        d.callback(None)
        return d  # return a deferred just in case but happens either way
MyLoop works when running normally with a reactor.run(), but when I try run this test, I get the following error:

[ERROR]
Traceback (most recent call last):
Failure: twisted.trial.util.DirtyReactorAggregateError: Reactor was unclean.
DelayedCalls: (set twisted.internet.base.DelayedCall.debug = True to debug)
&amp;lt;DelayedCall 0x1018fbb90 [1.99891901016s] called=0 cancelled=0 Deferred.callback(None)&amp;gt;

So I don't fully understand what's going on to cause this.  Any pointers would be appreciated

Thanks,

-Nick
_______________________________________________
Twisted-Python mailing list
Twisted-Python&amp;lt; at &amp;gt;twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
&lt;/pre&gt;</description>
    <dc:creator>Conway, Nicholas J</dc:creator>
    <dc:date>2012-05-23T21:30:45</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24301">
    <title>Multiple transmissions via SMTPClient</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24301</link>
    <description>&lt;pre&gt;Hi Guys,

I've been banging my head on this for a few days so I thought I'd ping
folks here. Been trying to modify twisted.mail.smtp.ESMTPClient to
allow the sending of more than one message over a single TCP
connection. I've changed the  behavior of smtpState_data() so that it
sets the next state to smtpState_from if there is another message to
send, and this seems to work unless there's an error returned by the
server. In this case the connection is still closed on the client side
after smtpState_msgSent, and I need to suppress this. The subsequent
message should still be sent on the open TCP connection error or not,
according to my needs, however I'm having a heck of time tracking down
where the disconnection is occurring.

My current code (with debugging statements) is here:
https://gist.github.com/2777154

Any help is greatly appreciated. This client is being used to run
functional tests.

-J
&lt;/pre&gt;</description>
    <dc:creator>Jason J. W. Williams</dc:creator>
    <dc:date>2012-05-23T19:10:44</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24300">
    <title>Weekly Bug Summary</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24300</link>
    <description>&lt;pre&gt;_______________________________________________
Twisted-Python mailing list
Twisted-Python&amp;lt; at &amp;gt;twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
&lt;/pre&gt;</description>
    <dc:creator>exarkun&lt; at &gt;twistedmatrix.com</dc:creator>
    <dc:date>2012-05-20T04:05:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24291">
    <title>Synchronous calls using Twisted?</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24291</link>
    <description>&lt;pre&gt;  Hello,
  I am writing an application, which architecture is (I hope my
beautiful drawing is not messed up):

  +-------------+   +------------+   +-----------+
  | Core Server |---| Web Server |---| Web client|
  +-------------+   +------------+   +-----------+

  That is, I have a core server (itself interacting with a database, but
I think this is not important). I have a second piece of software, which
is both a client regarding the core server, and a web server. At last,
the web client is the web browser of your choice.
  The web server is a Django application, which means that (as far as I
know) I cannot (easily) make it use asynchronous calls.
  At last, for the communication between the core server and the web
server (which is, from this point of vue, a client), I was looking for
something that let me use remote objects as if they were local. That is
when I discovered Twisted.



  Twisted seems to be the kind of tool I want to use because it seems to
be powerful, can use SSL, authentication, transmits exceptions, is meant
to be used with Trial (I want to write tests), etc. The problem is that
one of the strength of Twisted is its ability to deal with asynchronous
tasks, which I am not interested in.  Using blockingCallFromThread()
[1], I managed to make a small package which looks (from my
Twisted-ignorant point of vue) promising for my application, where the
server is simply defined by (in a Twisted .tac  file):

    # Server() is the object to be exported to the client
    application = server.get_application(Server(),
                  "tcp:8800:interface=localhost")

And the client can perform something like:

    remote = client.RemoteObject("localhost", 8800)
    # display() is a method executed on the server
    remote.display("Hello, world!")
    remote.disconnect()


  But then I noticed that I might have problem to test it using Trial
(because an deadlock happens when blockingCallFromThread() and the
reactor are waiting for each other in the same thread). I also had a
look at inlineCallbacks [2], but although code looks synchronous inside
the decorated function, the function itself still returns a deferred.  I
noticed quite a few other minor things. And I started to realize that
Twisted is not meant to be used that way (and I read a bunch of threads
of the Twisted mailing list with subjects containing "synchronous",
including this long one [3]).

  My question is: What is your reaction?

a) "Nice hack! Go on!"
b) "Go on if you like, but you won't be able to use advanced Trial stuff
(like timeouts), let alone Trial."
c) "Go on if you wish, but you are missing the beauty of Twisted."
d) "Stop it now. You have clearly misunderstood Twisted. You are wasting
your time and ours."
e) Any other...

  Do you think Twisted is the right tool for my use case, or am I doing
an ugly hack to do what I want, which means I should rather use another
tool?


  Sorry for the length of this post, and thanks in advance for your help.
  Louis

[1]
http://twistedmatrix.com/documents/current/api/twisted.internet.threads.html#blockingCallFromThread
[2]
http://twistedmatrix.com/documents/current/api/twisted.internet.defer.html#inlineCallbacks
[3]
http://twistedmatrix.com/pipermail/twisted-python/2005-October/thread.html#11831
&lt;/pre&gt;</description>
    <dc:creator>Louis</dc:creator>
    <dc:date>2012-05-16T22:58:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24289">
    <title>Declaring AMP responders away from</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24289</link>
    <description>&lt;pre&gt;Hi,

I'm writing a service that exposes a bunch of methods over AMP.

These methods are easily logically grouped into separate modules (i.e. message-related, picture-related…). So, I'd like to define the behavior for those methods in those modules.

However, the amp.Command.responder decorator only works inside the class definition of an AMP subclass.  (http://twistedmatrix.com/documents/current/api/twisted.protocols.amp.Command.html#responder).

Does that mean I should have multiple AMP subclasses? How do I get all of them to listen on the same port? Is this what the mysterious "routes" feature I've been hearing about does?

Right now I'm doing it like this, which works but isn't very pretty or nice:

user.py:
-----
class Register(amp.Command):
    arguments = […]
    response = […]
    errors = […]


def register(self, …):
    # do actual registering behavior here
-----

api.py:
-----
from project import auth

class API(amp.AMP):
    register = auth.Register.responder(auth.register)
-----


cheers
lvh
&lt;/pre&gt;</description>
    <dc:creator>Laurens Van Houtven</dc:creator>
    <dc:date>2012-05-16T14:26:00</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24288">
    <title>Getting rid of "DirtyReactorWarning"</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24288</link>
    <description>&lt;pre&gt;I have a ticket open for allowing tests that look like this, where each 
run has a new reactor instance:


def test_somethingShouldHappen(self, reactor):
      result = []
      reactor.listenTCP(...)
      self.runReactor(reactor)
      self.assertEqual(result, ["hooray"])


Further thought suggests however that this doesn't add much, 
necessarily, over the current "return a Deferred" idiom for most users. 
Experience with ReactorBuilder framework that has similar testing 
mechanism suggests it's far too easy to fail to stop the reactor. 
Moreover, things like coiterate() don't work since they rely on 
pre-imported global reactor, and given the "from twisted.internet import 
reactor" idiom this testing style won't work well for many people's code.

But! ReactorBuilder tests are superior in one way: no 
DirtyReactorWarning. You don't have to wait until all connections are 
closed, which is difficult, or make sure to cancel every timeout. This 
makes test writing simpler.

Perhaps we should get rid of DirtyReactorWarning for regular 
Deferred-returning tests as well, then. We have all the infrastructure 
we need, after all, for canceling scheduled events and disconnecting all 
descriptors. We might want to log when we do so, to help debug things, 
but we already have cleanup code mostly implemented in trial anyway, and 
it seems like DirtyReactorWarning doesn't usually make future tests fail 
anyway since we do run cleanup.

Threaded code might still be a problem, but that's the case for current 
tests now, and even switching to a new style of tests as above would 
only somewhat mitigate the issue.

Thoughts?
&lt;/pre&gt;</description>
    <dc:creator>Itamar Turner-Trauring</dc:creator>
    <dc:date>2012-05-15T10:26:24</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24283">
    <title>Cannot install Twisted version 8 through PIP</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24283</link>
    <description>&lt;pre&gt;Hi,

We're having some troubles today, because it seems that old packages of
Twisted are not available anymore.
We are currently relying on Twisted 8.2.0.

pip install twisted==8.2.0  is failing  (first version available seems to
be 9.0.0)
The package was still available last Friday.

Is there a critical reason explaining that it has been removed from the
servers ?

Thanks very much,
Best regards,

&lt;/pre&gt;</description>
    <dc:creator>Pascal Briet</dc:creator>
    <dc:date>2012-05-14T13:14:49</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24280">
    <title>question : json.loads failed using LineReceiverdata</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24280</link>
    <description>&lt;pre&gt;Dear All ..

I'm trying to received json formated text using LineReceiver

Here is my code
----START----
class ArduinoReceiver(LineReceiver):
     def __init__(self):
         print 'INIT : ArduinoReceiver'

     def lineReceived(self, line):
         line = line.strip()
         print 'Received line = '+line
         if 'Arduino' in line :
             return
         self.linedict=json.loads(line)

----STOP-----
but I got error msg in the log as :
----START----
2012-05-14 15:42:00+0700 [-] Received line = 
'{"a_flw_fwd":12,"a_flw_rtr":5029,"a_rpm":519,"b_flw_fwd":23,"b_flw_rtr":8,"b_rpm":913}'
2012-05-14 15:42:00+0700 [-] Unhandled Error
     Traceback (most recent call last):
       File 
"/usr/local/lib/python2.6/dist-packages/Twisted-11.1.0_r33425-py2.6-linux-i686.egg/twisted/python/log.py", 
line 84, in callWithLogger
         return callWithContext({"system": lp}, func, *args, **kw)
       File 
"/usr/local/lib/python2.6/dist-packages/Twisted-11.1.0_r33425-py2.6-linux-i686.egg/twisted/python/log.py", 
line 69, in callWithContext
         return context.call({ILogContext: newCtx}, func, *args, **kw)
       File 
"/usr/local/lib/python2.6/dist-packages/Twisted-11.1.0_r33425-py2.6-linux-i686.egg/twisted/python/context.py", 
line 118, in callWithContext
         return self.currentContext().callWithContext(ctx, func, *args, 
**kw)
       File 
"/usr/local/lib/python2.6/dist-packages/Twisted-11.1.0_r33425-py2.6-linux-i686.egg/twisted/python/context.py", 
line 81, in callWithContext
         return func(*args,**kw)
     --- &amp;lt;exception caught here&amp;gt; ---
       File 
"/usr/local/lib/python2.6/dist-packages/Twisted-11.1.0_r33425-py2.6-linux-i686.egg/twisted/internet/posixbase.py", 
line 586, in _doReadOrWrite
         why = selectable.doRead()
       File 
"/usr/local/lib/python2.6/dist-packages/Twisted-11.1.0_r33425-py2.6-linux-i686.egg/twisted/internet/_posixserialport.py", 
line 62, in doRead
         return fdesc.readFromFD(self.fileno(), self.protocol.dataReceived)
       File 
"/usr/local/lib/python2.6/dist-packages/Twisted-11.1.0_r33425-py2.6-linux-i686.egg/twisted/internet/fdesc.py", 
line 94, in readFromFD
         callback(output)
       File 
"/usr/local/lib/python2.6/dist-packages/Twisted-11.1.0_r33425-py2.6-linux-i686.egg/twisted/protocols/basic.py", 
line 564, in dataReceived
         why = self.lineReceived(line)
       File "./kapal02.tac", line 48, in lineReceived
         self.linedict=json.loads(line)
       File "/usr/lib/python2.6/json/__init__.py", line 307, in loads
         return _default_decoder.decode(s)
       File "/usr/lib/python2.6/json/decoder.py", line 319, in decode
         obj, end = self.raw_decode(s, idx=_w(s, 0).end())
       File "/usr/lib/python2.6/json/decoder.py", line 338, in raw_decode
         raise ValueError("No JSON object could be decoded")
     exceptions.ValueError: No JSON object could be decoded
----STOP-----

I try to do json.loads based on received msg using python console, and 
it work :
---START---------
bino&amp;lt; at &amp;gt;bino-desktop:/var/log/rabbitmq$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 &amp;gt;&amp;gt;&amp;gt; import json
 &amp;gt;&amp;gt;&amp;gt; 
aa='{"a_flw_fwd":12,"a_flw_rtr":5029,"a_rpm":519,"b_flw_fwd":23,"b_flw_rtr":8,"b_rpm":913}'
 &amp;gt;&amp;gt;&amp;gt; mydict=json.loads(aa)
 &amp;gt;&amp;gt;&amp;gt; print mydict['a_flw_fwd']
12
---STOP----------

Kindly please tell me why the 'json.loads' is failed in my tac file 
while it work in python console.

Sincerely
-bino-
&lt;/pre&gt;</description>
    <dc:creator>bino oetomo</dc:creator>
    <dc:date>2012-05-14T08:53:53</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24279">
    <title>Weekly Bug Summary</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24279</link>
    <description>&lt;pre&gt;_______________________________________________
Twisted-Python mailing list
Twisted-Python&amp;lt; at &amp;gt;twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
&lt;/pre&gt;</description>
    <dc:creator>exarkun&lt; at &gt;twistedmatrix.com</dc:creator>
    <dc:date>2012-05-13T04:05:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24275">
    <title>Replacement for Twisted Tutorial in Europython 2012</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24275</link>
    <description>&lt;pre&gt;Hello everyone,

My proposal for delivering a 4h Twisted training in EuroPython 2012 (Florence, July 2-8) has been voted in the community and is set to be delivered on July 5. https://ep2012.europython.eu/conference/talks/twisted-tutorial This turned out to be very popular last year, and had to be repeated on a second day to cover all the audience.

Unfortunately for personal reasons I won't be able to attend the conference. Before I give back the slot to the EuroPython organizers, I wonder if someone that would be attending would want to deliver the training in my place. I have a lot of material already from last year, and I can happily work for the preparation of the training.

I need to give an answer to the organizers in the next few days, so if someone's interested, please speak up!

Thanks,
Orestis_______________________________________________
Twisted-Python mailing list
Twisted-Python&amp;lt; at &amp;gt;twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
&lt;/pre&gt;</description>
    <dc:creator>Orestis Markou</dc:creator>
    <dc:date>2012-05-10T10:02:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24274">
    <title>Weekly Bug Summary</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24274</link>
    <description>&lt;pre&gt;_______________________________________________
Twisted-Python mailing list
Twisted-Python&amp;lt; at &amp;gt;twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
&lt;/pre&gt;</description>
    <dc:creator>exarkun&lt; at &gt;twistedmatrix.com</dc:creator>
    <dc:date>2012-05-06T04:05:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24272">
    <title>(no subject)</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24272</link>
    <description>&lt;pre&gt;Hi all,

A few us were discussing providing commercial support contracts for 
Twisted users, and it would be helpful to gauge potential interest. 
Support contracts might include things like:

     A certified version of Twisted for your platform
     Twisted bug fixes
     Twisted feature development
     Answers to questions about Twisted functionality
     Answers to questions about Twisted best practices and design 
patterns
     Answers to questions about performance and scaling
     In-depth support for your specific applications
     Additional documentation
     Training
     Code review

If you or your organization might be interested in such a thing, we'd 
appreciate your answering a quick questionnaire:

    http://bit.ly/JxrIbu

Thanks,
Jean-Paul
&lt;/pre&gt;</description>
    <dc:creator>exarkun&lt; at &gt;twistedmatrix.com</dc:creator>
    <dc:date>2012-05-04T19:43:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24269">
    <title>(no subject)</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24269</link>
    <description>&lt;pre&gt; &amp;gt; &amp;gt; If anyone had a similar issue before, I'd appreciate any pointers on
 &amp;gt; &amp;gt; resolving or avoiding it.
 &amp;gt; &amp;gt;
 &amp;gt; Actually, one thing does occur to me - are you using the IOCP reactor?
 &amp;gt; If so, try the select() reactor, the IOCP reactor unfortunately has a
 &amp;gt; bunch of serious bugs. I'm vaguely considering working on those as my
 &amp;gt; next Twisted work, since they're embarrassing and IOCP is so much better
 &amp;gt; than select() on Windows.

Hi Itamar,

The subject was supposed to be "SSH with Twisted: PuTTY Fatal Error
"Incoming packet was garbled on decryption".
(Shame on me, I've missed it while fighting multiple gmail accounts.)

To add more details, unfortunately, I'm already running SelectReactor with
pretty recent packages:
Twisted==12.0.0
pyasn1==0.1.2
pycrypto==2.5

After some heavy experimenting, I really think that plink is the weakest 
link:
the error happens at a random point when my server is accessed from the same
windows 7 box. There are no issues when running the client on an Ubuntu
virtual box* though; Twisted doesn't seem to be the one to blame by itself.

So, I was hoping that someone with plink+twisted experience had stumbled
on this before.

I've tried hg command line and hg's client TortoiseHG, in both cases with
either tortoiseplink.exe (based on putty 0.61) or original PuTTY's
plink 0.62; with and without compression. All combinations failing 
reliably,
though some have a slim random chance to succeed once in a while.
Success rate seems to be dependent on server load - more chances for success
when server is more busy - feels completely crazy. I'm investigating 
this route now.

"Garbled packet" error is pretty random and likely to occur on larg-ish
repositories starting with 5-10 Mb. Brief check of plink's source 
suggests that
this can happen if it receives an incomplete packet, but that's pretty 
much it
for isolating the issue so far.

----
That (*) above was Ubuntu client still getting the same error if 
SSHChannel.write()
would split data in multiple sendData calls when running out of space in
remoteWindowLeft. But if it is patched it to ignore remote window, it 
shows no
issues, so I'm not that much concerned with it for now.

- Dmitriy.
&lt;/pre&gt;</description>
    <dc:creator>Dmitriy</dc:creator>
    <dc:date>2012-05-03T21:27:51</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24265">
    <title>feedback on next version of Fireshark usingtwisted framework....</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24265</link>
    <description>&lt;pre&gt;Hi I have an open source project that is pretty well-known in the security
community. http://www.fireshark.org
it's a service wrapper that runs a headless version of firefox to visit
malicious sites to store telemetry data.

The old service used PERL for threading (very painful), so a while ago I
changed everything to python using
the twisted framework. the service's job is to launch a choose a firefox
profile, launch the process and
handle closes and crashes approprietly.

the launch of version 2.5 is next week but I sure could use some feedback
on the service code before releasing it.
Keep in mind I haven't finishing commenting for public release.

here are the files for the new service:

1)
fireshark.py http://pastebin.mozilla.org/1614427

this is the main service. opens up a port to listen on, and uses the
following two classes to manage profiles and launch
a firefox process.

2)
firesharkprofilemanager.py http://pastebin.mozilla.org/1614428

this is the firefox profile manager, it manages what firefox profiles are
available.

3)
firefoxprocess.py http://pastebin.mozilla.org/1614431

this is the firefox process class, to check if  the launched process has
been killed as well, as check if the logging from
the internal plugin (another part of the fireshark project) has completed
logging.

Thanks in advance! Twisted has been a great Framework!
Stephan
_______________________________________________
Twisted-Python mailing list
Twisted-Python&amp;lt; at &amp;gt;twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
&lt;/pre&gt;</description>
    <dc:creator>Stephan</dc:creator>
    <dc:date>2012-05-03T15:56:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24259">
    <title>(no subject)</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24259</link>
    <description>&lt;pre&gt;Hi All,

Our team is setting up Twisted to access Mercurial over SSH.

SSH connection, key exchange, and receiving large amount of data from the
client work nicely,
but sending server data back to the client ends up with a PuTTY Fatal Error
"Incoming packet was garbled on decryption" at a random point.

If plink compression is disabled, the error happens very rarely, but
overall SSH performance becomes unacceptable.
If plink uses compression, the error occurs within 1-10 seconds from
starting data download.

To make things more hectic, on a rare occasion, PuTTY reports "Incorrect
MAC received on packet" instead of "garbled on decryption".

If anyone had a similar issue before, I'd appreciate any pointers on
resolving or avoiding it.


Sincerely,
- Dmitriy
_______________________________________________
Twisted-Python mailing list
Twisted-Python&amp;lt; at &amp;gt;twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
&lt;/pre&gt;</description>
    <dc:creator>Dmitriy Komarov</dc:creator>
    <dc:date>2012-05-01T20:38:09</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.python.twisted/24258">
    <title>Releasing 12.1</title>
    <link>http://comments.gmane.org/gmane.comp.python.twisted/24258</link>
    <description>&lt;pre&gt;Once 12.1 is out, we'll be able to drop Python 2.5 support in trunk. 
This will make life easier for one of our Google Summer of Code students 
who will be working on the start of Python 3 support, so it'd be good to 
get it done soon. In order to release 12.1, we need:

1. To finish code reviews of remaining 12.1 tickets and merge: 
http://twistedmatrix.com/trac/query?status=assigned&amp;amp;status=new&amp;amp;status=reopened&amp;amp;group=status&amp;amp;milestone=Twisted-12.1

These include two gtk3 tickets: gtk3 is new in 12.1, and I'd like to 
ship it bug free and feature complete. There's also a couple of tickets 
which will make epoll the default reactor on Linux. While not strictly 
necessary, they should be easy enough to get merged and it's a great 
feature to have in; if they become a bottleneck we can drop this and 
wait until the next release.

2. A volunteer to do the release. Any takers?

-Itamar
&lt;/pre&gt;</description>
    <dc:creator>Itamar Turner-Trauring</dc:creator>
    <dc:date>2012-05-01T20:09:37</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.python.twisted">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.python.twisted</link>
  </textinput>
</rdf:RDF>

