From 7b352d3d80f674ecab3923aeb8373503967f0572 Mon Sep 17 00:00:00 2001 From: Peter Eckersley Date: Mon, 9 Nov 2015 18:21:39 -0800 Subject: [PATCH] Handle FreeBSD and Windows --- letsencrypt/le_util.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/letsencrypt/le_util.py b/letsencrypt/le_util.py index 625e6fb51..413cec43d 100644 --- a/letsencrypt/le_util.py +++ b/letsencrypt/le_util.py @@ -204,31 +204,32 @@ def safely_remove(path): def get_os_info(): """ - Get Operating System type/distribution and version + Get Operating System type/distribution and major version """ - info = platform.system_alias( platform.system(), platform.release(), platform.version() ) - os_type, os_ver, _ = info os_type = os_type.lower() - if os_type.startswith('linux'): info = platform.linux_distribution() os_type, os_ver, _ = info - elif os_type.startswith('darwin'): os_ver = subprocess.Popen( ["sw_vers", "-productVersion"], stdout=subprocess.PIPE ).communicate()[0] - + elif os_type.startswith('freebsd'): + # eg "9.3-RC3-p1" + os_ver = os_ver.parititon("-")[0] + os_ver = os_ver.parititon(".")[0] + elif platform.win32_ver()[1]: + os_ver = win32_ver()[1] else: + # Cases known to fall here: Cygwin python os_ver = '' - return os_type, os_ver # Just make sure we don't get pwned... Make sure that it also doesn't