~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/local.py

  • Committer: Mark Hammond
  • Date: 2009-01-12 01:55:34 UTC
  • mto: (3995.8.2 prepare-1.12)
  • mto: This revision was merged to the branch mainline in revision 4007.
  • Revision ID: mhammond@skippinet.com.au-20090112015534-yfxg50p7mpds9j4v
Include all .html files from the tortoise doc directory.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
"""Transport for the local filesystem.
18
18
 
71
71
            self._local_base = ''
72
72
            super(LocalTransport, self).__init__(base)
73
73
            return
74
 
 
 
74
            
75
75
        super(LocalTransport, self).__init__(base)
76
76
        self._local_base = urlutils.local_path_from_url(base)
77
77
 
78
78
    def clone(self, offset=None):
79
79
        """Return a new LocalTransport with root at self.base + offset
80
 
        Because the local filesystem does not require a connection,
 
80
        Because the local filesystem does not require a connection, 
81
81
        we can just return a new object.
82
82
        """
83
83
        if offset is None:
171
171
 
172
172
        :param relpath: Location to put the contents, relative to base.
173
173
        :param f:       File-like object.
174
 
        :param mode: The mode for the newly created file,
 
174
        :param mode: The mode for the newly created file, 
175
175
                     None means just use the default
176
176
        """
177
177
 
204
204
        except (IOError, OSError),e:
205
205
            self._translate_error(e, path)
206
206
        try:
207
 
            if bytes:
208
 
                fp.write(bytes)
 
207
            fp.write(bytes)
209
208
            fp.commit()
210
209
        finally:
211
210
            fp.close()
286
285
    def put_bytes_non_atomic(self, relpath, bytes, mode=None,
287
286
                             create_parent_dir=False, dir_mode=None):
288
287
        def writer(fd):
289
 
            if bytes:
290
 
                os.write(fd, bytes)
 
288
            os.write(fd, bytes)
291
289
        self._put_non_atomic_helper(relpath, writer, mode=mode,
292
290
                                    create_parent_dir=create_parent_dir,
293
291
                                    dir_mode=dir_mode)
372
370
        file_abspath, fd = self._get_append_file(relpath, mode=mode)
373
371
        try:
374
372
            result = self._check_mode_and_size(file_abspath, fd, mode=mode)
375
 
            if bytes:
376
 
                os.write(fd, bytes)
 
373
            os.write(fd, bytes)
377
374
        finally:
378
375
            os.close(fd)
379
376
        return result
400
397
    def rename(self, rel_from, rel_to):
401
398
        path_from = self._abspath(rel_from)
402
399
        try:
403
 
            # *don't* call bzrlib.osutils.rename, because we want to
 
400
            # *don't* call bzrlib.osutils.rename, because we want to 
404
401
            # detect errors on rename
405
402
            os.rename(path_from, self._abspath(rel_to))
406
403
        except (IOError, OSError),e:
539
536
 
540
537
    def clone(self, offset=None):
541
538
        """Return a new LocalTransport with root at self.base + offset
542
 
        Because the local filesystem does not require a connection,
 
539
        Because the local filesystem does not require a connection, 
543
540
        we can just return a new object.
544
541
        """
545
542
        if offset is None:
556
553
 
557
554
class LocalURLServer(Server):
558
555
    """A pretend server for local transports, using file:// urls.
559
 
 
 
556
    
560
557
    Of course no actual server is required to access the local filesystem, so
561
558
    this just exists to tell the test code how to get to it.
562
559
    """
563
560
 
564
561
    def setUp(self):
565
562
        """Setup the server to service requests.
566
 
 
 
563
        
567
564
        :param decorated_transport: ignored by this implementation.
568
565
        """
569
566