Exemplo n.º 1
0
Arquivo: app.py Projeto: eae/birdhous
  def POST(self):
    form_input = get_input()
    username, password = get_credentials()
    nest = Nest(username, password)
    try:
      nest.login()
    except HTTPError:
      raise web.seeother(get_path('/logout'))
    for button_name, button_value in form_input.items():
      button_parts = button_name.split(':')
      action = button_parts[0]
      structure_id = button_parts[1]
      device_id = button_parts[2] if len(button_parts) > 2 else None
      if action == 'homeaway':
        nest.toggle_away(structure_id=structure_id)
      elif action == 'fan_toggle':
        nest.toggle_fan(structure_id=structure_id, device_id=device_id)
      elif 'target' in action:
        delta = 0.5
        if button_value == '-':
          delta *= -1

        nest.change_temperature(structure_id, device_id, delta=delta, target_type=action)

    raise web.seeother(get_path('/'))