xref: /aosp_15_r20/external/aws-sdk-java-v2/scripts/changelog/model.py (revision 8a52c7834d808308836a99fc2a6e0ed8db339086)
1class ReleaseChanges(object):
2    def __init__(self, version, date, entries):
3        self.version = version
4        self.date = date
5        self.entries = entries
6
7class ChangelogEntry(object):
8    def __init__(self, type, category, description, contributor):
9        self.type = type
10        self.category = category
11        self.contributor = contributor
12        self.description = description
13
14class Version(object):
15    def __init__(self, major, minor, patch, prerelease=""):
16        self.major = major
17        self.minor = minor
18        self.patch = patch
19        self.prerelease =  prerelease
20
21    def __str__(self):
22        s = "%d.%d.%d" % (self.major, self.minor, self.patch)
23        if self.prerelease != "":
24            s = "%s-%s" % (s, self.prerelease)
25        return s
26
27    # TODO Remove it when we remove "preview" from the version number
28    # Returns the prerelease version number
29    # Example: Version is "preview-11", this method returns "11" as integer
30    def prerelease_version_number(self):
31        if self.prerelease != "":
32            preview_prefix_len = len("preview-")
33            prerelease_version = self.prerelease[preview_prefix_len:]
34            if prerelease_version != "":
35                return int(prerelease_version)