~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/__init__.py

  • Committer: John Arbash Meinel
  • Date: 2006-09-06 02:57:51 UTC
  • mto: (1946.2.10 reduce-knit-churn)
  • mto: This revision was merged to the branch mainline in revision 1988.
  • Revision ID: john@arbash-meinel.com-20060906025751-686364ac616b8e91
rename non_atomic_put_* to put_*non_atomic, and re-order the functions

Show diffs side-by-side

added added

removed removed

Lines of Context:
512
512
        else:
513
513
            return self.put_file(relpath, f, mode=mode)
514
514
 
 
515
    def put_bytes(self, relpath, bytes, mode=None):
 
516
        """Atomically put the supplied bytes into the given location.
 
517
 
 
518
        :param relpath: The location to put the contents, relative to the
 
519
            transport base.
 
520
        :param bytes: A bytestring of data.
 
521
        :param mode: Create the file with the given mode.
 
522
        :return: None
 
523
        """
 
524
        assert isinstance(bytes, str), \
 
525
            'bytes must be a plain string, not %s' % type(bytes)
 
526
        return self.put_file(relpath, StringIO(bytes), mode=mode)
 
527
 
 
528
    def put_bytes_non_atomic(self, relpath, bytes, mode=None,
 
529
                             create_parent_dir=False):
 
530
        """Copy the string into the target location.
 
531
 
 
532
        This function is not strictly safe to use. See 
 
533
        Transport.put_bytes_non_atomic for more information.
 
534
 
 
535
        :param relpath: The remote location to put the contents.
 
536
        :param bytes:   A string object containing the raw bytes to write into
 
537
                        the target file.
 
538
        :param mode:    Possible access permissions for new file.
 
539
                        None means do not set remote permissions.
 
540
        :param create_parent_dir: If we cannot create the target file because
 
541
                        the parent directory does not exist, go ahead and
 
542
                        create it, and then try again.
 
543
        """
 
544
        assert isinstance(bytes, str), \
 
545
            'bytes must be a plain string, not %s' % type(bytes)
 
546
        self.put_file_non_atomic(relpath, StringIO(bytes), mode=mode,
 
547
                                 create_parent_dir=create_parent_dir)
 
548
 
515
549
    def put_file(self, relpath, f, mode=None):
516
550
        """Copy the file-like object into the location.
517
551
 
530
564
        return self.put(relpath, f, mode=mode)
531
565
        #raise NotImplementedError(self.put_file)
532
566
 
533
 
    def put_bytes(self, relpath, bytes, mode=None):
534
 
        """Atomically put the supplied bytes into the given location.
535
 
 
536
 
        :param relpath: The location to put the contents, relative to the
537
 
            transport base.
538
 
        :param bytes: A bytestring of data.
539
 
        :param mode: Create the file with the given mode.
540
 
        :return: None
541
 
        """
542
 
        assert isinstance(bytes, str), \
543
 
            'bytes must be a plain string, not %s' % type(bytes)
544
 
        return self.put_file(relpath, StringIO(bytes), mode=mode)
545
 
 
546
 
    def non_atomic_put_file(self, relpath, f, mode=None,
 
567
    def put_file_non_atomic(self, relpath, f, mode=None,
547
568
                            create_parent_dir=False):
548
569
        """Copy the file-like object into the target location.
549
570
 
571
592
                self.mkdir(parent_dir)
572
593
                return self.put_file(relpath, f, mode=mode)
573
594
 
574
 
    def non_atomic_put_bytes(self, relpath, bytes, mode=None,
575
 
                             create_parent_dir=False):
576
 
        """Copy the string into the target location.
577
 
 
578
 
        This function is not strictly safe to use. See 
579
 
        Transport.non_atomic_put_bytes for more information.
580
 
 
581
 
        :param relpath: The remote location to put the contents.
582
 
        :param bytes:   A string object containing the raw bytes to write into
583
 
                        the target file.
584
 
        :param mode:    Possible access permissions for new file.
585
 
                        None means do not set remote permissions.
586
 
        :param create_parent_dir: If we cannot create the target file because
587
 
                        the parent directory does not exist, go ahead and
588
 
                        create it, and then try again.
589
 
        """
590
 
        assert isinstance(bytes, str), \
591
 
            'bytes must be a plain string, not %s' % type(bytes)
592
 
        self.non_atomic_put_file(relpath, StringIO(bytes), mode=mode,
593
 
                                 create_parent_dir=create_parent_dir)
594
 
 
595
595
    @deprecated_method(zero_eleven)
596
596
    def put_multi(self, files, mode=None, pb=None):
597
597
        """Put a set of files into the location.