New submission from telmich <nico-bugs.python....@schottelius.org>:

I've this class:


class Path:
    """Class that handles path related configurations"""

    def __init__(self,
                target_host,
                remote_user,
                remote_prefix,
                initial_manifest=False,
                base_dir=None,
                debug=False):

That is falsely instantiated from a different class with these arguments:

        self.path = cdist.path.Path(self.target_host, 
                        initial_manifest=initial_manifest,
                        base_dir=home,
                        debug=debug)

Which results in the following traceback:


[13:40] kr:cdist% ./bin/cdist config -d localhost 
Traceback (most recent call last):
  File "./bin/cdist", line 119, in <module>
    commandline()
  File "./bin/cdist", line 102, in commandline
    args.func(args)
  File 
"/home/users/nico/oeffentlich/rechner/projekte/cdist/lib/cdist/config.py", line 
296, in config
    c = Config(host, initial_manifest=args.manifest, home=args.cdist_home, 
debug=args.debug)
  File 
"/home/users/nico/oeffentlich/rechner/projekte/cdist/lib/cdist/config.py", line 
52, in __init__
    debug=debug)
TypeError: __init__() takes at least 4 arguments (5 given)


Problem:

- there are 5 arguments, so an error message indicating there are at least 4 
needed is not helpful

Proposal (pseudocode):

Change to "Only %d of %d required positional arguments given" 
required_positional, giving_positional

----------
components: Interpreter Core
messages: 145002
nosy: telmich
priority: normal
severity: normal
status: open
title: Wrong error message on class instance, when giving too little positional 
arguments
type: behavior
versions: Python 3.2

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13113>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to