get_as.add_argument("asn", nargs="+")
get_as.set_defaults(func=self.handle_get_as)
+ # Search for AS
+ search_as = subparsers.add_parser("search-as",
+ help=_("Search for Autonomous Systems that match the string"),
+ )
+ search_as.add_argument("query", nargs=1)
+ search_as.set_defaults(func=self.handle_search_as)
+
return parser.parse_args()
def run(self):
try:
n = self.db.lookup(address)
except ValueError:
- sys.stderr.write(_("Invalid IP address: %s") % address)
+ print(_("Invalid IP address: %s") % address, file=sys.stderr)
args = {
"address" : address,
# Nothing found?
if not n:
- print(_("Nothing found for %(address)s") % args)
+ print(_("Nothing found for %(address)s") % args, file=sys.stderr)
ret = 1
continue
try:
asn = int(asn)
except ValueError:
- sys.stderr.write("Invalid ASN: %s" %asn)
+ print(_("Invalid ASN: %s") % asn, file=sys.stderr)
ret = 1
continue
# Nothing found
if not a:
- print(_("Could not find AS%s") % asn)
+ print(_("Could not find AS%s") % asn, file=sys.stderr)
ret = 1
continue
return ret
+ def handle_search_as(self, ns):
+ for query in ns.query:
+ # Print all matches ASes
+ for a in self.db.search_as(query):
+ print(a)
+
def main():
# Run the command line interface
c = CLI()