home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_1857 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  2.3 KB  |  75 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __docformat__ = 'restructuredtext en'
  5. import sys
  6. from cStringIO import StringIO
  7.  
  8. class OutputTrap(object):
  9.     
  10.     def __init__(self, out = None, err = None):
  11.         if out is None:
  12.             self.out = StringIO()
  13.         else:
  14.             self.out = out
  15.         if err is None:
  16.             self.err = StringIO()
  17.         else:
  18.             self.err = err
  19.         self.out_set = False
  20.         self.err_set = False
  21.  
  22.     
  23.     def out_text(self):
  24.         return self.out.getvalue()
  25.  
  26.     out_text = property(out_text)
  27.     
  28.     def err_text(self):
  29.         return self.err.getvalue()
  30.  
  31.     err_text = property(err_text)
  32.     
  33.     def set(self):
  34.         if sys.stdout is not self.out:
  35.             self._out_save = sys.stdout
  36.             sys.stdout = self.out
  37.             self.out_set = True
  38.         
  39.         if sys.stderr is not self.err:
  40.             self._err_save = sys.stderr
  41.             sys.stderr = self.err
  42.             self.err_set = True
  43.         
  44.  
  45.     
  46.     def unset(self):
  47.         if self.out_set:
  48.             sys.stdout = self._out_save
  49.         
  50.         self.out_set = False
  51.         if self.err_set:
  52.             sys.stderr = self._err_save
  53.         
  54.         self.err_set = False
  55.  
  56.     
  57.     def clear(self):
  58.         self.out.reset()
  59.         self.out.truncate()
  60.         self.err.reset()
  61.         self.err.truncate()
  62.  
  63.     
  64.     def add_to_message(self, message):
  65.         out_text = self.out_text
  66.         if out_text:
  67.             message['stdout'] = out_text
  68.         
  69.         err_text = self.err_text
  70.         if err_text:
  71.             message['stderr'] = err_text
  72.         
  73.  
  74.  
  75.