Merge pull request #609 from benleb/more-pythonic
f-strings and double quotes in gps plugin
This commit is contained in:
commit
5f593a4231
@ -9,41 +9,43 @@ from pwnagotchi.ui.view import BLACK
|
||||
|
||||
|
||||
class GPS(plugins.Plugin):
|
||||
__author__ = 'evilsocket@gmail.com'
|
||||
__version__ = '1.0.0'
|
||||
__license__ = 'GPL3'
|
||||
__description__ = 'Save GPS coordinates whenever an handshake is captured.'
|
||||
__author__ = "evilsocket@gmail.com"
|
||||
__version__ = "1.0.0"
|
||||
__license__ = "GPL3"
|
||||
__description__ = "Save GPS coordinates whenever an handshake is captured."
|
||||
|
||||
def __init__(self):
|
||||
self.running = False
|
||||
self.coordinates = None
|
||||
|
||||
def on_loaded(self):
|
||||
logging.info("gps plugin loaded for %s" % self.options['device'])
|
||||
logging.info(f"gps plugin loaded for {self.options['device']}")
|
||||
|
||||
def on_ready(self, agent):
|
||||
if os.path.exists(self.options['device']):
|
||||
logging.info("enabling bettercap's gps module for %s" % self.options['device'])
|
||||
if os.path.exists(self.options["device"]):
|
||||
logging.info(
|
||||
f"enabling bettercap's gps module for {self.options['device']}"
|
||||
)
|
||||
try:
|
||||
agent.run('gps off')
|
||||
agent.run("gps off")
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
agent.run('set gps.device %s' % self.options['device'])
|
||||
agent.run('set gps.baudrate %d' % self.options['speed'])
|
||||
agent.run('gps on')
|
||||
agent.run(f"set gps.device {self.options['device']}")
|
||||
agent.run(f"set gps.baudrate {self.options['speed']}")
|
||||
agent.run("gps on")
|
||||
self.running = True
|
||||
else:
|
||||
logging.warning('no GPS detected')
|
||||
logging.warning("no GPS detected")
|
||||
|
||||
def on_handshake(self, agent, filename, access_point, client_station):
|
||||
if self.running:
|
||||
info = agent.session()
|
||||
self.coordinates = info['gps']
|
||||
gps_filename = filename.replace('.pcap', '.gps.json')
|
||||
self.coordinates = info["gps"]
|
||||
gps_filename = filename.replace(".pcap", ".gps.json")
|
||||
|
||||
logging.info("saving GPS to %s (%s)" % (gps_filename, self.coordinates))
|
||||
with open(gps_filename, 'w+t') as fp:
|
||||
logging.info(f"saving GPS to {gps_filename} ({self.coordinates})")
|
||||
with open(gps_filename, "w+t") as fp:
|
||||
json.dump(self.coordinates, fp)
|
||||
|
||||
def on_ui_setup(self, ui):
|
||||
@ -98,10 +100,10 @@ class GPS(plugins.Plugin):
|
||||
)
|
||||
|
||||
def on_ui_update(self, ui):
|
||||
if self.coordinates and all([
|
||||
# avoid 0.000... measurements
|
||||
self.coordinates["Latitude"], self.coordinates["Longitude"]
|
||||
]):
|
||||
if self.coordinates and all(
|
||||
[self.coordinates["Latitude"], self.coordinates["Longitude"]]
|
||||
):
|
||||
ui.set("latitude", f"{self.coordinates['Latitude']:.4f}")
|
||||
ui.set("longitude", f" {self.coordinates['Longitude']:.4f}")
|
||||
ui.set("altitude", f" {self.coordinates['Altitude']:.1f}m")
|
||||
|
Loading…
x
Reference in New Issue
Block a user