Added actor to open url in default browser

This commit is contained in:
Paulus Schoutsen 2013-10-07 18:47:25 -07:00
parent c72dbf0a83
commit 9cfcf43202
2 changed files with 10 additions and 3 deletions

View File

@ -10,6 +10,7 @@ import os
import logging
from datetime import datetime, timedelta
import re
import webbrowser
import dateutil.parser
from phue import Bridge
@ -26,6 +27,7 @@ LIGHT_TRANSITION_TIME = timedelta(minutes=15)
HUE_MAX_TRANSITION_TIME = 9000
EVENT_DOWNLOAD_FILE = "download_file"
EVENT_BROWSE_URL = "browse_url"
EVENT_TURN_LIGHT_ON = "turn_light_on"
EVENT_TURN_LIGHT_OFF = "turn_light_off"
@ -238,3 +240,7 @@ def setup_file_downloader(eventbus, download_path):
eventbus.listen(EVENT_DOWNLOAD_FILE, download_file)
def setup_webbrowser(eventbus):
""" Listen for browse_url events and opens the url in the default webbrowser. """
eventbus.listen(EVENT_BROWSE_URL, lambda event: webbrowser.open(event.data['url']))

View File

@ -18,7 +18,7 @@ statemachine = StateMachine(eventbus)
# Init observers
tomato = observers.TomatoDeviceScanner(config.get('tomato','host'), config.get('tomato','username'),
config.get('tomato','password'), config.get('tomato','http_id'))
config.get('tomato','password'), config.get('tomato','http_id'))
devicetracker = observers.DeviceTracker(eventbus, statemachine, tomato)
@ -29,10 +29,11 @@ actors.LightTrigger(eventbus, statemachine, devicetracker, actors.HueLightContro
# If a chromecast is specified, add some chromecast specific event triggers
if config.has_option("chromecast", "host"):
eventbus.listen("start_fireplace", lambda event: play_youtube_video(config.get("chromecast","host"), "eyU3bRy2x44"))
eventbus.listen("start_epic_sax", lambda event: play_youtube_video(config.get("chromecast","host"), "kxopViU98Xo"))
eventbus.listen("start_fireplace", lambda event: play_youtube_video(config.get("chromecast","host"), "eyU3bRy2x44"))
eventbus.listen("start_epic_sax", lambda event: play_youtube_video(config.get("chromecast","host"), "kxopViU98Xo"))
actors.setup_file_downloader(eventbus, "downloads")
actors.setup_webbrowser(eventbus)
# Init HTTP interface
HTTPInterface(eventbus, statemachine, config.get("common","api_password"))