diff options
| author | Daniil Baturin <daniil@baturin.org> | 2019-07-22 11:08:08 +0200 |
|---|---|---|
| committer | Daniil Baturin <daniil@baturin.org> | 2019-07-22 11:08:08 +0200 |
| commit | 6af7b74e2b80b014a80c0c8531b7e219194a9d92 (patch) | |
| tree | 2fc50e087eb759ecc9a73dbc486d537d651c200c /python/vyos/systemversions.py | |
| parent | b050fe61956f710e61d8e3a8139c971a23e702f9 (diff) | |
| parent | d99bf6a3a623433e743bb2d1d72e2ef3e0ab5057 (diff) | |
| download | veeos-1x-6af7b74e2b80b014a80c0c8531b7e219194a9d92.tar.gz veeos-1x-6af7b74e2b80b014a80c0c8531b7e219194a9d92.zip | |
Merge branch 'current' into equuleus
Diffstat (limited to 'python/vyos/systemversions.py')
| -rw-r--r-- | python/vyos/systemversions.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/python/vyos/systemversions.py b/python/vyos/systemversions.py new file mode 100644 index 000000000..9b3f4f413 --- /dev/null +++ b/python/vyos/systemversions.py @@ -0,0 +1,39 @@ +# Copyright 2019 VyOS maintainers and contributors <maintainers@vyos.io> +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library. If not, see <http://www.gnu.org/licenses/>. + +import os +import re +import sys +import vyos.defaults + +def get_system_versions(): + """ + Get component versions from running system; critical failure if + unable to read migration directory. + """ + system_versions = {} + + try: + version_info = os.listdir(vyos.defaults.directories['current']) + except OSError as err: + print("OS error: {}".format(err)) + sys.exit(1) + + for info in version_info: + if re.match(r'[\w,-]+@\d+', info): + pair = info.split('@') + system_versions[pair[0]] = int(pair[1]) + + return system_versions |
