49 lines
2.6 KiB
Python
49 lines
2.6 KiB
Python
################################################################################
|
|
# #
|
|
# This file is part of the Buildbotics firmware. #
|
|
# #
|
|
# Copyright (c) 2015 - 2018, Buildbotics LLC #
|
|
# All rights reserved. #
|
|
# #
|
|
# This file ("the software") is free software: you can redistribute it #
|
|
# and/or modify it under the terms of the GNU General Public License, #
|
|
# version 2 as published by the Free Software Foundation. You should #
|
|
# have received a copy of the GNU General Public License, version 2 #
|
|
# along with the software. If not, see <http://www.gnu.org/licenses/>. #
|
|
# #
|
|
# The software is distributed in the hope that it will be useful, but #
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of #
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU #
|
|
# Lesser General Public License for more details. #
|
|
# #
|
|
# You should have received a copy of the GNU Lesser General Public #
|
|
# License along with the software. If not, see #
|
|
# <http://www.gnu.org/licenses/>. #
|
|
# #
|
|
# For information regarding this software email: #
|
|
# "Joseph Coffland" <joseph@buildbotics.com> #
|
|
# #
|
|
################################################################################
|
|
|
|
import subprocess
|
|
|
|
import bbctrl
|
|
|
|
|
|
class IPLCDPage(bbctrl.LCDPage):
|
|
# From bbctrl.LCDPage
|
|
def activate(self):
|
|
p = subprocess.Popen(['hostname', '-I'], stdout = subprocess.PIPE)
|
|
ips = p.communicate()[0].decode('utf-8').split()
|
|
|
|
p = subprocess.Popen(['hostname'], stdout = subprocess.PIPE)
|
|
hostname = p.communicate()[0].decode('utf-8').strip()
|
|
|
|
self.clear()
|
|
|
|
self.text('Host: %s' % hostname[0:14], 0, 0)
|
|
|
|
for i in range(min(3, len(ips))):
|
|
if len(ips[i]) <= 16:
|
|
self.text('IP: %s' % ips[i], 0, i + 1)
|