From 49e88a1cb790b2d40cd2bc9dba8fc82d70f8b761 Mon Sep 17 00:00:00 2001 From: Katharine Berry Date: Wed, 15 Jul 2015 15:54:59 -0700 Subject: [PATCH] Improve stuff. --- pebble_tool/__init__.py | 2 +- pebble_tool/commands/install.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pebble_tool/__init__.py b/pebble_tool/__init__.py index 0aaa1d7..c75e404 100644 --- a/pebble_tool/__init__.py +++ b/pebble_tool/__init__.py @@ -29,7 +29,7 @@ def run_tool(args=None): try: args.func(args) except ToolError as e: - parser.exit(message=str(e), status=1) + parser.exit(message=str(e)+"\n", status=1) sys.exit(1) @atexit.register diff --git a/pebble_tool/commands/install.py b/pebble_tool/commands/install.py index df68bf4..d5e6624 100644 --- a/pebble_tool/commands/install.py +++ b/pebble_tool/commands/install.py @@ -4,10 +4,10 @@ import os import os.path from progressbar import ProgressBar, Bar, FileTransferSpeed, Timer, Percentage -import time from libpebble2.communication.transports.websocket import WebsocketTransport, MessageTargetPhone from libpebble2.communication.transports.websocket.protocol import WebSocketInstallBundle, WebSocketInstallStatus +from libpebble2.exceptions import TimeoutError from libpebble2.services.install import AppInstaller from .base import PebbleCommand @@ -55,7 +55,10 @@ def _install_via_websocket(self, pebble, pbw): with open(pbw) as f: print("Installing app...") pebble.transport.send_packet(WebSocketInstallBundle(pbw=f.read()), target=MessageTargetPhone()) - result = pebble.read_transport_message(MessageTargetPhone, WebSocketInstallStatus) + try: + result = pebble.read_transport_message(MessageTargetPhone, WebSocketInstallStatus, timeout=300) + except TimeoutError: + raise ToolError("Timed out waiting for install confirmation.") if result.status != WebSocketInstallStatus.StatusCode.Success: raise ToolError("App install failed.") else: