| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 """A wrapper around ssh for common operations on a CrOS-based device""" | 4 """A wrapper around ssh for common operations on a CrOS-based device""" |
| 5 import logging | 5 import logging |
| 6 import os | 6 import os |
| 7 import re | 7 import re |
| 8 import shutil | 8 import shutil |
| 9 import stat | 9 import stat |
| 10 import subprocess | 10 import subprocess |
| (...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 299 Args: | 299 Args: |
| 300 filename: The name of the local source file. | 300 filename: The name of the local source file. |
| 301 destfile: The name of the file to copy to, and if it is not specified | 301 destfile: The name of the file to copy to, and if it is not specified |
| 302 then it is the basename of the source file. | 302 then it is the basename of the source file. |
| 303 | 303 |
| 304 """ | 304 """ |
| 305 logging.debug("GetFile(%s, %s)" % (filename, destfile)) | 305 logging.debug("GetFile(%s, %s)" % (filename, destfile)) |
| 306 if self.local: | 306 if self.local: |
| 307 if destfile is not None and destfile != filename: | 307 if destfile is not None and destfile != filename: |
| 308 shutil.copyfile(filename, destfile) | 308 shutil.copyfile(filename, destfile) |
| 309 return | 309 return |
| 310 else: |
| 311 raise OSError('No such file or directory %s' % filename) |
| 310 | 312 |
| 311 if destfile is None: | 313 if destfile is None: |
| 312 destfile = os.path.basename(filename) | 314 destfile = os.path.basename(filename) |
| 313 args = self._FormSCPFromRemote(filename, os.path.abspath(destfile)) | 315 args = self._FormSCPFromRemote(filename, os.path.abspath(destfile)) |
| 314 | 316 |
| 315 stdout, stderr = GetAllCmdOutput(args, quiet=True) | 317 stdout, stderr = GetAllCmdOutput(args, quiet=True) |
| 316 stderr = self._RemoveSSHWarnings(stderr) | 318 stderr = self._RemoveSSHWarnings(stderr) |
| 317 if stderr != '': | 319 if stderr != '': |
| 318 raise OSError('No such file or directory %s' % stderr) | 320 raise OSError('No such file or directory %s' % stderr) |
| 319 | 321 |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 531 else: | 533 else: |
| 532 self.RunCmdOnDevice(['start', 'ui']) | 534 self.RunCmdOnDevice(['start', 'ui']) |
| 533 | 535 |
| 534 def CloseConnection(self): | 536 def CloseConnection(self): |
| 535 if not self.local: | 537 if not self.local: |
| 536 with open(os.devnull, 'w') as devnull: | 538 with open(os.devnull, 'w') as devnull: |
| 537 subprocess.call( | 539 subprocess.call( |
| 538 self.FormSSHCommandLine(['-O', 'exit', self._hostname]), | 540 self.FormSSHCommandLine(['-O', 'exit', self._hostname]), |
| 539 stdout=devnull, | 541 stdout=devnull, |
| 540 stderr=devnull) | 542 stderr=devnull) |
| OLD | NEW |