/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/store/text.py

  • Committer: Martin Pool
  • Date: 2006-10-06 02:04:17 UTC
  • mfrom: (1908.10.1 bench_usecases.merge2)
  • mto: This revision was merged to the branch mainline in revision 2068.
  • Revision ID: mbp@sourcefrog.net-20061006020417-4949ca86f4417a4d
merge additional fix from cfbolz

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# Copyright (C) 2005 by Canonical Development Ltd
2
 
 
 
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
5
5
# the Free Software Foundation; either version 2 of the License, or
6
6
# (at your option) any later version.
7
 
 
 
7
#
8
8
# This program is distributed in the hope that it will be useful,
9
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
11
# GNU General Public License for more details.
12
 
 
 
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
63
63
 
64
64
    def _try_put(self, fn, f):
65
65
        try:
66
 
            self._transport.put(fn, f, mode=self._file_mode)
 
66
            self._transport.put_file(fn, f, mode=self._file_mode)
67
67
        except NoSuchFile:
68
68
            if not self._prefixed:
69
69
                raise
71
71
                self._transport.mkdir(os.path.dirname(fn), mode=self._dir_mode)
72
72
            except FileExists:
73
73
                pass
74
 
            self._transport.put(fn, f, mode=self._file_mode)
 
74
            self._transport.put_file(fn, f, mode=self._file_mode)
75
75
 
76
76
    def _get(self, fn):
77
77
        if fn.endswith('.gz'):
114
114
        # gzip.GzipFile.read() requires a tell() function
115
115
        # but some transports return objects that cannot seek
116
116
        # so buffer them in a StringIO instead
117
 
        if hasattr(f, 'tell'):
 
117
        if getattr(f, 'tell', None) is not None:
118
118
            return gzip.GzipFile(mode='rb', fileobj=f)
119
119
        else:
120
120
            from cStringIO import StringIO
121
121
            sio = StringIO(f.read())
122
122
            return gzip.GzipFile(mode='rb', fileobj=sio)
123
 
 
124
 
 
125
 
def ScratchTextStore():
126
 
    return TextStore(ScratchTransport())