Mercurial > hg-stable
comparison mercurial/ui.py @ 32980:0bf986cfa82b
config: use the new '_unset' value for 'configbytes'
This should let 'configbytes' delegates all special processing of the default
config value to the main 'config' method.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 17 Jun 2017 12:53:51 +0200 |
parents | 24111157f967 |
children | 88b3a38d39e3 |
comparison
equal
deleted
inserted
replaced
32979:24111157f967 | 32980:0bf986cfa82b |
---|---|
594 """ | 594 """ |
595 | 595 |
596 return self.configwith(int, section, name, default, 'integer', | 596 return self.configwith(int, section, name, default, 'integer', |
597 untrusted) | 597 untrusted) |
598 | 598 |
599 def configbytes(self, section, name, default=0, untrusted=False): | 599 def configbytes(self, section, name, default=_unset, untrusted=False): |
600 """parse a configuration element as a quantity in bytes | 600 """parse a configuration element as a quantity in bytes |
601 | 601 |
602 Units can be specified as b (bytes), k or kb (kilobytes), m or | 602 Units can be specified as b (bytes), k or kb (kilobytes), m or |
603 mb (megabytes), g or gb (gigabytes). | 603 mb (megabytes), g or gb (gigabytes). |
604 | 604 |
616 Traceback (most recent call last): | 616 Traceback (most recent call last): |
617 ... | 617 ... |
618 ConfigError: foo.invalid is not a byte quantity ('somevalue') | 618 ConfigError: foo.invalid is not a byte quantity ('somevalue') |
619 """ | 619 """ |
620 | 620 |
621 value = self.config(section, name, None, untrusted) | 621 value = self.config(section, name, default, untrusted) |
622 if value is None: | 622 if value is None: |
623 if not isinstance(default, str): | 623 if default is _unset: |
624 return default | 624 default = 0 |
625 value = default | 625 value = default |
626 if not isinstance(value, str): | |
627 return value | |
626 try: | 628 try: |
627 return util.sizetoint(value) | 629 return util.sizetoint(value) |
628 except error.ParseError: | 630 except error.ParseError: |
629 raise error.ConfigError(_("%s.%s is not a byte quantity ('%s')") | 631 raise error.ConfigError(_("%s.%s is not a byte quantity ('%s')") |
630 % (section, name, value)) | 632 % (section, name, value)) |