Add api.env.plone_version() and api.env.zope_version() (refs. #126)
This commit is contained in:
parent
e5c03ea014
commit
16bc0c731f
|
@ -1,6 +1,13 @@
|
|||
Changelog
|
||||
=========
|
||||
|
||||
1.2.0 (unreleased)
|
||||
------------------
|
||||
|
||||
- Add ``api.env.plone_version()`` and ``api.env.zope_version()`` refs. #126.
|
||||
[hvelarde]
|
||||
|
||||
|
||||
1.1.0 (2013-10-12)
|
||||
------------------
|
||||
|
||||
|
|
32
docs/env.rst
32
docs/env.rst
|
@ -104,6 +104,38 @@ To know if your plone instance is running in a test runner, use
|
|||
pass # do something
|
||||
|
||||
|
||||
.. _env_plone_version_example:
|
||||
|
||||
Plone version
|
||||
-------------
|
||||
|
||||
To know what version of Plone you are using, use :meth:`api.env.plone_version`.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from plone import api
|
||||
|
||||
plone_version = api.env.plone_version()
|
||||
if plone_version < '4.1':
|
||||
pass # do something
|
||||
|
||||
|
||||
.. _env_zope_version_example:
|
||||
|
||||
Zope version
|
||||
------------
|
||||
|
||||
To know what version of Zope 2 you are using, use :meth:`api.env.zope_version`.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from plone import api
|
||||
|
||||
zope_version = api.env.zope_version()
|
||||
if zope_version >= '2.13':
|
||||
pass # do something
|
||||
|
||||
|
||||
Further reading
|
||||
---------------
|
||||
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from AccessControl.SecurityManagement import getSecurityManager
|
||||
from AccessControl.SecurityManagement import setSecurityManager
|
||||
from AccessControl.SecurityManagement import newSecurityManager
|
||||
from AccessControl.SecurityManagement import setSecurityManager
|
||||
from contextlib import contextmanager
|
||||
from pkg_resources import get_distribution
|
||||
from plone.api import portal
|
||||
from plone.api.exc import InvalidParameterError
|
||||
from plone.api.exc import UserNotFoundError
|
||||
from plone.api.validation import required_parameters
|
||||
from plone.api.validation import at_least_one_of
|
||||
from plone.api.validation import mutually_exclusive_parameters
|
||||
from plone.api.validation import required_parameters
|
||||
from zope.globalrequest import getRequest
|
||||
|
||||
import Globals
|
||||
|
@ -185,3 +186,21 @@ def test_mode():
|
|||
break
|
||||
|
||||
return env.IS_TEST
|
||||
|
||||
|
||||
def plone_version():
|
||||
"""Return Plone version number.
|
||||
|
||||
:returns: string denoting what release of Plone this distribution contains
|
||||
:Example: :ref:`env_plone_version_example`
|
||||
"""
|
||||
return get_distribution('Plone').version
|
||||
|
||||
|
||||
def zope_version():
|
||||
"""Return Zope 2 version number.
|
||||
|
||||
:returns: string denoting what release of Zope2 this distribution contains
|
||||
:Example: :ref:`env_zope_version_example`
|
||||
"""
|
||||
return get_distribution('Zope2').version
|
||||
|
|
|
@ -392,3 +392,23 @@ class TestPloneApiEnv(unittest.TestCase):
|
|||
"""Tests that test_mode() returns True as we are in a test runner."""
|
||||
from plone.api.env import test_mode
|
||||
self.assertEqual(test_mode(), True)
|
||||
|
||||
def test_plone_version(self):
|
||||
"""Tests that plone_version() returns Plone version."""
|
||||
from plone.api.env import plone_version
|
||||
self.assertTrue(isinstance(plone_version(), str))
|
||||
# version should be something like 'X.Y' or 'X.Y.Z'
|
||||
versions = plone_version().split('.')
|
||||
self.assertTrue(len(versions) >= 2)
|
||||
for v in versions:
|
||||
self.assertTrue(v.isdigit())
|
||||
|
||||
def test_zope_version(self):
|
||||
"""Tests that zope_version() returns Zope version."""
|
||||
from plone.api.env import zope_version
|
||||
self.assertTrue(isinstance(zope_version(), str))
|
||||
# version should be something like 'X.Y' or 'X.Y.Z'
|
||||
versions = zope_version().split('.')
|
||||
self.assertTrue(len(versions) >= 2)
|
||||
for v in versions:
|
||||
self.assertTrue(v.isdigit())
|
||||
|
|
Reference in New Issue