Added stdin support

This commit is contained in:
Alfred Berg
2019-01-17 02:32:27 +00:00
parent 0e3e261d65
commit 1433d7e93a

View File

@@ -2,6 +2,7 @@ from argparse import ArgumentParser
from netaddr import IPNetwork, IPRange, IPGlob from netaddr import IPNetwork, IPRange, IPGlob
from Interlace.lib.core.output import OutputHelper, Level from Interlace.lib.core.output import OutputHelper, Level
import os.path import os.path
import sys
from re import compile from re import compile
@@ -81,7 +82,11 @@ class InputHelper(object):
if arguments.target: if arguments.target:
ranges.add(arguments.target) ranges.add(arguments.target)
else: else:
for target in arguments.target_list: targetFile = arguments.target_list
if not sys.stdin.isatty():
targetFile = sys.stdin
for target in targetFile:
if target.strip():
ranges.add(target.strip()) ranges.add(target.strip())
# process exclusions first # process exclusions first
@@ -182,7 +187,12 @@ class InputParser(object):
def setup_parser(): def setup_parser():
parser = ArgumentParser() parser = ArgumentParser()
targets = parser.add_mutually_exclusive_group(required=True) #Is stdin attached?
requireTargetArg = True
if not sys.stdin.isatty():
requireTargetArg = False
targets = parser.add_mutually_exclusive_group(required=requireTargetArg)
targets.add_argument( targets.add_argument(
'-t', dest='target', required=False, '-t', dest='target', required=False,