Error handling with verbose output
Question: Im trying to implement the `--verbose` option in my script. The idea is to
turn on extra printing of errors etc for debugging, but for some reason it
doesnt seem to work. Ive tried a few variations of the `if verbose` statement
but no joy. Im hoping someone could point me in the right direction?

**CLI EXAMPLE**

`./attack2.py -f wordfile.txt -d google.com --verbose 1`

**CLI OUTPUT**

    
    
    unknown@ubuntu:~$ ./attack2.py -f wordfile.txt -d google.com --verbose 1
    173.194.34.149
    173.194.34.130
    unknown@ubuntu:~$
    

**ARG PRINT**

    
    
    {'--domain': 'google.com',
     '--file': 'wordfile.txt',
     '--help': False,
     '--thread': False,
     '--verbose': True,
     '10': False,
     '<1>': '1'}
    

**CODE**

    
    
    #!/usr/bin/python
    
    """
    Description:
    
    Basic Domain bruteforcer
    
    Usage:
      attack2.py (-f <file>) (-d <domain>) [-t 10] [-v <1>]
      attack2.py -h | --help
    
    Arguments:
      -f --file File to read potential Sub-domains from. (Required)
      -d --domain Domain to bruteforce. (Required)
    Options:
      -h --help     Show this screen.
      -p --proxy    Proxy address and port. [default: http://127.0.0.1:8080] (Optional)
      -t --thread   Thread count. (Optional)
      -v --verbose  Turn debug on. (Optional)
    """
    import socket
    from docopt import docopt
    
    
    def fread(dwords):
            flist = open(dwords).readlines()
            return [s.replace('\n', '.') for s in flist]
    
    
    def subcheck(subdomain, domain, verbose):
    
            vdomain = {}
            for sub in subdomain:
                    try:
                            check = socket.gethostbyname(sub + domain)
                            vdomain[sub + domain] = check
    
                    except socket.gaierror, e:
                            if verbose == True:
                                    print arguments
                                    print e, sub + domain
                            else:
                                    pass
            return vdomain
    
    if __name__ == "__main__":
            arguments = docopt(__doc__, version='0.1a')
    
            fread(arguments['--file'])
            returned_list = fread(arguments['--file'])
            returned_domains = subcheck(returned_list, arguments['--domain'], ['--verbose'])
    


Answer: The below line in function `subcheck`

    
    
    returned_domains = subcheck(returned_list, arguments['--domain'], ['--verbose'])
    

should be

    
    
    returned_domains = subcheck(returned_list, arguments['--domain'], arguments['--verbose'])
    

You forgot to pass the `verbose` param from arguments, instead you passed a
`list`

