Skip to content

Commit

Permalink
Allow sets again.
Browse files Browse the repository at this point in the history
This is for backwards compatibility with existing code which might use sets.
  • Loading branch information
Michael Howitz committed Mar 14, 2017
1 parent 14ee5ed commit 32b867b
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/RestrictedPython/Utilities.py
Expand Up @@ -35,6 +35,12 @@
utility_builtins['set'] = set
utility_builtins['frozenset'] = frozenset

try:
import sets
utility_builtins['sets'] = sets
except ImportError:
pass

try:
import DateTime
utility_builtins['DateTime'] = DateTime.DateTime
Expand Down
11 changes: 11 additions & 0 deletions tests/builtins/test_utilities.py
@@ -1,3 +1,6 @@
from RestrictedPython._compat import IS_PY3
import pytest


def test_string_in_utility_builtins():
import string
Expand Down Expand Up @@ -28,6 +31,14 @@ def test_set_in_utility_builtins():
assert utility_builtins['set'] is set


@pytest.mark.skipif(IS_PY3,
reason='Python 3 has no longer includes the sets module.')
def test_sets_in_utility_builtins():
from RestrictedPython.Utilities import utility_builtins
import sets
assert utility_builtins['sets'] is sets


def test_frozenset_in_utility_builtins():
from RestrictedPython.Utilities import utility_builtins
assert utility_builtins['frozenset'] is frozenset
Expand Down

0 comments on commit 32b867b

Please sign in to comment.