summaryrefslogtreecommitdiff
path: root/tools/read-version
blob: d02651e972c9922172b305e042af6eccd42f900c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env python

import os
import re
import sys

if 'CLOUD_INIT_TOP_D' in os.environ:
    topd = os.path.realpath(os.environ.get('CLOUD_INIT_TOP_D'))
else:
    topd = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))

for fname in ("setup.py", "ChangeLog"):
    if not os.path.isfile(os.path.join(topd, fname)):
        sys.stderr.write("Unable to locate '%s' file that should "
                         "exist in cloud-init root directory." % fname)
        sys.exit(1)

vermatch = re.compile(r"^[0-9]+[.][0-9]+[.][0-9]+:$")

with open(os.path.join(topd, "ChangeLog"), "r") as fp:
    for line in fp:
        if vermatch.match(line):
            sys.stdout.write(line.strip()[:-1] + "\n")
            break

sys.exit(0)