Commit 32ce4744 authored by Jason R. Coombs's avatar Jason R. Coombs

Restore support for printable characters in the entry point name. Fixes #327.

parent 6fe9a614
......@@ -2,6 +2,13 @@
CHANGES
=======
------
11.3.1
------
* Issue #327: Formalize and restore support for any printable character in an
entry point name.
----
11.3
----
......
......@@ -2328,7 +2328,7 @@ class EntryPoint(object):
pattern = re.compile(
r'\s*'
r'(?P<name>[+\w. -]+?)\s*'
r'(?P<name>.+?)\s*'
r'=\s*'
r'(?P<module>[\w.]+)\s*'
r'(:\s*(?P<attr>[\w.]+))?\s*'
......
......@@ -2,6 +2,7 @@ import os
import sys
import tempfile
import shutil
import string
import pytest
......@@ -302,6 +303,16 @@ class TestEntryPoints:
except ValueError: pass
else: raise AssertionError("Should've been bad", ep)
def test_printable_name(self):
"""
Allow any printable character in the name.
"""
# Create a name with all printable characters; strip the whitespace.
name = string.printable.strip()
spec = "{name} = module:attr".format(**locals())
ep = EntryPoint.parse(spec)
assert ep.name == name
def checkSubMap(self, m):
assert len(m) == len(self.submap_expect)
for key, ep in pkg_resources.iteritems(self.submap_expect):
......
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