Hallo, bei Superkaramba und Python habe ich ein Problem mit der Bedingung, ein Bild abhängig von RAID-Status einzufügen.
Allgemein:
if RAID_Status == [UU]
-> zeig Symbol grün
else
-> rot
relevante Abschnitte (ich weiss mittlerweile, dass cat useless ist und werde es überarbeiten)
Wieso funktioniert DAS nicht?
Allgemein:
if RAID_Status == [UU]
-> zeig Symbol grün
else
-> rot
relevante Abschnitte (ich weiss mittlerweile, dass cat useless ist und werde es überarbeiten)
Code:
# number of RAID-Arrays ['md0', 'md1',.....]
NumberOfRAIDS=os.popen("cat /proc/mdstat |awk '{ print $1}'|grep md").read().split()
.
.
.
texty=0
#for each RAID Array...
for RAIDS in NumberOfRAIDS:
#...set the RAID Box and show name of this RAID Array (mdX)...
#box
karamba.createImage(widget, 72, Base_y_RAID+35, RAID_Box)
#RAID name
RAID = karamba.createText(widget, 75, Base_y_RAID+35+texty, 140,40, RAIDS)
karamba.changeTextColor(widget, RAID, Red_Topic, Green_Topic, Blue_Topic)
karamba.changeTextSize(widget,RAID,18)
#...and set RAID icons and Infos in boxes
if "md" in RAIDS:
RAID_Devices_Title_Text=karamba.createText(widget, 120, Base_y_RAID+35+texty, 140,40, 'RAID Devices:')
karamba.changeTextColor(widget, RAID_Devices_Title_Text, Red_Topic, Green_Topic, Blue_Topic)
RAID_Devices_Typ=os.popen("cat /proc/mdstat |grep "+str(RAIDS)+"|sed 's/"+str(RAIDS)+" : //g'|awk '{print $2}'").read()
RAID_Devices=os.popen("cat /proc/mdstat |grep "+str(RAIDS)+"|sed 's/"+str(RAIDS)+" : //g'|awk '{print $3,$4,$5,$6}'").read()
RAID_Devices_Text=karamba.createText(widget, 120, Base_y_RAID+45+texty, 200,40, RAID_Devices)
karamba.changeTextColor(widget, RAID_Devices_Text, Red_Topic, Green_Topic, Blue_Topic)
RAID_Devices_Title_Typ_Text=karamba.createText(widget, 120, Base_y_RAID+55+texty, 140,40, 'Typ: ')
karamba.changeTextColor(widget, RAID_Devices_Title_Typ_Text, Red_Topic, Green_Topic, Blue_Topic)
RAID_Devices_Typ_Text=karamba.createText(widget, 160, Base_y_RAID+55+texty, 140,40, RAID_Devices_Typ)
karamba.changeTextColor(widget, RAID_Devices_Typ_Text, Red_Topic, Green_Topic, Blue_Topic)
RAID_Chunk=os.popen("cat /proc/mdstat |grep "+str(RAIDS)+" -A2|awk '/chunk/{print $5}'").read()
RAID_Chunk_Title_Text=karamba.createText(widget, 120, Base_y_RAID+66+texty, 140,40, 'Chunk:')
karamba.changeTextColor(widget, RAID_Chunk_Title_Text, Red_Topic, Green_Topic, Blue_Topic)
RAID_Chunk_Text=karamba.createText(widget, 160, Base_y_RAID+66+texty, 140,40, RAID_Chunk)
karamba.changeTextColor(widget, RAID_Chunk_Text, Red_Topic, Green_Topic, Blue_Topic)
RAID_Status=os.popen("cat /proc/mdstat |grep "+str(RAIDS)+" -A1|awk '/blocks/{print $8}'").read()
RAID_Status_Title_Text=karamba.createText(widget, 120, Base_y_RAID+76+texty, 140,40, 'Status:')
karamba.changeTextColor(widget, RAID_Status_Title_Text, Red_Topic, Green_Topic, Blue_Topic)
RAID_Status_Text=karamba.createText(widget, 160, Base_y_RAID+76+texty, 140,40, RAID_Status)
karamba.changeTextColor(widget, RAID_Status_Text, Red_Topic, Green_Topic, Blue_Topic)
#check RAID and show warning symbol
#if os.popen("cat /proc/mdstat |grep "+str(RAIDS)+" -A1|awk '/blocks/{print $8}'").read() == "[UU]" :
#karamba.createImage(widget, 80, Base_y_RAID+65, "img/RAIDok.png")
#else:
#karamba.createImage(widget, 80, Base_y_RAID+65, "img/RAIDnotok.png")
RAID_list.append(RAID)
Wieso funktioniert DAS nicht?
Code:
#check RAID and show warning symbol
#if os.popen("cat /proc/mdstat |grep "+str(RAIDS)+" -A1|awk '/blocks/{print $8}'").read() == "[UU]" :
#karamba.createImage(widget, 80, Base_y_RAID+65, "img/RAIDok.png")
#else:
#karamba.createImage(widget, 80, Base_y_RAID+65, "img/RAIDnotok.png")