Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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