Package paramiko :: Module compress
[frames] | no frames]

Source Code for Module paramiko.compress

 1  # Copyright (C) 2003-2007  Robey Pointer <robeypointer@gmail.com> 
 2  # 
 3  # This file is part of paramiko. 
 4  # 
 5  # Paramiko is free software; you can redistribute it and/or modify it under the 
 6  # terms of the GNU Lesser General Public License as published by the Free 
 7  # Software Foundation; either version 2.1 of the License, or (at your option) 
 8  # any later version. 
 9  # 
10  # Paramiko is distrubuted in the hope that it will be useful, but WITHOUT ANY 
11  # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 
12  # A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more 
13  # details. 
14  # 
15  # You should have received a copy of the GNU Lesser General Public License 
16  # along with Paramiko; if not, write to the Free Software Foundation, Inc., 
17  # 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. 
18   
19  """ 
20  Compression implementations for a Transport. 
21  """ 
22   
23  import zlib 
24   
25   
26 -class ZlibCompressor (object):
27 - def __init__(self):
28 self.z = zlib.compressobj(9)
29
30 - def __call__(self, data):
31 return self.z.compress(data) + self.z.flush(zlib.Z_FULL_FLUSH)
32 33
34 -class ZlibDecompressor (object):
35 - def __init__(self):
36 self.z = zlib.decompressobj()
37
38 - def __call__(self, data):
39 return self.z.decompress(data)
40