]> arthur.barton.de Git - bup.git/blob - lib/bup/cmd/version.py
test: add pylint and test imports
[bup.git] / lib / bup / cmd / version.py
1
2 from __future__ import absolute_import, print_function
3 import re, sys
4
5 from bup import options, version
6 from bup.io import byte_stream
7
8 version_rx = re.compile(r'^[0-9]+\.[0-9]+(\.[0-9]+)?(-[0-9]+-g[0-9abcdef]+)?$')
9
10 optspec = """
11 bup version [--date|--commit]
12 --
13 date    display the date this version of bup was created
14 commit  display the git commit id of this version of bup
15 """
16
17 def main(argv):
18     o = options.Options(optspec)
19     opt, flags, extra = o.parse_bytes(argv[1:])
20
21
22     total = (opt.date or 0) + (opt.commit or 0)
23     if total > 1:
24         o.fatal('at most one option expected')
25
26     sys.stdout.flush()
27     out = byte_stream(sys.stdout)
28
29     if opt.date:
30         out.write(version.date.split(b' ')[0] + b'\n')
31     elif opt.commit:
32         out.write(version.commit + b'\n')
33     else:
34         out.write(version.version + b'\n')