Skip to content

Commit 6d58d74

Browse files
committed
Add CHANGELOG and update README
1 parent 556b891 commit 6d58d74

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
### Fixed
66

7+
- #115 - Add default `status` and `sequence` values for iCal notifications missing these fields
78
- #124 - Handle encoded non-ASCII characters in email subjects.
89
- #126 - Ignore a class of non-maintenance-notification emails from Telia.
910

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,24 @@ You can leverage this library in your automation framework to process circuit ma
2525
- **account**: identifies an account associated with the service that is the subject of the maintenance notification.
2626
- **maintenance_id**: contains text that uniquely identifies the maintenance that is the subject of the notification.
2727
- **circuits**: list of circuits affected by the maintenance notification and their specific impact.
28-
- **status**: defines the overall status or confirmation for the maintenance.
2928
- **start**: timestamp that defines the start date of the maintenance in GMT.
3029
- **end**: timestamp that defines the end date of the maintenance in GMT.
3130
- **stamp**: timestamp that defines the update date of the maintenance in GMT.
3231
- **organizer**: defines the contact information included in the original notification.
3332

33+
and may additionally contain the following attributes:
34+
35+
- **status**: defines the overall status or confirmation for the maintenance.¹
36+
- **sequence**: a sequence number for notifications involving this maintenance window. In practice this is generally redundant with the **stamp** field, and will be defaulted to `1` for most non-iCal parsed notifications.²
37+
- **summary**: human-readable details about this maintenance notification.
38+
- **uid**: a unique (?) identifer for a thread of related notifications. In practice this is generally redundant with the **maintenance_id** field, and will be defaulted to `0` for most non-iCal parsed notifications.
39+
3440
> Please, refer to the [BCOP](https://github.com/jda/maintnote-std/blob/master/standard.md) to more details about these attributes.
3541
42+
¹ Per the BCOP, **status** (`X-MAINTNOTE_STATUS`) is an optional field in notifications. However, a `Maintenance` object will always contain a `status` value; in the case where the source notification omits this field, the `status` will be set to `"NO-CHANGE"`, and it's up to the consumer of this library to determine how to appropriately handle this case.
43+
44+
² Per the BCOP, **sequence** is a mandatory field in notifications. However, some NSPs have been seen to send notifications which, while otherwise consistent with the BCOP, omit the `SEQUENCE` field; in such cases, this library will report a sequence number of `-1`.
45+
3646
## Workflow
3747

3848
1. We instantiate a `Provider`, directly or via the `init_provider` method, that depending on the selected type will return the corresponding instance.

0 commit comments

Comments
 (0)