Commit ad5594ae authored by Hanno Schlichting's avatar Hanno Schlichting

Make the API complete by offering a has_package

parent 3839e80a
......@@ -18,8 +18,9 @@ Bugs Fixed
Features Added
++++++++++++++
- Added a new API to ``OFS.metaconfigure.get_registered_packages`` which
replaces any direct access to ``Products._registered_packages``.
- Added a new API's ``get_registered_packages, set_registered_packages`` to
``OFS.metaconfigure`` which replace any direct access to
``Products._registered_packages``.
- Changed product install so it won't write persistent changes only to abort
them. Instead we don't make any database changes in the first place.
......
......@@ -82,6 +82,10 @@ def set_registered_packages(packages):
_registered_packages = packages
def has_package(package):
return package in [m.__name__ for m in get_registered_packages()]
def _registerPackage(module_, init_func=None):
"""Registers the given python package as a Zope 2 style product
"""
......
......@@ -58,9 +58,9 @@ def test_registerPackage():
Make sure it is registered:
>>> from OFS.metaconfigure import get_registered_packages
>>> [x.__name__ for x in get_registered_packages()]
['pythonproduct2']
>>> from OFS.metaconfigure import has_package
>>> has_package('pythonproduct2')
True
Clean up:
......
......@@ -191,8 +191,8 @@ def _installProduct(name, quiet=0):
def hasPackage(name):
'''Checks if a package has been registered with five:registerPackage.'''
from OFS.metaconfigure import get_registered_packages
return name in [m.__name__ for m in get_registered_packages()]
from OFS.metaconfigure import has_package
return has_package(name)
def installPackage(name, quiet=0):
'''Installs a registered Python package.'''
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment