PyLibMS 2.1.2__tar.gz → 2.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/Field/LMS_Field.py +0 -2
  2. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/LMS_MessageText.py +16 -17
  3. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/Stream.py +2 -2
  4. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/System_Definitions.py +5 -8
  5. {pylibms-2.1.2 → pylibms-2.1.3}/PKG-INFO +1 -1
  6. {pylibms-2.1.2 → pylibms-2.1.3}/PyLibMS.egg-info/PKG-INFO +1 -1
  7. {pylibms-2.1.2 → pylibms-2.1.3}/pyproject.toml +1 -1
  8. {pylibms-2.1.2 → pylibms-2.1.3}/LICENSE +0 -0
  9. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/LMS_DataType.py +0 -0
  10. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/LMS_Exceptions.py +0 -0
  11. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/LMS_FileInfo.py +0 -0
  12. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/Stream/FileInfo.py +0 -0
  13. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/Stream/Hashtable.py +0 -0
  14. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/Stream/Section.py +0 -0
  15. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Common/__init__.py +0 -0
  16. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/FileIO/Encoding.py +0 -0
  17. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/FileIO/Stream.py +0 -0
  18. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/Field/LMS_FieldMap.py +0 -0
  19. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/Field/Stream.py +0 -0
  20. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/Field/__init__.py +0 -0
  21. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Definitions/__init__.py +0 -0
  22. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/MSBT.py +0 -0
  23. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/MSBTEntry.py +0 -0
  24. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/MSBTStream.py +0 -0
  25. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Section/ATR1.py +0 -0
  26. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Section/TSY1.py +0 -0
  27. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Section/TXT2.py +0 -0
  28. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Section/__init__.py +0 -0
  29. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/LMS_Tag.py +0 -0
  30. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/LMS_TagExceptions.py +0 -0
  31. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/Tag_Formats.py +0 -0
  32. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/Tag/__init__.py +0 -0
  33. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Message/__init__.py +0 -0
  34. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Definitions/Attribute.py +0 -0
  35. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Definitions/Color.py +0 -0
  36. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Definitions/Style.py +0 -0
  37. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Definitions/Tag.py +0 -0
  38. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Definitions/__init__.py +0 -0
  39. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/MSBP.py +0 -0
  40. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/MSBPRead.py +0 -0
  41. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/ALI2.py +0 -0
  42. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/ATI2.py +0 -0
  43. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/CLR1.py +0 -0
  44. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/SYL3.py +0 -0
  45. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/String.py +0 -0
  46. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/TAG2.py +0 -0
  47. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/TGG2.py +0 -0
  48. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/Section/TGP2.py +0 -0
  49. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/Project/__init__.py +0 -0
  50. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Config.py +0 -0
  51. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Definitions/Attributes.py +0 -0
  52. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Definitions/Tags.py +0 -0
  53. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Definitions/Value.py +0 -0
  54. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Definitions/__init__.py +0 -0
  55. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/Badge Arcade.yaml +0 -0
  56. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/Brain Age Concentration Training.yaml +0 -0
  57. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/Kirby Planet Robobot.yaml +0 -0
  58. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/Super Mario 3D Land.yaml +0 -0
  59. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/The Legend of Zelda a Link Between Worlds.yaml +0 -0
  60. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/Presets/Tomodachi Life.yaml +0 -0
  61. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/TitleConfig/__init__.py +0 -0
  62. {pylibms-2.1.2 → pylibms-2.1.3}/LMS/__init__.py +0 -0
  63. {pylibms-2.1.2 → pylibms-2.1.3}/MANIFEST.in +0 -0
  64. {pylibms-2.1.2 → pylibms-2.1.3}/PyLibMS.egg-info/SOURCES.txt +0 -0
  65. {pylibms-2.1.2 → pylibms-2.1.3}/PyLibMS.egg-info/dependency_links.txt +0 -0
  66. {pylibms-2.1.2 → pylibms-2.1.3}/PyLibMS.egg-info/requires.txt +0 -0
  67. {pylibms-2.1.2 → pylibms-2.1.3}/PyLibMS.egg-info/top_level.txt +0 -0
  68. {pylibms-2.1.2 → pylibms-2.1.3}/README.md +0 -0
  69. {pylibms-2.1.2 → pylibms-2.1.3}/setup.cfg +0 -0
@@ -1,5 +1,3 @@
1
- from dataclasses import dataclass, field
2
-
3
1
  from LMS.Common.LMS_DataType import LMS_DataType
4
2
  from LMS.TitleConfig.Definitions.Value import ValueDefinition
5
3
 
@@ -3,6 +3,7 @@ from typing import overload
3
3
 
4
4
  from LMS.Message.Definitions.Field.LMS_Field import LMS_Field
5
5
  from LMS.Message.Tag.LMS_Tag import LMS_DecodedTag, LMS_EncodedTag, LMS_TagBase
6
+ from LMS.Message.Tag.System_Definitions import get_system_tag
6
7
  from LMS.Message.Tag.Tag_Formats import (DECODED_FORMAT, ENCODED_FORMAT,
7
8
  TAG_FORMAT)
8
9
  from LMS.TitleConfig.Config import TagConfig
@@ -72,35 +73,33 @@ class LMS_MessageText:
72
73
  )
73
74
  )
74
75
 
75
- def append_decoded_tag(
76
- self,
77
- group_name: str,
78
- tag_name: str,
79
- parameters: dict[str, int | float | str | bytes | bool] | None = None,
80
- ) -> None:
76
+ def append_decoded_tag(self, group_name: str, tag_name: str, **parameters) -> None:
81
77
  """Appends an decoded tag to the current message.
82
78
 
83
79
  :param group_name: the group name.
84
80
  :param tag_name: the tag name.:
85
- :param parameters: a dictionary of parameters mapped to their value.
81
+ :param parameters: keyword arguments of parameters mapped to their value.
86
82
  """
87
83
 
88
- definition = self._config.get_definition_by_names(group_name, tag_name)
84
+ if group_name == "System":
85
+ definition = get_system_tag(tag_name)
86
+ else:
87
+ definition = self._config.get_definition_by_names(group_name, tag_name)
89
88
 
90
- # The provided dict must match the structure defined in the config in order for value conversion to work
89
+ # The provided kwargs must match the structure defined in the config in order for value conversion to work
91
90
  converted_params = {
92
91
  param_def.name: LMS_Field(parameters[param_def.name], param_def)
93
92
  for param_def in definition.parameters
94
93
  }
95
- self._parts.append(
96
- LMS_DecodedTag(
97
- definition.group_index,
98
- definition.tag_index,
99
- group_name,
100
- tag_name,
101
- converted_params,
102
- )
94
+
95
+ tag = LMS_DecodedTag(
96
+ definition.group_index,
97
+ definition.tag_index,
98
+ group_name,
99
+ tag_name,
100
+ converted_params,
103
101
  )
102
+ self._parts.append(tag)
104
103
 
105
104
  def append_tag_string(self, string: str) -> None:
106
105
  """Appends a tag to the current message given a string.
@@ -6,7 +6,7 @@ from LMS.Message.Definitions.Field.Stream import read_field, write_field
6
6
  from LMS.Message.Tag.LMS_Tag import LMS_DecodedTag, LMS_EncodedTag, LMS_TagBase
7
7
  from LMS.Message.Tag.LMS_TagExceptions import (LMS_TagReadingError,
8
8
  LMS_TagWritingException)
9
- from LMS.Message.Tag.System_Definitions import SYSTEM_GROUP
9
+ from LMS.Message.Tag.System_Definitions import get_system_tag
10
10
  from LMS.TitleConfig.Definitions.Tags import TagConfig, TagDefinition
11
11
 
12
12
 
@@ -29,7 +29,7 @@ def read_tag(
29
29
  return LMS_EncodedTag(group_index, tag_index, parameters)
30
30
 
31
31
  if group_index == 0:
32
- definition = SYSTEM_GROUP[tag_index]
32
+ definition = get_system_tag(tag_index)
33
33
  else:
34
34
  definition = config.get_definition_by_indexes(group_index, tag_index)
35
35
 
@@ -2,6 +2,11 @@ from LMS.Common.LMS_DataType import LMS_DataType
2
2
  from LMS.TitleConfig.Definitions.Tags import TagDefinition
3
3
  from LMS.TitleConfig.Definitions.Value import ValueDefinition
4
4
 
5
+
6
+ def get_system_tag(group: int | str) -> TagDefinition:
7
+ return SYSTEM_INT_MAP[group] if isinstance(group, int) else SYSTEM_STR_MAP[group]
8
+
9
+
5
10
  RUBY_TAG = TagDefinition(
6
11
  group_name="System",
7
12
  group_index=0,
@@ -73,11 +78,3 @@ PAGEBREAK_TAG = TagDefinition(
73
78
  tag_index=4,
74
79
  description="Displays text in the same label on different pages.",
75
80
  )
76
-
77
- SYSTEM_GROUP = {
78
- 0: RUBY_TAG,
79
- 1: FONT_TAG,
80
- 2: SIZE_TAG,
81
- 3: COLOR_TAG,
82
- 4: PAGEBREAK_TAG,
83
- }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyLibMS
3
- Version: 2.1.2
3
+ Version: 2.1.3
4
4
  Summary: Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, MSBP, and MSBF.
5
5
  Author: AbdyyEee
6
6
  License: Copyright 2025 AbdyyEee
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyLibMS
3
- Version: 2.1.2
3
+ Version: 2.1.3
4
4
  Summary: Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, MSBP, and MSBF.
5
5
  Author: AbdyyEee
6
6
  License: Copyright 2025 AbdyyEee
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "PyLibMS"
7
- version = "2.1.2"
7
+ version = "2.1.3"
8
8
  requires-python = ">=3.12"
9
9
  description = "Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, MSBP, and MSBF."
10
10
  readme = "README.md"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes