All pastes #15636 Raw Edit

Miscellany

public python v1 · immutable
#15636 ·published 2005-06-23 13:03 UTC
rendered paste body
#infos for disk not only in MBimport statvfsimport osimport karambatextfont='Sans'textsize=12lineheight = 13text_x = 50text_x2 = 100text_y = 190text_list = []def human_readable(value):	if value >= (1024**4):		return "%.2f To" % (value/(1024.0**4))	if value >= (1024**3):		return "%.2f Go" % (value/(1024.0**3))	if value >= (1024**2):		return "%.2f Mo" % (value/(1024.0**2))	if value >= 1024:		return "%.2f Ko" % (value/1024.0)	else : return "%i o" % value	listdev = ["/", "/mnt/debian", "/mnt/win_c", "/mnt/win_d", "/mnt/win_e"]listname = ["Fedora:", "Debian:", "Win_C:", "Win_D:", "Win_E:"]nbdev = len(listdev)#this is called when you widget is initializeddef initWidget(widget):	global textfont, textsize, textcolor	global listdev, listname	global nbdev	ypos = text_y	for dev in range(nbdev):		textnames = karamba.createText(widget, text_x, ypos, 50, lineheight, '   ')		karamba.changeTextColor(widget, textnames, 255, 255, 255)		karamba.changeTextSize(widget, textnames, textsize )		karamba.changeTextFont(widget, textnames, textfont )		karamba.changeText(widget, textnames,  str(listname[dev]))		textinfos = karamba.createText(widget, text_x2, ypos, 150, lineheight, '   ')		karamba.changeTextColor(widget, textinfos, 255, 255, 255)		karamba.changeTextSize(widget, textinfos, textsize )		karamba.changeTextFont(widget, textinfos, textfont )		text_list.append(textinfos)		ypos = ypos + lineheight#		print listname[dev], human_readable(used), "/", human_readable(total), " ("+str(percent)+"%)"	pass#this is called everytime your widget is updated#the update inverval is specified in the .theme filedef widgetUpdated(widget):	global text_list		for dev in range(nbdev):		infos = os.statvfs(listdev[dev])		total = infos[statvfs.F_FRSIZE] * infos[statvfs.F_BLOCKS]		used = total - infos[statvfs.F_FRSIZE] * infos[statvfs.F_BFREE]		percent = 100 * used / total		karamba.changeText(widget, text_list[dev],  str(human_readable(used))+" / "+str(human_readable(total))+" ("+str(percent)+"%)")	pass