Information about a style rule list. :param style_id: Unique ID assigned to the style rule list. :param name: User-defined name assigned to the style rule list. :param creation_time: Timestamp when the style rule list was created. :param updated_time: Timestamp when the style rule l
| 904 | |
| 905 | |
| 906 | class StyleRuleInfo: |
| 907 | """Information about a style rule list. |
| 908 | |
| 909 | :param style_id: Unique ID assigned to the style rule list. |
| 910 | :param name: User-defined name assigned to the style rule list. |
| 911 | :param creation_time: Timestamp when the style rule list was created. |
| 912 | :param updated_time: Timestamp when the style rule list was last updated. |
| 913 | :param language: Language code for the style rule list. |
| 914 | :param version: Version number of the style rule list. |
| 915 | :param configured_rules: The predefined rules that have been enabled. |
| 916 | :param custom_instructions: Optional list of custom instructions. |
| 917 | """ |
| 918 | |
| 919 | def __init__( |
| 920 | self, |
| 921 | style_id: str, |
| 922 | name: str, |
| 923 | creation_time: datetime.datetime, |
| 924 | updated_time: datetime.datetime, |
| 925 | language: str, |
| 926 | version: int, |
| 927 | configured_rules: Optional[ConfiguredRules] = None, |
| 928 | custom_instructions: Optional[List[CustomInstruction]] = None, |
| 929 | ): |
| 930 | self._style_id = style_id |
| 931 | self._name = name |
| 932 | self._creation_time = creation_time |
| 933 | self._updated_time = updated_time |
| 934 | self._language = language |
| 935 | self._version = version |
| 936 | self._configured_rules = configured_rules |
| 937 | self._custom_instructions = custom_instructions |
| 938 | |
| 939 | def __str__(self) -> str: |
| 940 | return f'StyleRule "{self.name}" ({self.style_id})' |
| 941 | |
| 942 | @staticmethod |
| 943 | def from_json(json) -> "StyleRuleInfo": |
| 944 | """Create StyleRuleInfo from the given API JSON object.""" |
| 945 | configured_rules_data = json.get("configured_rules") |
| 946 | configured_rules = None |
| 947 | if configured_rules_data: |
| 948 | configured_rules = ConfiguredRules.from_json(configured_rules_data) |
| 949 | |
| 950 | custom_instructions_data = json.get("custom_instructions") |
| 951 | custom_instructions = None |
| 952 | if custom_instructions_data: |
| 953 | custom_instructions = [ |
| 954 | CustomInstruction.from_json(instruction) |
| 955 | for instruction in custom_instructions_data |
| 956 | ] |
| 957 | |
| 958 | return StyleRuleInfo( |
| 959 | style_id=json["style_id"], |
| 960 | name=json["name"], |
| 961 | creation_time=parse_timestamp(json["creation_time"]), |
| 962 | updated_time=parse_timestamp(json["updated_time"]), |
| 963 | language=json["language"], |