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 ...@@ -18,8 +18,9 @@ Bugs Fixed
Features Added Features Added
++++++++++++++ ++++++++++++++
- Added a new API to ``OFS.metaconfigure.get_registered_packages`` which - Added a new API's ``get_registered_packages, set_registered_packages`` to
replaces any direct access to ``Products._registered_packages``. ``OFS.metaconfigure`` which replace any direct access to
``Products._registered_packages``.
- Changed product install so it won't write persistent changes only to abort - 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. them. Instead we don't make any database changes in the first place.
......
...@@ -82,6 +82,10 @@ def set_registered_packages(packages): ...@@ -82,6 +82,10 @@ def set_registered_packages(packages):
_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): def _registerPackage(module_, init_func=None):
"""Registers the given python package as a Zope 2 style product """Registers the given python package as a Zope 2 style product
""" """
......
...@@ -58,9 +58,9 @@ def test_registerPackage(): ...@@ -58,9 +58,9 @@ def test_registerPackage():
Make sure it is registered: Make sure it is registered:
>>> from OFS.metaconfigure import get_registered_packages >>> from OFS.metaconfigure import has_package
>>> [x.__name__ for x in get_registered_packages()] >>> has_package('pythonproduct2')
['pythonproduct2'] True
Clean up: Clean up:
......
...@@ -191,8 +191,8 @@ def _installProduct(name, quiet=0): ...@@ -191,8 +191,8 @@ def _installProduct(name, quiet=0):
def hasPackage(name): def hasPackage(name):
'''Checks if a package has been registered with five:registerPackage.''' '''Checks if a package has been registered with five:registerPackage.'''
from OFS.metaconfigure import get_registered_packages from OFS.metaconfigure import has_package
return name in [m.__name__ for m in get_registered_packages()] return has_package(name)
def installPackage(name, quiet=0): def installPackage(name, quiet=0):
'''Installs a registered Python package.''' '''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