diff options
Diffstat (limited to 'pbr/packaging.py')
-rw-r--r-- | pbr/packaging.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/pbr/packaging.py b/pbr/packaging.py index 8afbde7..1c6d452 100644 --- a/pbr/packaging.py +++ b/pbr/packaging.py @@ -436,11 +436,11 @@ _script_text = """# PBR Generated from %(group)r import sys -from %(module_name)s import %(func)s +from %(module_name)s import %(import_target)s if __name__ == "__main__": - sys.exit(%(func)s()) + sys.exit(%(invoke_target)s()) """ @@ -450,10 +450,15 @@ def override_get_script_args( header = easy_install.get_script_header("", executable, is_wininst) for group in 'console_scripts', 'gui_scripts': for name, ep in dist.get_entry_map(group).items(): + if not ep.attrs or len(ep.attrs) > 2: + raise ValueError("Script targets must be of the form " + "'func' or 'Class.class_method'.") script_text = _script_text % dict( group=group, module_name=ep.module_name, - func=ep.attrs[0]) + import_target=ep.attrs[0], + invoke_target='.'.join(ep.attrs), + ) yield (name, header+script_text) |