Browse Source

PEP8

sensors
Ryan Jarvis 5 years ago
parent
commit
e89ec8c032
1 changed files with 41 additions and 30 deletions
  1. +41
    -30
      code/ota.py

+ 41
- 30
code/ota.py View File

@ -8,14 +8,14 @@
# ------------------------------------------------------------------------------- # -------------------------------------------------------------------------------
from __future__ import print_function from __future__ import print_function
import shutil
import argparse import argparse
import os
import re import re
import shutil
import socket import socket
import subprocess import subprocess
import sys import sys
import time import time
import os
from zeroconf import ServiceBrowser, ServiceStateChange, Zeroconf from zeroconf import ServiceBrowser, ServiceStateChange, Zeroconf
@ -33,6 +33,7 @@ description = "ESPurna OTA Manager v0.3"
devices = [] devices = []
discover_last = 0 discover_last = 0
# ------------------------------------------------------------------------------- # -------------------------------------------------------------------------------
def on_service_state_change(zeroconf, service_type, name, state_change): def on_service_state_change(zeroconf, service_type, name, state_change):
@ -61,7 +62,7 @@ def on_service_state_change(zeroconf, service_type, name, state_change):
} }
for key, item in info.properties.items(): for key, item in info.properties.items():
device[key.decode('UTF-8')] = item.decode('UTF-8');
device[key.decode('UTF-8')] = item.decode('UTF-8')
# rename fields (needed for sorting by name) # rename fields (needed for sorting by name)
device['app'] = device['app_name'] device['app'] = device['app_name']
@ -75,35 +76,35 @@ def list_devices():
""" """
Shows the list of discovered devices Shows the list of discovered devices
""" """
output_format="{:>3} {:<14} {:<15} {:<17} {:<12} {:<12} {:<25} {:<8} {:<8} {:<10}"
output_format = "{:>3} {:<14} {:<15} {:<17} {:<12} {:<12} {:<25} {:<8} {:<8} {:<10}"
print(output_format.format( print(output_format.format(
"#",
"HOSTNAME",
"IP",
"MAC",
"APP",
"VERSION",
"DEVICE",
"MEM_SIZE",
"SDK_SIZE",
"FREE_SPACE"
"#",
"HOSTNAME",
"IP",
"MAC",
"APP",
"VERSION",
"DEVICE",
"MEM_SIZE",
"SDK_SIZE",
"FREE_SPACE"
)) ))
print("-" * 139) print("-" * 139)
index = 0 index = 0
for device in devices: for device in devices:
index = index + 1
index += 1
print(output_format.format( print(output_format.format(
index,
device.get('hostname', ''),
device.get('ip', ''),
device.get('mac', ''),
device.get('app_name', ''),
device.get('app_version', ''),
device.get('target_board', ''),
device.get('mem_size', 0),
device.get('sdk_size', 0),
device.get('free_space', 0),
index,
device.get('hostname', ''),
device.get('ip', ''),
device.get('mac', ''),
device.get('app_name', ''),
device.get('app_version', ''),
device.get('target_board', ''),
device.get('mem_size', 0),
device.get('sdk_size', 0),
device.get('free_space', 0),
)) ))
print() print()
@ -120,11 +121,13 @@ def get_boards():
boards.append(m.group(1)) boards.append(m.group(1))
return sorted(boards) return sorted(boards)
def get_device_size(device): def get_device_size(device):
if device.get('mem_size', 0) == device.get('sdk_size', 0): if device.get('mem_size', 0) == device.get('sdk_size', 0):
return int(device.get('mem_size', 0)) / 1024 return int(device.get('mem_size', 0)) / 1024
return 0 return 0
def get_empty_board(): def get_empty_board():
""" """
Returns the empty structure of a board to flash Returns the empty structure of a board to flash
@ -132,12 +135,13 @@ def get_empty_board():
board = {'board': '', 'ip': '', 'size': 0, 'auth': '', 'flags': ''} board = {'board': '', 'ip': '', 'size': 0, 'auth': '', 'flags': ''}
return board return board
def get_board_by_index(index): def get_board_by_index(index):
""" """
Returns the required data to flash a given board Returns the required data to flash a given board
""" """
board = {} board = {}
if 1 <= index and index <= len(devices):
if 1 <= index <= len(devices):
device = devices[index - 1] device = devices[index - 1]
board['hostname'] = device.get('hostname') board['hostname'] = device.get('hostname')
board['board'] = device.get('target_board', '') board['board'] = device.get('target_board', '')
@ -145,6 +149,7 @@ def get_board_by_index(index):
board['size'] = get_device_size(device) board['size'] = get_device_size(device)
return board return board
def get_board_by_mac(mac): def get_board_by_mac(mac):
""" """
Returns the required data to flash a given board Returns the required data to flash a given board
@ -161,6 +166,7 @@ def get_board_by_mac(mac):
return board return board
return None return None
def get_board_by_hostname(hostname): def get_board_by_hostname(hostname):
""" """
Returns the required data to flash a given board Returns the required data to flash a given board
@ -178,6 +184,7 @@ def get_board_by_hostname(hostname):
return board return board
return None return None
def input_board(): def input_board():
""" """
Grabs info from the user about what device to flash Grabs info from the user about what device to flash
@ -192,7 +199,7 @@ def input_board():
print("Board number must be between 1 and %s\n" % str(len(devices))) print("Board number must be between 1 and %s\n" % str(len(devices)))
return None return None
board = get_board_by_index(index);
board = get_board_by_index(index)
# Choose board type if none before # Choose board type if none before
if len(board.get('board', '')) == 0: if len(board.get('board', '')) == 0:
@ -202,7 +209,7 @@ def input_board():
boards = get_boards() boards = get_boards()
for name in boards: for name in boards:
print("%3d\t%s" % (count, name)) print("%3d\t%s" % (count, name))
count = count + 1
count += 1
print() print()
try: try:
index = int(input("Choose the board type you want to flash: ")) index = int(input("Choose the board type you want to flash: "))
@ -227,9 +234,11 @@ def input_board():
return board return board
def boardname(board): def boardname(board):
return board.get('hostname', board['ip']) return board.get('hostname', board['ip'])
def store(device, env): def store(device, env):
source = ".pioenvs/%s/firmware.elf" % env source = ".pioenvs/%s/firmware.elf" % env
destination = ".pioenvs/elfs/%s.elf" % boardname(device).lower() destination = ".pioenvs/elfs/%s.elf" % boardname(device).lower()
@ -240,6 +249,7 @@ def store(device, env):
shutil.move(source, destination) shutil.move(source, destination)
def run(device, env): def run(device, env):
print("Building and flashing image over-the-air...") print("Building and flashing image over-the-air...")
environ = os.environ.copy() environ = os.environ.copy()
@ -253,6 +263,7 @@ def run(device, env):
store(device, env) store(device, env)
# ------------------------------------------------------------------------------- # -------------------------------------------------------------------------------
if __name__ == '__main__': if __name__ == '__main__':
@ -277,8 +288,8 @@ if __name__ == '__main__':
browser = ServiceBrowser(zeroconf, "_arduino._tcp.local.", handlers=[on_service_state_change]) browser = ServiceBrowser(zeroconf, "_arduino._tcp.local.", handlers=[on_service_state_change])
discover_last = time.time() discover_last = time.time()
while time.time() < discover_last + DISCOVER_TIMEOUT: while time.time() < discover_last + DISCOVER_TIMEOUT:
None
#zeroconf.close()
pass
# zeroconf.close()
if len(devices) == 0: if len(devices) == 0:
print("Nothing found!\n") print("Nothing found!\n")


Loading…
Cancel
Save