mirror of
https://github.com/RasppleII/a2server.git
synced 2025-05-16 02:38:23 +00:00
New standalone script for comparing two #.#.# format version strings using standard functions included with python. We also benefit from the fact the python function is more flexible than my bash function and it keeps the logic of a rather high-level script high-level.
36 lines
820 B
Python
Executable File
36 lines
820 B
Python
Executable File
#! /usr/bin/env python3
|
|
# vim: set tabstop=4 shiftwidth=4 noexpandtab filetype=python:
|
|
|
|
import sys
|
|
from pkg_resources import parse_version
|
|
|
|
def usage():
|
|
print("Usage: compare_version <version> <operator> <version>")
|
|
print(" where operator is one of lt, le, eq, ge, gt, or ne")
|
|
sys.exit(2)
|
|
|
|
if len(sys.argv) != 4:
|
|
usage()
|
|
|
|
ver1 = parse_version(sys.argv[1])
|
|
ver2 = parse_version(sys.argv[3])
|
|
|
|
# I suppose you could do something clever with meta-method mapping here
|
|
result = False
|
|
if sys.argv[2] == 'lt':
|
|
result = ver1 < ver2
|
|
elif sys.argv[2] == 'le':
|
|
result = ver1 <= ver2
|
|
elif sys.argv[2] == 'eq':
|
|
result = ver1 == ver2
|
|
elif sys.argv[2] == 'ge':
|
|
result = ver1 >= ver2
|
|
elif sys.argv[2] == 'gt':
|
|
result = ver1 > ver2
|
|
elif sys.argv[2] == 'ne':
|
|
result = ver1 != ver2
|
|
else:
|
|
usage()
|
|
|
|
sys.exit(0 if result else 1)
|