diff --git a/gestion/whos.py b/gestion/whos.py index 5e74bc6d..999c19a4 100755 --- a/gestion/whos.py +++ b/gestion/whos.py @@ -567,28 +567,38 @@ def prise_etat(chbre) : # On met aussi l'état conn = sw_chbre(chbre) result = conn.status() - macs = conn.show_prise_mac() + rows, cols = get_screen_size() if result['etat']=='up' : f += ', ' + coul('machine branchée','vert') + reste_cols = cols - 45 if result['vitesse_max'] == '10Mbps' : f+= ', ' + coul('prise en 10Mbps','jaune') + reste_cols -= 17 f+=', ' + macs = conn.show_prise_mac() if len(macs) == 0: + if reste_cols < 20 : + # Faut aller à la ligne + f += '\n ' f += coul('aucune MAC détectée', 'jaune') else: - # Combien d'adresses MAC peut-on mettre par ligne ? - # Une adresse MAC =~ 20 caracteres - rows, cols = get_screen_size() - cols -= 17 # On met 15espaces devant chaque ligne - parligne = int(cols/20) - count = 0 - while len(macs) > 0: - if count % parligne == 0: - f += '\n MACs: ' - else: - f += ', ' - f += "%s" % macs.pop() - count += 1 + if len(macs) == 1 and reste_cols > 25 : + # Une seule mac et on a assez de place + f += "MAC: %s" % macs[0] + else : + # On va à la ligne + # Combien d'adresses MAC peut-on mettre par ligne ? + # Une adresse MAC =~ 20 caracteres + cols -= 17 # On met 15espaces devant chaque ligne + parligne = int(cols/20) + count = 0 + while len(macs) > 0: + if count % parligne == 0: + f += '\n MACs: ' + else: + f += ', ' + f += "%s" % macs.pop() + count += 1 elif result['activée'] == 'down' : f+= ', ' + coul('prise désactivée','rouge') else :