summaryrefslogtreecommitdiff
path: root/tools/read-dependencies
blob: 6a6f3e12e7c8a81c95333a576c0929ef00e2d2f2 (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
27
28
29
#!/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", "requirements.txt"):
    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)

if len(sys.argv) > 1:
   reqfile = sys.argv[1]
else:
   reqfile = "requirements.txt"
   
with open(os.path.join(topd, reqfile), "r") as fp:
    for line in fp:
        if not line.strip() or line.startswith("#"):
            continue
        sys.stdout.write(re.split("[>=.<]*", line)[0].strip() + "\n")

sys.exit(0)