Example #1
0
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)
Example #2
0
File: cpu.py Project: xfire/pydzen
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)
Example #3
0
File: wlan.py Project: xfire/pydzen
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)
Example #4
0
File: wlan.py Project: xfire/pydzen
# ------- 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)