From 0258592decf17837b2db225510c00b77efbecef9 Mon Sep 17 00:00:00 2001 From: longhao Date: Sun, 21 Feb 2021 15:05:19 +0800 Subject: [PATCH 01/11] fix(commitizen/config/__init__.py): Update read configuration mode from `r` to `rb` --- commitizen/config/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/commitizen/config/__init__.py b/commitizen/config/__init__.py index 2cbd544825..e4e414437c 100644 --- a/commitizen/config/__init__.py +++ b/commitizen/config/__init__.py @@ -28,8 +28,8 @@ def read_cfg() -> BaseConfig: _conf: Union[TomlConfig, JsonConfig, YAMLConfig] - with open(filename, "r") as f: - data: str = f.read() + with open(filename, "rb") as f: + data: bytes = f.read() if "toml" in filename.suffix: _conf = TomlConfig(data=data, path=filename) From 6b44a04405398c7614733115d76116f89f905bf1 Mon Sep 17 00:00:00 2001 From: longhao Date: Sun, 21 Feb 2021 15:07:53 +0800 Subject: [PATCH 02/11] fix(commitizen/config/json_config.py): Update read mode from `r` to `rb` and data type str to byte --- commitizen/config/json_config.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/commitizen/config/json_config.py b/commitizen/config/json_config.py index fbf37bbd83..7983f655f6 100644 --- a/commitizen/config/json_config.py +++ b/commitizen/config/json_config.py @@ -6,7 +6,7 @@ class JsonConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: bytes, path: Union[Path, str]): super(JsonConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -22,7 +22,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as f: + with open(self.path, "rb") as f: parser = json.load(f) parser["commitizen"][key] = value @@ -30,7 +30,7 @@ def set_key(self, key, value): json.dump(parser, f) return self - def _parse_setting(self, data: str): + def _parse_setting(self, data: bytes): """We expect to have a section in .cz.json looking like ``` From bfc530e108f7ee05c1dfe053fd0786cb8dce8917 Mon Sep 17 00:00:00 2001 From: longhao Date: Sun, 21 Feb 2021 15:08:07 +0800 Subject: [PATCH 03/11] fix(commitizen/config/toml_config.py): Update read mode from `r` to `rb` and data type str to byte --- commitizen/config/toml_config.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/commitizen/config/toml_config.py b/commitizen/config/toml_config.py index a9b3cfab1e..eb106d5f00 100644 --- a/commitizen/config/toml_config.py +++ b/commitizen/config/toml_config.py @@ -7,7 +7,7 @@ class TomlConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: bytes, path: Union[Path, str]): super(TomlConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -23,7 +23,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as f: + with open(self.path, "rb") as f: parser = parse(f.read()) parser["tool"]["commitizen"][key] = value @@ -31,7 +31,7 @@ def set_key(self, key, value): f.write(parser.as_string()) return self - def _parse_setting(self, data: str): + def _parse_setting(self, data: bytes): """We expect to have a section in pyproject looking like ``` From 66e52c363d91de1c52db92a28f094b805d00de8b Mon Sep 17 00:00:00 2001 From: longhao Date: Sun, 21 Feb 2021 15:08:20 +0800 Subject: [PATCH 04/11] fix(commitizen/config/yaml_config.py): Update read mode from `r` to `rb` and data type str to byte --- commitizen/config/yaml_config.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/commitizen/config/yaml_config.py b/commitizen/config/yaml_config.py index 510882b9b0..462227c8d5 100644 --- a/commitizen/config/yaml_config.py +++ b/commitizen/config/yaml_config.py @@ -7,7 +7,7 @@ class YAMLConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: bytes, path: Union[Path, str]): super(YAMLConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -17,7 +17,7 @@ def init_empty_config_content(self): with open(self.path, "a") as json_file: yaml.dump({"commitizen": {}}, json_file) - def _parse_setting(self, data: str): + def _parse_setting(self, data: bytes): """We expect to have a section in cz.yaml looking like ``` @@ -37,7 +37,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as yaml_file: + with open(self.path, "rb") as yaml_file: parser = yaml.load(yaml_file, Loader=yaml.FullLoader) parser["commitizen"][key] = value From 370064dacf08f15ac799ce133db5c30321692158 Mon Sep 17 00:00:00 2001 From: longhao Date: Sun, 21 Feb 2021 15:29:25 +0800 Subject: [PATCH 05/11] fix(#349): Update data type support str and byte --- commitizen/config/base_config.py | 2 +- commitizen/config/json_config.py | 2 +- commitizen/config/toml_config.py | 4 ++-- commitizen/config/yaml_config.py | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/commitizen/config/base_config.py b/commitizen/config/base_config.py index f3e0767dd2..76cd1706e1 100644 --- a/commitizen/config/base_config.py +++ b/commitizen/config/base_config.py @@ -31,5 +31,5 @@ def update(self, data: dict): def add_path(self, path: Union[str, Path]): self._path = Path(path) - def _parse_setting(self, data: str) -> dict: + def _parse_setting(self, data: Union[bytes, str]) -> dict: raise NotImplementedError() diff --git a/commitizen/config/json_config.py b/commitizen/config/json_config.py index 7983f655f6..dcd1ca7b7c 100644 --- a/commitizen/config/json_config.py +++ b/commitizen/config/json_config.py @@ -6,7 +6,7 @@ class JsonConfig(BaseConfig): - def __init__(self, *, data: bytes, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(JsonConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) diff --git a/commitizen/config/toml_config.py b/commitizen/config/toml_config.py index eb106d5f00..27ab47d4e2 100644 --- a/commitizen/config/toml_config.py +++ b/commitizen/config/toml_config.py @@ -7,7 +7,7 @@ class TomlConfig(BaseConfig): - def __init__(self, *, data: bytes, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(TomlConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -31,7 +31,7 @@ def set_key(self, key, value): f.write(parser.as_string()) return self - def _parse_setting(self, data: bytes): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in pyproject looking like ``` diff --git a/commitizen/config/yaml_config.py b/commitizen/config/yaml_config.py index 462227c8d5..5d199c1929 100644 --- a/commitizen/config/yaml_config.py +++ b/commitizen/config/yaml_config.py @@ -7,7 +7,7 @@ class YAMLConfig(BaseConfig): - def __init__(self, *, data: bytes, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(YAMLConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -17,7 +17,7 @@ def init_empty_config_content(self): with open(self.path, "a") as json_file: yaml.dump({"commitizen": {}}, json_file) - def _parse_setting(self, data: bytes): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in cz.yaml looking like ``` From 866e3a1d1b999e011e9bcc1733f2883ecfbf320c Mon Sep 17 00:00:00 2001 From: longhao Date: Sun, 21 Feb 2021 15:34:32 +0800 Subject: [PATCH 06/11] fix(#349): Update data type support str and byte --- commitizen/config/json_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commitizen/config/json_config.py b/commitizen/config/json_config.py index dcd1ca7b7c..725e37a0eb 100644 --- a/commitizen/config/json_config.py +++ b/commitizen/config/json_config.py @@ -30,7 +30,7 @@ def set_key(self, key, value): json.dump(parser, f) return self - def _parse_setting(self, data: bytes): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in .cz.json looking like ``` From cb05827e17f6ee9d890d0fdbe894f07078ad5b47 Mon Sep 17 00:00:00 2001 From: longhao Date: Sun, 21 Feb 2021 15:05:19 +0800 Subject: [PATCH 07/11] fix(config): change read mode from `r` to `rb` --- commitizen/config/__init__.py | 4 ++-- commitizen/config/base_config.py | 2 +- commitizen/config/json_config.py | 6 +++--- commitizen/config/toml_config.py | 6 +++--- commitizen/config/yaml_config.py | 6 +++--- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/commitizen/config/__init__.py b/commitizen/config/__init__.py index 2cbd544825..e4e414437c 100644 --- a/commitizen/config/__init__.py +++ b/commitizen/config/__init__.py @@ -28,8 +28,8 @@ def read_cfg() -> BaseConfig: _conf: Union[TomlConfig, JsonConfig, YAMLConfig] - with open(filename, "r") as f: - data: str = f.read() + with open(filename, "rb") as f: + data: bytes = f.read() if "toml" in filename.suffix: _conf = TomlConfig(data=data, path=filename) diff --git a/commitizen/config/base_config.py b/commitizen/config/base_config.py index f3e0767dd2..76cd1706e1 100644 --- a/commitizen/config/base_config.py +++ b/commitizen/config/base_config.py @@ -31,5 +31,5 @@ def update(self, data: dict): def add_path(self, path: Union[str, Path]): self._path = Path(path) - def _parse_setting(self, data: str) -> dict: + def _parse_setting(self, data: Union[bytes, str]) -> dict: raise NotImplementedError() diff --git a/commitizen/config/json_config.py b/commitizen/config/json_config.py index fbf37bbd83..725e37a0eb 100644 --- a/commitizen/config/json_config.py +++ b/commitizen/config/json_config.py @@ -6,7 +6,7 @@ class JsonConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(JsonConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -22,7 +22,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as f: + with open(self.path, "rb") as f: parser = json.load(f) parser["commitizen"][key] = value @@ -30,7 +30,7 @@ def set_key(self, key, value): json.dump(parser, f) return self - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in .cz.json looking like ``` diff --git a/commitizen/config/toml_config.py b/commitizen/config/toml_config.py index a9b3cfab1e..27ab47d4e2 100644 --- a/commitizen/config/toml_config.py +++ b/commitizen/config/toml_config.py @@ -7,7 +7,7 @@ class TomlConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(TomlConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -23,7 +23,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as f: + with open(self.path, "rb") as f: parser = parse(f.read()) parser["tool"]["commitizen"][key] = value @@ -31,7 +31,7 @@ def set_key(self, key, value): f.write(parser.as_string()) return self - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in pyproject looking like ``` diff --git a/commitizen/config/yaml_config.py b/commitizen/config/yaml_config.py index 510882b9b0..5d199c1929 100644 --- a/commitizen/config/yaml_config.py +++ b/commitizen/config/yaml_config.py @@ -7,7 +7,7 @@ class YAMLConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(YAMLConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -17,7 +17,7 @@ def init_empty_config_content(self): with open(self.path, "a") as json_file: yaml.dump({"commitizen": {}}, json_file) - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in cz.yaml looking like ``` @@ -37,7 +37,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as yaml_file: + with open(self.path, "rb") as yaml_file: parser = yaml.load(yaml_file, Loader=yaml.FullLoader) parser["commitizen"][key] = value From 6a06d895adb4a42da88d10425c6b9538bde14d79 Mon Sep 17 00:00:00 2001 From: longhao Date: Sun, 21 Feb 2021 15:05:19 +0800 Subject: [PATCH 08/11] fix(config): change read mode from `r` to `rb` --- commitizen/config/json_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commitizen/config/json_config.py b/commitizen/config/json_config.py index dcd1ca7b7c..725e37a0eb 100644 --- a/commitizen/config/json_config.py +++ b/commitizen/config/json_config.py @@ -30,7 +30,7 @@ def set_key(self, key, value): json.dump(parser, f) return self - def _parse_setting(self, data: bytes): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in .cz.json looking like ``` From db1938ba32de0ca97009a06d079642e385259bbf Mon Sep 17 00:00:00 2001 From: longhao Date: Sun, 21 Feb 2021 15:05:19 +0800 Subject: [PATCH 09/11] fix(config): change read mode from `r` to `rb` fix(#349): Update data type support str and byte --- commitizen/config/__init__.py | 4 ++-- commitizen/config/base_config.py | 2 +- commitizen/config/json_config.py | 6 +++--- commitizen/config/toml_config.py | 6 +++--- commitizen/config/yaml_config.py | 6 +++--- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/commitizen/config/__init__.py b/commitizen/config/__init__.py index 2cbd544825..e4e414437c 100644 --- a/commitizen/config/__init__.py +++ b/commitizen/config/__init__.py @@ -28,8 +28,8 @@ def read_cfg() -> BaseConfig: _conf: Union[TomlConfig, JsonConfig, YAMLConfig] - with open(filename, "r") as f: - data: str = f.read() + with open(filename, "rb") as f: + data: bytes = f.read() if "toml" in filename.suffix: _conf = TomlConfig(data=data, path=filename) diff --git a/commitizen/config/base_config.py b/commitizen/config/base_config.py index f3e0767dd2..76cd1706e1 100644 --- a/commitizen/config/base_config.py +++ b/commitizen/config/base_config.py @@ -31,5 +31,5 @@ def update(self, data: dict): def add_path(self, path: Union[str, Path]): self._path = Path(path) - def _parse_setting(self, data: str) -> dict: + def _parse_setting(self, data: Union[bytes, str]) -> dict: raise NotImplementedError() diff --git a/commitizen/config/json_config.py b/commitizen/config/json_config.py index fbf37bbd83..725e37a0eb 100644 --- a/commitizen/config/json_config.py +++ b/commitizen/config/json_config.py @@ -6,7 +6,7 @@ class JsonConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(JsonConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -22,7 +22,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as f: + with open(self.path, "rb") as f: parser = json.load(f) parser["commitizen"][key] = value @@ -30,7 +30,7 @@ def set_key(self, key, value): json.dump(parser, f) return self - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in .cz.json looking like ``` diff --git a/commitizen/config/toml_config.py b/commitizen/config/toml_config.py index a9b3cfab1e..27ab47d4e2 100644 --- a/commitizen/config/toml_config.py +++ b/commitizen/config/toml_config.py @@ -7,7 +7,7 @@ class TomlConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(TomlConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -23,7 +23,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as f: + with open(self.path, "rb") as f: parser = parse(f.read()) parser["tool"]["commitizen"][key] = value @@ -31,7 +31,7 @@ def set_key(self, key, value): f.write(parser.as_string()) return self - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in pyproject looking like ``` diff --git a/commitizen/config/yaml_config.py b/commitizen/config/yaml_config.py index 510882b9b0..5d199c1929 100644 --- a/commitizen/config/yaml_config.py +++ b/commitizen/config/yaml_config.py @@ -7,7 +7,7 @@ class YAMLConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(YAMLConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -17,7 +17,7 @@ def init_empty_config_content(self): with open(self.path, "a") as json_file: yaml.dump({"commitizen": {}}, json_file) - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in cz.yaml looking like ``` @@ -37,7 +37,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as yaml_file: + with open(self.path, "rb") as yaml_file: parser = yaml.load(yaml_file, Loader=yaml.FullLoader) parser["commitizen"][key] = value From 6277d5e8cc120789230692fd7a7666b42018923d Mon Sep 17 00:00:00 2001 From: longhao Date: Sun, 21 Feb 2021 23:25:43 +0800 Subject: [PATCH 10/11] fix(config): change read mode from `r` to `rb` --- commitizen/config/base_config.py | 2 +- commitizen/config/json_config.py | 6 +++--- commitizen/config/toml_config.py | 6 +++--- commitizen/config/yaml_config.py | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/commitizen/config/base_config.py b/commitizen/config/base_config.py index f3e0767dd2..76cd1706e1 100644 --- a/commitizen/config/base_config.py +++ b/commitizen/config/base_config.py @@ -31,5 +31,5 @@ def update(self, data: dict): def add_path(self, path: Union[str, Path]): self._path = Path(path) - def _parse_setting(self, data: str) -> dict: + def _parse_setting(self, data: Union[bytes, str]) -> dict: raise NotImplementedError() diff --git a/commitizen/config/json_config.py b/commitizen/config/json_config.py index fbf37bbd83..725e37a0eb 100644 --- a/commitizen/config/json_config.py +++ b/commitizen/config/json_config.py @@ -6,7 +6,7 @@ class JsonConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(JsonConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -22,7 +22,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as f: + with open(self.path, "rb") as f: parser = json.load(f) parser["commitizen"][key] = value @@ -30,7 +30,7 @@ def set_key(self, key, value): json.dump(parser, f) return self - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in .cz.json looking like ``` diff --git a/commitizen/config/toml_config.py b/commitizen/config/toml_config.py index a9b3cfab1e..27ab47d4e2 100644 --- a/commitizen/config/toml_config.py +++ b/commitizen/config/toml_config.py @@ -7,7 +7,7 @@ class TomlConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(TomlConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -23,7 +23,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as f: + with open(self.path, "rb") as f: parser = parse(f.read()) parser["tool"]["commitizen"][key] = value @@ -31,7 +31,7 @@ def set_key(self, key, value): f.write(parser.as_string()) return self - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in pyproject looking like ``` diff --git a/commitizen/config/yaml_config.py b/commitizen/config/yaml_config.py index 510882b9b0..5d199c1929 100644 --- a/commitizen/config/yaml_config.py +++ b/commitizen/config/yaml_config.py @@ -7,7 +7,7 @@ class YAMLConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(YAMLConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -17,7 +17,7 @@ def init_empty_config_content(self): with open(self.path, "a") as json_file: yaml.dump({"commitizen": {}}, json_file) - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in cz.yaml looking like ``` @@ -37,7 +37,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as yaml_file: + with open(self.path, "rb") as yaml_file: parser = yaml.load(yaml_file, Loader=yaml.FullLoader) parser["commitizen"][key] = value From 929cf630c1a2583ac5afe7cfbf1ea5f20746ce60 Mon Sep 17 00:00:00 2001 From: longhao Date: Sun, 21 Feb 2021 23:25:43 +0800 Subject: [PATCH 11/11] fix(config): change read mode from `r` to `rb` --- commitizen/config/__init__.py | 4 ++-- commitizen/config/base_config.py | 2 +- commitizen/config/json_config.py | 6 +++--- commitizen/config/toml_config.py | 6 +++--- commitizen/config/yaml_config.py | 6 +++--- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/commitizen/config/__init__.py b/commitizen/config/__init__.py index 2cbd544825..e4e414437c 100644 --- a/commitizen/config/__init__.py +++ b/commitizen/config/__init__.py @@ -28,8 +28,8 @@ def read_cfg() -> BaseConfig: _conf: Union[TomlConfig, JsonConfig, YAMLConfig] - with open(filename, "r") as f: - data: str = f.read() + with open(filename, "rb") as f: + data: bytes = f.read() if "toml" in filename.suffix: _conf = TomlConfig(data=data, path=filename) diff --git a/commitizen/config/base_config.py b/commitizen/config/base_config.py index f3e0767dd2..76cd1706e1 100644 --- a/commitizen/config/base_config.py +++ b/commitizen/config/base_config.py @@ -31,5 +31,5 @@ def update(self, data: dict): def add_path(self, path: Union[str, Path]): self._path = Path(path) - def _parse_setting(self, data: str) -> dict: + def _parse_setting(self, data: Union[bytes, str]) -> dict: raise NotImplementedError() diff --git a/commitizen/config/json_config.py b/commitizen/config/json_config.py index fbf37bbd83..725e37a0eb 100644 --- a/commitizen/config/json_config.py +++ b/commitizen/config/json_config.py @@ -6,7 +6,7 @@ class JsonConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(JsonConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -22,7 +22,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as f: + with open(self.path, "rb") as f: parser = json.load(f) parser["commitizen"][key] = value @@ -30,7 +30,7 @@ def set_key(self, key, value): json.dump(parser, f) return self - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in .cz.json looking like ``` diff --git a/commitizen/config/toml_config.py b/commitizen/config/toml_config.py index a9b3cfab1e..27ab47d4e2 100644 --- a/commitizen/config/toml_config.py +++ b/commitizen/config/toml_config.py @@ -7,7 +7,7 @@ class TomlConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(TomlConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -23,7 +23,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as f: + with open(self.path, "rb") as f: parser = parse(f.read()) parser["tool"]["commitizen"][key] = value @@ -31,7 +31,7 @@ def set_key(self, key, value): f.write(parser.as_string()) return self - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in pyproject looking like ``` diff --git a/commitizen/config/yaml_config.py b/commitizen/config/yaml_config.py index 510882b9b0..5d199c1929 100644 --- a/commitizen/config/yaml_config.py +++ b/commitizen/config/yaml_config.py @@ -7,7 +7,7 @@ class YAMLConfig(BaseConfig): - def __init__(self, *, data: str, path: Union[Path, str]): + def __init__(self, *, data: Union[bytes, str], path: Union[Path, str]): super(YAMLConfig, self).__init__() self.is_empty_config = False self._parse_setting(data) @@ -17,7 +17,7 @@ def init_empty_config_content(self): with open(self.path, "a") as json_file: yaml.dump({"commitizen": {}}, json_file) - def _parse_setting(self, data: str): + def _parse_setting(self, data: Union[bytes, str]): """We expect to have a section in cz.yaml looking like ``` @@ -37,7 +37,7 @@ def set_key(self, key, value): For now only strings are supported. We use to update the version number. """ - with open(self.path, "r") as yaml_file: + with open(self.path, "rb") as yaml_file: parser = yaml.load(yaml_file, Loader=yaml.FullLoader) parser["commitizen"][key] = value