예제 #1
0
파일: base.py 프로젝트: tulth/pebble-tool
 def get_running_emulators(cls):
     running = []
     for platform, sdks in get_all_emulator_info().items():
         for sdk in sdks:
             if ManagedEmulatorTransport.is_emulator_alive(platform, sdk):
                 running.append((platform, sdk))
     return running
예제 #2
0
 def get_running_emulators(cls):
     running = []
     for platform, sdks in get_all_emulator_info().items():
         for sdk in sdks:
             if ManagedEmulatorTransport.is_emulator_alive(platform, sdk):
                 running.append((platform, sdk))
     return running
예제 #3
0
    def __call__(self, args):
        super(KillCommand, self).__call__(args)
        if args.force:
            s = signal.SIGKILL
        else:
            s = signal.SIGTERM

        info = emulator.get_all_emulator_info()
        for platform in info.values():
            for version in platform.values():
                self._kill_if_running(version['qemu']['pid'], s)
                self._kill_if_running(version['pypkjs']['pid'], s)
예제 #4
0
    def __call__(self, args):
        super(KillCommand, self).__call__(args)
        if args.force:
            s = signal.SIGKILL
        else:
            s = signal.SIGTERM

        info = emulator.get_all_emulator_info()
        for platform in info.values():
            for version in platform.values():
                self._kill_if_running(version['qemu']['pid'], s)
                self._kill_if_running(version['pypkjs']['pid'], s)
예제 #5
0
 def _connect(self, args):
     self._set_debugging(args.v)
     if getattr(args, 'phone', None):
         return self._connect_phone(args.phone)
     elif getattr(args, 'qemu', None):
         return self._connect_qemu(args.qemu)
     elif getattr(args, 'emulator', None):
         return self._connect_emulator(args.emulator, args.sdk)
     elif getattr(args, 'cloudpebble', None):
         return self._connect_cloudpebble()
     elif getattr(args, 'serial', None):
         return self._connect_serial(args.serial)
     else:
         if 'phone' in self.valid_connections and 'PEBBLE_PHONE' in os.environ:
             return self._connect_phone(os.environ['PEBBLE_PHONE'])
         elif 'qemu' in self.valid_connections and 'PEBBLE_QEMU' in os.environ:
             return self._connect_qemu(os.environ['PEBBLE_QEMU'])
         elif 'cloudpebble' in self.valid_connections and os.environ.get('PEBBLE_CLOUDPEBBLE', False):
             return self._connect_cloudpebble()
         elif 'serial' in self.valid_connections and 'PEBBLE_BT_SERIAL' in os.environ:
             return self._connect_serial(os.environ['PEBBLE_BT_SERIAL'])
         elif 'emulator' in self.valid_connections:
             running = []
             emulator_platform = None
             emulator_sdk = None
             if 'PEBBLE_EMULATOR' in os.environ:
                 emulator_platform = os.environ['PEBBLE_EMULATOR']
                 if emulator_platform not in pebble_platforms:
                     raise ToolError("PEBBLE_EMULATOR is set to '{}', which is not a valid platform "
                                     "(pick from {})".format(emulator_platform, ', '.join(pebble_platforms)))
                 emulator_sdk = os.environ.get('PEBBLE_EMULATOR_VERSION', sdk_version())
             else:
                 for platform, sdks in get_all_emulator_info().items():
                     for sdk in sdks:
                         if ManagedEmulatorTransport.is_emulator_alive(platform, sdk):
                             running.append((platform, sdk))
                 if len(running) == 1:
                     emulator_platform, emulator_sdk = running[0]
                 elif len(running) > 1:
                     raise ToolError("Multiple emulators are running; you must specify which to use.")
             if emulator_platform is not None:
                 return self._connect_emulator(emulator_platform, emulator_sdk)
     raise ToolError("No pebble connection specified.")