diff options
| author | Yuval Adam <yuv.adm@gmail.com> | 2013-11-29 13:19:42 +0200 |
|---|---|---|
| committer | Yuval Adam <yuv.adm@gmail.com> | 2013-11-29 13:19:42 +0200 |
| commit | 8c0bbcea03503cfda4bda4a9ff57450263dd431d (patch) | |
| tree | 24f4ebbd3f55f8d4e1c0e97ac1caa3fb1cd59bea | |
| parent | 92d63e90b296c1549eaf2afb1c6b8f37332bce8c (diff) | |
Switch to ET parsing
| -rwxr-xr-x | kismet-gps-tools.py | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/kismet-gps-tools.py b/kismet-gps-tools.py index 8105319..76cb21f 100755 --- a/kismet-gps-tools.py +++ b/kismet-gps-tools.py @@ -1,8 +1,9 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 import argparse import sys +import xml.etree.ElementTree as ET -from xml.dom.minidom import parseString +from pprint import pprint class ShapeFileSerializer(object): @@ -12,14 +13,27 @@ class ShapeFileSerializer(object): class KMLSerialzier(object): _serializer_id = 'kml' + class NetXMLParser(object): def __init__(self, filename): self.filename = filename def parse(self): - with open(self.filename) as input_file: - input_dom = parseString(input_file) - wireless_networks = input_dom.getElementsByTagName('wireless-network') + root = ET.parse(self.filename).getroot() + wireless_networks = root.iter('wireless-network') + for network in wireless_networks: + self.parse_network(network) + + def parse_network(self, network): + bssid = network.find('BSSID').text + ssid = network.find('SSID') + if ssid: + print ssid.find('essid').text + + +def run(input_filename, output_format): + NetXMLParser(input_filename).parse() + if __name__ == '__main__': parser = argparse.ArgumentParser(description='Kismet GPS Tools') @@ -29,4 +43,4 @@ if __name__ == '__main__': help='output file format', required=True) args = parser.parse_args() - print(args.input_file, args.output_format) + run(args.input_file, args.output_format) |
