Only use expensive fctx.cmp when needed
Restrict expensive cmp to cases when:
- comparing against working directory
and
- encode filters active
or
- path is configured for keyword expansion
#!/usr/bin/env python"""This does HTTP GET requests given a host:port and path and returnsa subset of the headers plus the body of the result."""importhttplib,sys,retry:importmsvcrt,osmsvcrt.setmode(sys.stdout.fileno(),os.O_BINARY)msvcrt.setmode(sys.stderr.fileno(),os.O_BINARY)exceptImportError:passheaders=[h.lower()forhinsys.argv[3:]]conn=httplib.HTTPConnection(sys.argv[1])conn.request("GET",sys.argv[2])response=conn.getresponse()printresponse.status,response.reasonforhinheaders:ifresponse.getheader(h,None)isnotNone:print"%s: %s"%(h,response.getheader(h))printdata=response.read()sys.stdout.write(data)if200<=response.status<=299:sys.exit(0)sys.exit(1)