def main(argv): input_file_stream = FileStream(argv[1]) lexer = tnsnamesLexer(input_file_stream) stream = CommonTokenStream(lexer) parser = tnsnamesParser(stream) tree = parser.tnsnames() listener = AliasFinder() walker = ParseTreeWalker() walker.walk(listener, tree) for alias in listener.get_aliases: print(alias)
def test_format_single_line(self): input_file_stream = FileStream(self._tnsnames_file) lexer = tnsnamesLexer(input_file_stream) stream = CommonTokenStream(lexer) parser = tnsnamesParser(stream) tree = parser.tnsnames() listener = TnsnameLineFormatter() walker = ParseTreeWalker() walker.walk(listener, tree) assert len(listener.get_lines) == 6
def test_bad_tnsnames_file(self): tnsnames_file = '{0}/testFiles/tnsnames_false.ora'.format(self._script_path) input_file_stream = FileStream(tnsnames_file) errorListener = TnsErrorListenerException() lexer = tnsnamesLexer(input_file_stream) stream = CommonTokenStream(lexer) parser = tnsnamesParser(stream) parser._listeners.clear() parser.addErrorListener(errorListener) with self.assertRaisesRegexp(Exception, "Syntax error") as cm: tree = parser.tnsnames()
def test_get_aliases(self): input_file_stream = FileStream(self._tnsnames_file) lexer = tnsnamesLexer(input_file_stream) stream = CommonTokenStream(lexer) parser = tnsnamesParser(stream) tree = parser.tnsnames() listener = AliasFinder() walker = ParseTreeWalker() walker.walk(listener, tree) expected_aliases = ['LSNR_FRED', 'LSNR_WILMA', 'lsnr_barney', 'alias_1', 'alias_2.world', 'alias3.dunbar-it.co.uk', 'someother_alias', 'someother_alias2'] self.assertListEqual(listener.get_aliases, expected_aliases)
def test_get_aliases(self): input_file_stream = FileStream(self._tnsnames_file) lexer = tnsnamesLexer(input_file_stream) stream = CommonTokenStream(lexer) parser = tnsnamesParser(stream) tree = parser.tnsnames() listener = AliasFinder() walker = ParseTreeWalker() walker.walk(listener, tree) expected_aliases = [ 'LSNR_FRED', 'LSNR_WILMA', 'lsnr_barney', 'alias_1', 'alias_2.world', 'alias3.dunbar-it.co.uk', 'someother_alias', 'someother_alias2' ] self.assertListEqual(listener.get_aliases, expected_aliases)
def main(): parser = argparse.ArgumentParser() parser.add_argument("tnsnamesFile", type=str, help="the filename of the tnsnames file to be formatted") parser.add_argument("-f", "--format", type=str, help="format to be applied", default=Format.oracle.name) args = parser.parse_args() if args.format == Format.oracle.name: _listener = TnsnameOraStyleFormatter() else: _listener = TnsnameLineFormatter() input_file_stream = FileStream(args.tnsnamesFile) lexer = tnsnamesLexer(input_file_stream) stream = CommonTokenStream(lexer) parser = tnsnamesParser(stream) tree = parser.tnsnames() walker = ParseTreeWalker() walker.walk(_listener, tree) for line in _listener.get_lines: print(line)