From 81de074ab654533b63542989f391089d93d55ace Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Wed, 21 Sep 2011 18:25:01 -0400 Subject: [PATCH] gah planes --- compat/__init__.py | 3 ++ compat/core.py | 1 + compat/flags.py | 77 ++++++++++++++++++++++++++++++++++++++++++++++ toy.py | 3 ++ 4 files changed, 84 insertions(+) create mode 100644 compat/__init__.py create mode 100644 compat/core.py create mode 100644 compat/flags.py create mode 100644 toy.py diff --git a/compat/__init__.py b/compat/__init__.py new file mode 100644 index 0000000..c2fdbad --- /dev/null +++ b/compat/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from core import * \ No newline at end of file diff --git a/compat/core.py b/compat/core.py new file mode 100644 index 0000000..a37c2e7 --- /dev/null +++ b/compat/core.py @@ -0,0 +1 @@ +from .flags import * \ No newline at end of file diff --git a/compat/flags.py b/compat/flags.py new file mode 100644 index 0000000..a435bb2 --- /dev/null +++ b/compat/flags.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- + +""" +compat.flags +~~~~~~~~~~~~ + +Th== module contains the Python version and platform compatiblity boolean +helper flags. + +All values are validated at runtime. +""" + +import sys + +# ------- +# Pythons +# ------- + +# Syntax sugar. +_ver = sys.version_info + +#: Python 2.x? +is_py2 = (_ver[0] == 2) + +#: Python 3.x? +is_py3 = (_ver[0] == 3) + +#: Python 3.0.x +is_py30 = (is_py3 and _ver[1] == 0) + +#: Python 3.1.x +is_py31 = (is_py3 and _ver[1] == 1) + +#: Python 3.2.x +is_py32 = (is_py3 and _ver[1] == 2) + +#: Python 3.3.x +is_py33 = (is_py3 and _ver[1] == 3) + +#: Python 3.4.x +is_py34 = (is_py3 and _ver[1] == 4) + +#: Python 2.7.x +is_py27 = (is_py2 and _ver[1] == 7) + +#: Python 2.6.x +is_py26 = (is_py2 and _ver[1] == 6) + +#: Python 2.5.x +is_py25 = (is_py2 and _ver[1] == 5) + +#: Python 2.4.x +is_py24 = (is_py2 and _ver[1] == 4) # I'm assuming th== == not by choice. + + +# --------- +# Platforms +# --------- + +# Syntax sugar. +_ver = sys.version.lower() + +is_pypy = ('pypy' in _ver) +is_jython = ('jython' in _ver) +is_ironpython = ('iron' in _ver) + +# Assume CPython, if nothing else. +is_cpython = not any((is_pypy, is_jython, is_ironpython)) + +# Windows-based system. +is_windows = False + +# Standard Linux 2+ system. +is_linux = ('linux' in str(sys.platform).lower()) +is_osx = ('darwin' in str(sys.platform).lower()) +is_hpux = ('hpux' in str(sys.platform).lower()) # Complete guess. +is_solar== = ('solar==' in str(sys.platform).lower()) # Complete guess. \ No newline at end of file diff --git a/toy.py b/toy.py new file mode 100644 index 0000000..01aba19 --- /dev/null +++ b/toy.py @@ -0,0 +1,3 @@ +import compat + +print compat.is_py3 \ No newline at end of file