~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/__init__.py

  • Committer: Robert Collins
  • Date: 2007-08-22 01:41:24 UTC
  • mfrom: (2740 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2741.
  • Revision ID: robertc@robertcollins.net-20070822014124-wiinlne4nin2f2tm
Merge bzr.dev to resolve conflicts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
399
399
        """
400
400
        raise NotImplementedError(self.external_url)
401
401
 
402
 
    def should_cache(self):
403
 
        """Return True if the data pulled across should be cached locally.
404
 
        """
405
 
        return False
406
 
 
407
402
    def _pump(self, from_file, to_file):
408
403
        """Most children will need to copy from one file-like 
409
404
        object or string to another one.
753
748
            yield self.get(relpath)
754
749
            count += 1
755
750
 
756
 
    @deprecated_method(zero_eleven)
757
 
    def put(self, relpath, f, mode=None):
758
 
        """Copy the file-like object into the location.
759
 
 
760
 
        :param relpath: Location to put the contents, relative to base.
761
 
        :param f:       File-like object.
762
 
        :param mode: The mode for the newly created file, 
763
 
                     None means just use the default
764
 
        """
765
 
        if isinstance(f, str):
766
 
            return self.put_bytes(relpath, f, mode=mode)
767
 
        else:
768
 
            return self.put_file(relpath, f, mode=mode)
769
 
 
770
751
    def put_bytes(self, relpath, bytes, mode=None):
771
752
        """Atomically put the supplied bytes into the given location.
772
753
 
854
835
                self.mkdir(parent_dir, mode=dir_mode)
855
836
                return self.put_file(relpath, f, mode=mode)
856
837
 
857
 
    @deprecated_method(zero_eleven)
858
 
    def put_multi(self, files, mode=None, pb=None):
859
 
        """Put a set of files into the location.
860
 
 
861
 
        :param files: A list of tuples of relpath, file object [(path1, file1), (path2, file2),...]
862
 
        :param pb:  An optional ProgressBar for indicating percent done.
863
 
        :param mode: The mode for the newly created files
864
 
        :return: The number of files copied.
865
 
        """
866
 
        def _put(path, f):
867
 
            if isinstance(f, str):
868
 
                self.put_bytes(path, f, mode=mode)
869
 
            else:
870
 
                self.put_file(path, f, mode=mode)
871
 
        return len(self._iterate_over(files, _put, pb, 'put', expand=True))
872
 
 
873
838
    def mkdir(self, relpath, mode=None):
874
839
        """Create a directory at the given path."""
875
840
        raise NotImplementedError(self.mkdir)
898
863
        """
899
864
        raise NotImplementedError(self.open_write_stream)
900
865
 
901
 
    @deprecated_method(zero_eleven)
902
 
    def append(self, relpath, f, mode=None):
903
 
        """Append the text in the file-like object to the supplied location.
904
 
 
905
 
        returns the length of relpath before the content was written to it.
906
 
        
907
 
        If the file does not exist, it is created with the supplied mode.
908
 
        """
909
 
        return self.append_file(relpath, f, mode=mode)
910
 
 
911
866
    def append_file(self, relpath, f, mode=None):
912
867
        """Append bytes from a file-like object to a file at relpath.
913
868
 
1515
1470
            'URLs must be properly escaped (protocol: %s)')
1516
1471
 
1517
1472
    transport = None
1518
 
    if possible_transports:
 
1473
    if possible_transports is not None:
1519
1474
        for t in possible_transports:
1520
1475
            t_same_connection = t._reuse_for(base)
1521
1476
            if t_same_connection is not None:
1528
1483
        if proto is not None and base.startswith(proto):
1529
1484
            transport, last_err = _try_transport_factories(base, factory_list)
1530
1485
            if transport:
1531
 
                if possible_transports:
 
1486
                if possible_transports is not None:
1532
1487
                    assert transport not in possible_transports
1533
1488
                    possible_transports.append(transport)
1534
1489
                return transport