root/galaxy-central/eggs/Paste-1.6-py2.6.egg/paste/util/filemixin.py

リビジョン 3, 1.4 KB (コミッタ: kohda, 14 年 前)

Install Unix tools  http://hannonlab.cshl.edu/galaxy_unix_tools/galaxy.html

行番号 
1# (c) 2005 Ian Bicking and contributors; written for Paste (http://pythonpaste.org)
2# Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
3
4class FileMixin(object):
5
6    """
7    Used to provide auxiliary methods to objects simulating files.
8    Objects must implement write, and read if they are input files.
9    Also they should implement close.
10
11    Other methods you may wish to override:
12    * flush()
13    * seek(offset[, whence])
14    * tell()
15    * truncate([size])
16
17    Attributes you may wish to provide:
18    * closed
19    * encoding (you should also respect that in write())
20    * mode
21    * newlines (hard to support)
22    * softspace
23    """
24
25    def flush(self):
26        pass
27
28    def next(self):
29        return self.readline()
30
31    def readline(self, size=None):
32        # @@: This is a lame implementation; but a buffer would probably
33        # be necessary for a better implementation
34        output = []
35        while 1:
36            next = self.read(1)
37            if not next:
38                return ''.join(output)
39            output.append(next)
40            if size and size > 0 and len(output) >= size:
41                return ''.join(output)
42            if next == '\n':
43                # @@: also \r?
44                return ''.join(output)
45
46    def xreadlines(self):
47        return self
48
49    def writelines(self, lines):
50        for line in lines:
51            self.write(line)
52
53   
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。