def update(): try: fg_color = config.FG_COLOR icon = ICON_AC ac_vals = utils.parse_file(FILE_AC, RE_AC_ONLINE) bat_vals = utils.parse_file([FILE_BAT_INFO, FILE_BAT_STATE], [RE_FULL_CAPACITY, RE_REMAINING_CAPACITY, RE_PRESENT_RATE]) lastfull = float(bat_vals['lastfull'][0]) remain = float(bat_vals['remain'][0]) rate = float(bat_vals['rate'][0]) percent = math.floor(remain / lastfull * 100.0 + 0.5) if percent < 25: fg_color = config.FG_COLOR_URGENT elif percent < 50: fg_color = config.FG_COLOR_NOTICE bat = utils.gdbar('%s %s' % (remain, lastfull), l = '%d%% ' % (100. / lastfull * remain)) ac = '' if not ac_vals and rate > 0: mins = (3600.0 * (remain / rate)) / 60.0 hours = math.floor(mins / 60.0) mins = math.floor(mins - (hours * 60.0)) ac = ' %02d:%02d' % (hours, mins) icon = ICON_BAT return '^fg(%s)^i(%s)%s%s^fg()' % (fg_color, icon, bat, ac) except StandardError, e: logger.warn(e)
def update(): try: cpu_vals = utils.parse_file('/proc/cpuinfo', RE_CPU) stat_vals = utils.parse_file('/proc/stat', RE_STATS) temp_vals = utils.parse_file(FILE_TEMP, RE_TEMP) ghz_vals = [float(i) / 1000 for i in cpu_vals['mhz']] cpu = '/'.join(['%.1f' % i for i in ghz_vals]) stat_vals = dict([(k, int(v[0])) for k, v in stat_vals.items()]) dtotal = stat_vals['user'] - OLD_STATS['user'] + \ stat_vals['system'] - OLD_STATS['system'] + \ stat_vals['nice'] - OLD_STATS['nice'] + \ stat_vals['idle'] - OLD_STATS['idle'] if dtotal > 0: load = '%02d' % (100 - ((stat_vals['idle'] - OLD_STATS['idle']) * 100 / dtotal)) else: load = '0' OLD_STATS.update(stat_vals) temp = '' try: temp = '^i(%s)%02d%s' % (ICON_TEMP, int(temp_vals['temp'][0]), temp_vals['unit'][0]) except StandardError: pass return 'CPU: %s GHz (%s%%)%s' % (cpu, load, temp) except StandardError, e: logger.warn(e)
def update(): global OLD_STATS try: nrx = int(utils.parse_file(RX_STAT, RE_RXTX_STAT)['val'][0]) ntx = int(utils.parse_file(TX_STAT, RE_RXTX_STAT)['val'][0]) rx = (nrx - OLD_STATS[0]) / 1024 / INTERVAL tx = (ntx - OLD_STATS[1]) / 1024 / INTERVAL OLD_STATS = (nrx, ntx) # lq = utils.parse_app('/sbin/iwconfig', re.compile(r'^.*Link Quality.(?P<val>(\d+))\/(?P<max>(\d+)).*$', re.M)) # lqbar = utils.gdbar('%s %s' % (lq['val'][0], lq['max'][0]), sw = 1, ss = 1, w = 15 ) return '%s: %dkB/s^i(%s) %dkB/s^i(%s)' % (IFACE, rx, ICON_DOWN, tx, ICON_UP) except StandardError, e: logger.warn(e)
# ------- user config ---------------------------------------------------------- INTERVAL = 1 IFACE = 'wlan0' ICON_UP = os.path.join(config.ICON_PATH, 'net_up.xbm') ICON_DOWN = os.path.join(config.ICON_PATH, 'net_down.xbm') # ------- user config ---------------------------------------------------------- logger = logging.getLogger('plugin.wlan') RX_STAT = '/sys/class/net/%s/statistics/rx_bytes' % IFACE TX_STAT = '/sys/class/net/%s/statistics/tx_bytes' % IFACE RE_RXTX_STAT = re.compile(r'^(?P<val>\d+)$') try: OLD_STATS = (int(utils.parse_file(RX_STAT, RE_RXTX_STAT)['val'][0]), int(utils.parse_file(TX_STAT, RE_RXTX_STAT)['val'][0])) except: OLD_STATS = (0, 0) def update(): global OLD_STATS try: nrx = int(utils.parse_file(RX_STAT, RE_RXTX_STAT)['val'][0]) ntx = int(utils.parse_file(TX_STAT, RE_RXTX_STAT)['val'][0]) rx = (nrx - OLD_STATS[0]) / 1024 / INTERVAL tx = (ntx - OLD_STATS[1]) / 1024 / INTERVAL OLD_STATS = (nrx, ntx)