~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/config.py

Merge lockable-config-files into remove-gratuitous-ensure-config-dir-exist-calls resolving conflicts

Show diffs side-by-side

added added

removed removed

Lines of Context:
377
377
        self._parser = None
378
378
 
379
379
    @classmethod
380
 
    def from_bytes(cls, unicode_bytes, file_name=None, save=False):
381
 
        """Create a config object from bytes.
 
380
    def from_string(cls, str_or_unicode, file_name=None, save=False):
 
381
        """Create a config object from a string.
382
382
 
383
 
        :param unicode_bytes: A string representing the file content. This will
 
383
        :param str_or_unicode: A string representing the file content. This will
384
384
            be utf-8 encoded.
385
385
 
386
386
        :param file_name: The configuration file path.
388
388
        :param _save: Whether the file should be saved upon creation.
389
389
        """
390
390
        conf = cls(file_name=file_name)
391
 
        conf._create_from_bytes(unicode_bytes, save)
 
391
        conf._create_from_string(str_or_unicode, save)
392
392
        return conf
393
393
 
394
 
    def _create_from_bytes(self, unicode_bytes, save):
395
 
        self._content = StringIO(unicode_bytes.encode('utf-8'))
 
394
    def _create_from_string(self, str_or_unicode, save):
 
395
        self._content = StringIO(str_or_unicode.encode('utf-8'))
396
396
        # Some tests use in-memory configs, some other always need the config
397
397
        # file to exist on disk.
398
398
        if save:
581
581
        self.transport = transport.get_transport(self.dir)
582
582
        self._lock = lockdir.LockDir(self.transport, 'lock')
583
583
 
584
 
    def _create_from_bytes(self, unicode_bytes, save):
585
 
        super(LockableConfig, self)._create_from_bytes(unicode_bytes, False)
 
584
    def _create_from_string(self, unicode_bytes, save):
 
585
        super(LockableConfig, self)._create_from_string(unicode_bytes, False)
586
586
        if save:
587
587
            # We need to handle the saving here (as opposed to IniBasedConfig)
588
588
            # to be able to lock
619
619
        super(GlobalConfig, self).__init__(file_name=config_filename())
620
620
 
621
621
    @classmethod
622
 
    def from_bytes(cls, unicode_bytes, save=False):
623
 
        """Create a config object from bytes.
 
622
    def from_string(cls, str_or_unicode, save=False):
 
623
        """Create a config object from a string.
624
624
 
625
 
        :param unicode_bytes: A string representing the file content. This will
626
 
            be utf-8 encoded.
 
625
        :param str_or_unicode: A string representing the file content. This
 
626
            will be utf-8 encoded.
627
627
 
628
628
        :param save: Whether the file should be saved upon creation.
629
629
        """
630
630
        conf = cls()
631
 
        conf._create_from_bytes(unicode_bytes, save)
 
631
        conf._create_from_string(str_or_unicode, save)
632
632
        return conf
633
633
 
634
634
    def get_editor(self):
681
681
        self.location = location
682
682
 
683
683
    @classmethod
684
 
    def from_bytes(cls, unicode_bytes, location, save=False):
685
 
        """Create a config object from bytes.
 
684
    def from_string(cls, str_or_unicode, location, save=False):
 
685
        """Create a config object from a string.
686
686
 
687
 
        :param unicode_bytes: A string representing the file content. This will
 
687
        :param str_or_unicode: A string representing the file content. This will
688
688
            be utf-8 encoded.
689
689
 
690
690
        :param location: The location url to filter the configuration.
692
692
        :param save: Whether the file should be saved upon creation.
693
693
        """
694
694
        conf = cls(location)
695
 
        conf._create_from_bytes(unicode_bytes, save)
 
695
        conf._create_from_string(str_or_unicode, save)
696
696
        return conf
697
697
 
698
698
    def _get_matching_sections(self):