librenms-librenms/scripts/check_requirements.py
SourceDoctor e170529692 Python3 Module Dependency Check (#11544)
* Python3 Modul Dependency Check

* code climate

* binary existance check

* move Python Modul Version Check

* .

* adding verbose argument

* args parser nicement

* enhance Validator for detailed approvements

* Update Python.php

* Update check_requirements.py

* python version to Version class
use Process

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-05-06 10:58:17 -05:00

29 lines
617 B
Python
Executable File

#! /usr/bin/env python3
import os
import sys
import pkg_resources
from pkg_resources import DistributionNotFound, VersionConflict
args = sys.argv
# verbose flag
verbose = '-v' in args
target = os.path.realpath(os.path.dirname(__file__) + '/../requirements.txt')
with open(target, 'r') as file:
requirements = file.read().rstrip().split("\n")
try:
pkg_resources.require(requirements)
except DistributionNotFound as req:
if verbose:
print(req)
exit(1)
except VersionConflict as req:
if verbose:
print(req)
exit(2)
exit(0)
exit(3)