Fix hooke.version(4) with missing patch index.
[hooke.git] / hooke / __init__.py
index 13bcc6867092e2093ca11bd24d76e3239f276166..2b552ee13ad59d9866826c29c55ae18832f947a5 100644 (file)
@@ -25,14 +25,19 @@ The available submodules are:
 * :mod:`hooke.config`
 * :mod:`hooke.compat`
 """
+
+import sys as _sys
+
 try:
     from .license import LICENSE as __license__
-except ImportError, e:
+except ImportError as e:
     import logging
     logging.warn('could not load LICENSE from hooke.license')
     __license__ = 'All rights reserved.' 
 
-from .util import yaml  # extend YAML to parse Hooke-specific items.
+if _sys.version_info < (3,0):
+    # yaml library not yet compatible with Python 3
+    from .util import yaml  # extend YAML to parse Hooke-specific items.
 
 __version__ = (1, 0, 0, 'alpha', None, 'Ninken')
 """Version tuple::
@@ -84,6 +89,8 @@ def version(depth=-1, version_tuple=None):
     >>> v = (1, 2, 3, 'devel', None, 'Kenzo')
     >>> version(depth=-1, version_tuple=v)
     '1.2.3.devel (Kenzo)'
+    >>> version(depth=4, version_tuple=v)
+    '1.2.3.devel'
     """
     if version_tuple == None:
         version_tuple = __version__
@@ -91,7 +98,7 @@ def version(depth=-1, version_tuple=None):
     if version_tuple[patch_index] == None: # No patch field, drop that entry
         version_tuple = version_tuple[0:patch_index] \
             + version_tuple[patch_index+1:]
-        if depth >= patch_index:
+        if depth > patch_index:
             depth -= 1
     fields = version_tuple[0:depth]
     string = '.'.join([str(x) for x in fields])