diff options
Diffstat (limited to 'sbhs/management')
-rw-r--r-- | sbhs/management/commands/update_boards.py | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/sbhs/management/commands/update_boards.py b/sbhs/management/commands/update_boards.py index 238646c..849f020 100644 --- a/sbhs/management/commands/update_boards.py +++ b/sbhs/management/commands/update_boards.py @@ -9,6 +9,7 @@ from django.core.management.base import BaseCommand, CommandError from django.contrib.auth.models import User, Group, Permission # local imports +from django.conf import settings from sbhs.models import Board from sbhs.views import map_sbhs_to_rpi @@ -16,23 +17,26 @@ from sbhs.views import map_sbhs_to_rpi class Command(BaseCommand): help = 'Ping all boards and update status of boards' - def add_arguments(self, parser): - # Positional arguments - parser.add_argument('host_ip', type=str) - def handle(self, *args, **options): app_label = 'sbhs' - try: - board_check, dead_servers = map_sbhs_to_rpi(options["host_ip"]) - board = Board() - all_mac_ids = [] - for machines in board_check: - all_mac_ids.extend(machines["mac_ids"]) - board.switch_off_inactive_boards(all_mac_ids) - self.stdout.write('Updated Board Status') - if dead_servers: - self.stdout.write('Servers {0} are not responding.'\ - .format(", ".join(dead_servers)) - ) - except Exception as e: - self.stdout.write('Failed updating Board because {0}'.format(e))
\ No newline at end of file + if settings.SBHS_API_IPS: + try: + board_check, dead_servers = map_sbhs_to_rpi() + board = Board() + all_mac_ids = [] + for machines in board_check: + all_mac_ids.extend(machines["mac_ids"]) + board.switch_off_inactive_boards(all_mac_ids) + self.stdout.write('Updated Board Status') + if dead_servers: + self.stdout.write('Servers {0} are not responding.'\ + .format(", ".join(dead_servers)) + ) + except Exception as e: + self.stdout.write('Failed updating Board because {0}'\ + .format(e) + ) + else: + self.stdout.write('No API IP added in settings.py. ' + " Please try with adding IPs in the SBHS_API_IPS variable " + ) |