def blockify_battery(): """ Print the current battery level. """ block = StatusUnit('battery') block.set_icon('') acpi = executor.run('acpi -b')[0] battery = re.search('\d*%', acpi).group(0) battery_int = int(battery[:-1]) is_charging = bool(re.search('Charging|Unknown', acpi)) if is_charging: block.set_icon('') elif battery_int > 90: block.set_icon('') elif battery_int > 60: block.set_icon('') elif battery_int > 30: block.set_icon('') elif battery_int > 10: block.set_icon('') else: block.set_icon('') if is_charging: block.set_text('') else: block.set_text(battery) block.set_background(colors['red']) block.set_color(colors['white'], colors['white']) return block
def blockify_time(): """ Prints the time. """ now = datetime.datetime.now() clock = StatusUnit('clock') clock.set_icon('') clock.set_text(now.strftime('%H:%M:%S')) clock.set_color(colors['bg'], colors['bg']) clock.set_background(colors['green']) return clock
def blockify_wifi(): """ Prints information about the connected wifi. """ interface = "wlan0" try: with open('/sys/class/net/{}/operstate'.format(interface)) as operstate: status = operstate.read().strip() except: return None if status != 'up': return None info = basiciw.iwinfo(interface) block = StatusUnit('network') block.set_icon('') block.set_background(colors['yellow']) block.set_color(colors['bg'], colors['bg']) block.set_text(info['essid']) return block
def blockify_toggl(): w = workingtime.WorkingTime(config.WORKING_HOURS_PER_DAY, config.BUSINESS_DAYS, config.WEEK_DAYS) a = api.TogglAPI(config.API_TOKEN, config.TIMEZONE) t = target.Target() achieved_minutes = a.get_minutes_tracked(start_date=w.week_start, end_date=w.minute) t.achieved_hours = achieved_minutes / 60.0 today_minutes = a.get_minutes_tracked(start_date=w.today, end_date=w.minute) t.today_hours = today_minutes / 60.0 logging.debug('today minutes: %d' % (today_minutes)) t.required_hours = w.required_hours_this_month t.tolerance = config.TOLERANCE_PERCENTAGE normal_min_hours, crunch_min_hours = t.get_required_daily_hours(w.business_days_left_count, w.days_left_count) today_required_minutes = normal_min_hours * 60 elapsed_minutes = today_required_minutes - today_minutes if (elapsed_minutes > 0): e_h, e_m = divmod(elapsed_minutes, 60) text = '%dh %dm' % (e_h, e_m) else: text = '' text += " " if (achieved_minutes > 0): a_h, a_m = divmod(achieved_minutes, 60) text += '%dh %dm' % (a_h, a_m) else: text += '0h 0m' toggl = StatusUnit('toggl') toggl.set_icon('') toggl.set_text(text) toggl.set_background(colors['blue']) toggl.set_color(colors['red'], colors['bg']) return toggl