[pyrepl-checkins] pyrepl/pyrepl python_reader.py,1.16,1.17

mwh@codespeak.net mwh@codespeak.net
Wed, 12 May 2004 18:54:16 +0200 (MEST)


Update of /cvs/pyrepl/pyrepl/pyrepl
In directory thoth.codespeak.net:/tmp/cvs-serv28146/pyrepl

Modified Files:
	python_reader.py 
Log Message:
slightly less hackish twisted support

Index: python_reader.py
===================================================================
RCS file: /cvs/pyrepl/pyrepl/pyrepl/python_reader.py,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** python_reader.py	12 May 2004 16:21:38 -0000	1.16
--- python_reader.py	12 May 2004 16:54:13 -0000	1.17
***************
*** 289,294 ****
      def twistedinteract(self):
          from twisted.internet import reactor
          outerself = self
!         class Me(object):
              def fileno(self):
                  """ We want to select on FD 0 """
--- 289,296 ----
      def twistedinteract(self):
          from twisted.internet import reactor
+         from twisted.internet.abstract import FileDescriptor
+         import signal
          outerself = self
!         class Me(FileDescriptor):
              def fileno(self):
                  """ We want to select on FD 0 """
***************
*** 297,305 ****
              def doRead(self):
                  """called when input is ready"""
!                 outerself.handle1()
  
-             def logPrefix(self): return 'PyRepl'
-             
          reactor.addReader(Me())
          self.prepare()
          try:
--- 299,311 ----
              def doRead(self):
                  """called when input is ready"""
!                 try:
!                     outerself.handle1()
!                 except EOFError:
!                     reactor.stop()
  
          reactor.addReader(Me())
+         reactor.callWhenRunning(signal.signal,
+                                 signal.SIGINT,
+                                 signal.default_int_handler)
          self.prepare()
          try: