summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <yuv.adm@gmail.com>2013-11-29 13:19:42 +0200
committerYuval Adam <yuv.adm@gmail.com>2013-11-29 13:19:42 +0200
commit8c0bbcea03503cfda4bda4a9ff57450263dd431d (patch)
tree24f4ebbd3f55f8d4e1c0e97ac1caa3fb1cd59bea
parent92d63e90b296c1549eaf2afb1c6b8f37332bce8c (diff)
Switch to ET parsing
-rwxr-xr-xkismet-gps-tools.py26
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)