diff --git a/pyproject.toml b/pyproject.toml index 27d4f83..aa909a7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "logic-plugin-manager" -version = "1.0.0" +version = "1.0.1" description = "A utility for parsing and managing plugins in Logic Pro" readme = "README.md" authors = [ diff --git a/src/logic_plugin_manager/components/audiocomponent.py b/src/logic_plugin_manager/components/audiocomponent.py index cd6dc14..00d998c 100644 --- a/src/logic_plugin_manager/components/audiocomponent.py +++ b/src/logic_plugin_manager/components/audiocomponent.py @@ -234,11 +234,11 @@ class AudioComponent: """ return hash(self.tags_id) - def set_nickname(self, nickname: str) -> "AudioComponent": - """Set a custom nickname for this component. + def set_nickname(self, nickname: str | None) -> "AudioComponent": + """Set or remove a custom nickname for this component. Args: - nickname: Custom nickname string. + nickname: Custom nickname string, or None to remove the nickname. Returns: AudioComponent: Self for method chaining. @@ -252,11 +252,11 @@ class AudioComponent: self.load() return self - def set_shortname(self, shortname: str) -> "AudioComponent": - """Set a custom short name for this component. + def set_shortname(self, shortname: str | None) -> "AudioComponent": + """Set or remove a custom short name for this component. Args: - shortname: Custom short name string. + shortname: Custom short name string, or None to remove the short name. Returns: AudioComponent: Self for method chaining. diff --git a/src/logic_plugin_manager/tags/tagset.py b/src/logic_plugin_manager/tags/tagset.py index 56f3aad..943a302 100644 --- a/src/logic_plugin_manager/tags/tagset.py +++ b/src/logic_plugin_manager/tags/tagset.py @@ -107,11 +107,11 @@ class Tagset: return self - def set_nickname(self, nickname: str): - """Set the nickname field in the tagset. + def set_nickname(self, nickname: str | None): + """Set or remove the nickname field in the tagset. Args: - nickname: New nickname value. + nickname: New nickname value, or None to remove the nickname. Raises: NonexistentTagsetError: If .tagset file doesn't exist (from load). @@ -119,15 +119,18 @@ class Tagset: TagsetWriteError: If writing fails (from _write_plist). """ self.load() - self.__raw_data["nickname"] = nickname + if nickname is None: + self.__raw_data.pop("nickname", None) + else: + self.__raw_data["nickname"] = nickname self._write_plist() self.load() - def set_shortname(self, shortname: str): - """Set the shortname field in the tagset. + def set_shortname(self, shortname: str | None): + """Set or remove the shortname field in the tagset. Args: - shortname: New short name value. + shortname: New short name value, or None to remove the short name. Raises: NonexistentTagsetError: If .tagset file doesn't exist (from load). @@ -135,7 +138,10 @@ class Tagset: TagsetWriteError: If writing fails (from _write_plist). """ self.load() - self.__raw_data["shortname"] = shortname + if shortname is None: + self.__raw_data.pop("shortname", None) + else: + self.__raw_data["shortname"] = shortname self._write_plist() self.load()