1
2<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
3<html><head><title>Python: module telemetry.core.cros_interface</title>
4<meta charset="utf-8">
5</head><body bgcolor="#f0f0f8">
6
7<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
8<tr bgcolor="#7799ee">
9<td valign=bottom>&nbsp;<br>
10<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="telemetry.html"><font color="#ffffff">telemetry</font></a>.<a href="telemetry.core.html"><font color="#ffffff">core</font></a>.cros_interface</strong></big></big></font></td
11><td align=right valign=bottom
12><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="/telemetry/core/cros_interface.py">telemetry/core/cros_interface.py</a></font></td></tr></table>
13    <p><tt>A&nbsp;wrapper&nbsp;around&nbsp;ssh&nbsp;for&nbsp;common&nbsp;operations&nbsp;on&nbsp;a&nbsp;CrOS-based&nbsp;device</tt></p>
14<p>
15<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
16<tr bgcolor="#aa55cc">
17<td colspan=3 valign=bottom>&nbsp;<br>
18<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
19    
20<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
21<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="logging.html">logging</a><br>
22<a href="os.html">os</a><br>
23</td><td width="25%" valign=top><a href="re.html">re</a><br>
24<a href="shutil.html">shutil</a><br>
25</td><td width="25%" valign=top><a href="stat.html">stat</a><br>
26<a href="subprocess.html">subprocess</a><br>
27</td><td width="25%" valign=top><a href="tempfile.html">tempfile</a><br>
28</td></tr></table></td></tr></table><p>
29<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
30<tr bgcolor="#ee77aa">
31<td colspan=3 valign=bottom>&nbsp;<br>
32<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
33    
34<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
35<td width="100%"><dl>
36<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
37</font></dt><dd>
38<dl>
39<dt><font face="helvetica, arial"><a href="telemetry.core.cros_interface.html#CrOSInterface">CrOSInterface</a>
40</font></dt></dl>
41</dd>
42<dt><font face="helvetica, arial"><a href="exceptions.html#Exception">exceptions.Exception</a>(<a href="exceptions.html#BaseException">exceptions.BaseException</a>)
43</font></dt><dd>
44<dl>
45<dt><font face="helvetica, arial"><a href="telemetry.core.cros_interface.html#LoginException">LoginException</a>
46</font></dt><dd>
47<dl>
48<dt><font face="helvetica, arial"><a href="telemetry.core.cros_interface.html#DNSFailureException">DNSFailureException</a>
49</font></dt><dt><font face="helvetica, arial"><a href="telemetry.core.cros_interface.html#KeylessLoginRequiredException">KeylessLoginRequiredException</a>
50</font></dt></dl>
51</dd>
52</dl>
53</dd>
54</dl>
55 <p>
56<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
57<tr bgcolor="#ffc8d8">
58<td colspan=3 valign=bottom>&nbsp;<br>
59<font color="#000000" face="helvetica, arial"><a name="CrOSInterface">class <strong>CrOSInterface</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
60    
61<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
62<td width="100%">Methods defined here:<br>
63<dl><dt><a name="CrOSInterface-Chown"><strong>Chown</strong></a>(self, filename)</dt></dl>
64
65<dl><dt><a name="CrOSInterface-CloseConnection"><strong>CloseConnection</strong></a>(self)</dt></dl>
66
67<dl><dt><a name="CrOSInterface-CryptohomePath"><strong>CryptohomePath</strong></a>(self, user)</dt><dd><tt>Returns&nbsp;the&nbsp;cryptohome&nbsp;mount&nbsp;point&nbsp;for&nbsp;|user|.</tt></dd></dl>
68
69<dl><dt><a name="CrOSInterface-FileExistsOnDevice"><strong>FileExistsOnDevice</strong></a>(self, file_name)</dt></dl>
70
71<dl><dt><a name="CrOSInterface-FilesystemMountedAt"><strong>FilesystemMountedAt</strong></a>(self, path)</dt><dd><tt>Returns&nbsp;the&nbsp;filesystem&nbsp;mounted&nbsp;at&nbsp;|path|</tt></dd></dl>
72
73<dl><dt><a name="CrOSInterface-FormSSHCommandLine"><strong>FormSSHCommandLine</strong></a>(self, args, extra_ssh_args<font color="#909090">=None</font>)</dt><dd><tt>Constructs&nbsp;a&nbsp;subprocess-suitable&nbsp;command&nbsp;line&nbsp;for&nbsp;`ssh'.</tt></dd></dl>
74
75<dl><dt><a name="CrOSInterface-GetChromePid"><strong>GetChromePid</strong></a>(self)</dt><dd><tt>Returns&nbsp;pid&nbsp;of&nbsp;main&nbsp;chrome&nbsp;browser&nbsp;process.</tt></dd></dl>
76
77<dl><dt><a name="CrOSInterface-GetChromeProcess"><strong>GetChromeProcess</strong></a>(self)</dt><dd><tt>Locates&nbsp;the&nbsp;the&nbsp;main&nbsp;chrome&nbsp;browser&nbsp;process.<br>
78&nbsp;<br>
79Chrome&nbsp;on&nbsp;cros&nbsp;is&nbsp;usually&nbsp;in&nbsp;/opt/google/chrome,&nbsp;but&nbsp;could&nbsp;be&nbsp;in<br>
80/usr/local/&nbsp;for&nbsp;developer&nbsp;workflows&nbsp;-&nbsp;debug&nbsp;chrome&nbsp;is&nbsp;too&nbsp;large&nbsp;to&nbsp;fit&nbsp;on<br>
81rootfs.<br>
82&nbsp;<br>
83Chrome&nbsp;spawns&nbsp;multiple&nbsp;processes&nbsp;for&nbsp;renderers.&nbsp;pids&nbsp;wrap&nbsp;around&nbsp;after&nbsp;they<br>
84are&nbsp;exhausted&nbsp;so&nbsp;looking&nbsp;for&nbsp;the&nbsp;smallest&nbsp;pid&nbsp;is&nbsp;not&nbsp;always&nbsp;correct.&nbsp;We<br>
85locate&nbsp;the&nbsp;session_manager's&nbsp;pid,&nbsp;and&nbsp;look&nbsp;for&nbsp;the&nbsp;chrome&nbsp;process&nbsp;that's&nbsp;an<br>
86immediate&nbsp;child.&nbsp;This&nbsp;is&nbsp;the&nbsp;main&nbsp;browser&nbsp;process.</tt></dd></dl>
87
88<dl><dt><a name="CrOSInterface-GetFile"><strong>GetFile</strong></a>(self, filename, destfile<font color="#909090">=None</font>)</dt><dd><tt>Copies&nbsp;a&nbsp;local&nbsp;file&nbsp;|filename|&nbsp;to&nbsp;|destfile|&nbsp;on&nbsp;the&nbsp;device.<br>
89&nbsp;<br>
90Args:<br>
91&nbsp;&nbsp;filename:&nbsp;The&nbsp;name&nbsp;of&nbsp;the&nbsp;local&nbsp;source&nbsp;file.<br>
92&nbsp;&nbsp;destfile:&nbsp;The&nbsp;name&nbsp;of&nbsp;the&nbsp;file&nbsp;to&nbsp;copy&nbsp;to,&nbsp;and&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;specified<br>
93&nbsp;&nbsp;&nbsp;&nbsp;then&nbsp;it&nbsp;is&nbsp;the&nbsp;basename&nbsp;of&nbsp;the&nbsp;source&nbsp;file.</tt></dd></dl>
94
95<dl><dt><a name="CrOSInterface-GetFileContents"><strong>GetFileContents</strong></a>(self, filename)</dt><dd><tt>Get&nbsp;the&nbsp;contents&nbsp;of&nbsp;a&nbsp;file&nbsp;on&nbsp;the&nbsp;device.<br>
96&nbsp;<br>
97Args:<br>
98&nbsp;&nbsp;filename:&nbsp;The&nbsp;name&nbsp;of&nbsp;the&nbsp;file&nbsp;on&nbsp;the&nbsp;device.<br>
99&nbsp;<br>
100Returns:<br>
101&nbsp;&nbsp;A&nbsp;string&nbsp;containing&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;file.</tt></dd></dl>
102
103<dl><dt><a name="CrOSInterface-GetRemotePort"><strong>GetRemotePort</strong></a>(self)</dt></dl>
104
105<dl><dt><a name="CrOSInterface-IsCryptohomeMounted"><strong>IsCryptohomeMounted</strong></a>(self, username, is_guest)</dt><dd><tt>Returns&nbsp;True&nbsp;iff&nbsp;|user|'s&nbsp;cryptohome&nbsp;is&nbsp;mounted.</tt></dd></dl>
106
107<dl><dt><a name="CrOSInterface-IsHTTPServerRunningOnPort"><strong>IsHTTPServerRunningOnPort</strong></a>(self, port)</dt></dl>
108
109<dl><dt><a name="CrOSInterface-IsServiceRunning"><strong>IsServiceRunning</strong></a>(self, service_name)</dt></dl>
110
111<dl><dt><a name="CrOSInterface-KillAllMatching"><strong>KillAllMatching</strong></a>(self, predicate)</dt></dl>
112
113<dl><dt><a name="CrOSInterface-ListProcesses"><strong>ListProcesses</strong></a>(self)</dt><dd><tt>Returns&nbsp;(pid,&nbsp;cmd,&nbsp;ppid,&nbsp;state)&nbsp;of&nbsp;all&nbsp;processes&nbsp;on&nbsp;the&nbsp;device.</tt></dd></dl>
114
115<dl><dt><a name="CrOSInterface-PushContents"><strong>PushContents</strong></a>(self, text, remote_filename)</dt></dl>
116
117<dl><dt><a name="CrOSInterface-PushFile"><strong>PushFile</strong></a>(self, filename, remote_filename)</dt></dl>
118
119<dl><dt><a name="CrOSInterface-RestartUI"><strong>RestartUI</strong></a>(self, clear_enterprise_policy)</dt></dl>
120
121<dl><dt><a name="CrOSInterface-RmRF"><strong>RmRF</strong></a>(self, filename)</dt></dl>
122
123<dl><dt><a name="CrOSInterface-RunCmdOnDevice"><strong>RunCmdOnDevice</strong></a>(self, args, cwd<font color="#909090">=None</font>, quiet<font color="#909090">=False</font>)</dt></dl>
124
125<dl><dt><a name="CrOSInterface-TakeScreenShot"><strong>TakeScreenShot</strong></a>(self, screenshot_prefix)</dt><dd><tt>Takes&nbsp;a&nbsp;screenshot,&nbsp;useful&nbsp;for&nbsp;debugging&nbsp;failures.</tt></dd></dl>
126
127<dl><dt><a name="CrOSInterface-TryLogin"><strong>TryLogin</strong></a>(self)</dt></dl>
128
129<dl><dt><a name="CrOSInterface-__enter__"><strong>__enter__</strong></a>(self)</dt></dl>
130
131<dl><dt><a name="CrOSInterface-__exit__"><strong>__exit__</strong></a>(self, *args)</dt></dl>
132
133<dl><dt><a name="CrOSInterface-__init__"><strong>__init__</strong></a>(self, hostname<font color="#909090">=None</font>, ssh_port<font color="#909090">=None</font>, ssh_identity<font color="#909090">=None</font>)</dt><dd><tt>#&nbsp;pylint:&nbsp;disable=R0923</tt></dd></dl>
134
135<hr>
136Data descriptors defined here:<br>
137<dl><dt><strong>__dict__</strong></dt>
138<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
139</dl>
140<dl><dt><strong>__weakref__</strong></dt>
141<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
142</dl>
143<dl><dt><strong>hostname</strong></dt>
144</dl>
145<dl><dt><strong>local</strong></dt>
146</dl>
147<dl><dt><strong>ssh_port</strong></dt>
148</dl>
149</td></tr></table> <p>
150<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
151<tr bgcolor="#ffc8d8">
152<td colspan=3 valign=bottom>&nbsp;<br>
153<font color="#000000" face="helvetica, arial"><a name="DNSFailureException">class <strong>DNSFailureException</strong></a>(<a href="telemetry.core.cros_interface.html#LoginException">LoginException</a>)</font></td></tr>
154    
155<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
156<td width="100%"><dl><dt>Method resolution order:</dt>
157<dd><a href="telemetry.core.cros_interface.html#DNSFailureException">DNSFailureException</a></dd>
158<dd><a href="telemetry.core.cros_interface.html#LoginException">LoginException</a></dd>
159<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
160<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
161<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
162</dl>
163<hr>
164Data descriptors inherited from <a href="telemetry.core.cros_interface.html#LoginException">LoginException</a>:<br>
165<dl><dt><strong>__weakref__</strong></dt>
166<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
167</dl>
168<hr>
169Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
170<dl><dt><a name="DNSFailureException-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#DNSFailureException-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;help(type(x))&nbsp;for&nbsp;signature</tt></dd></dl>
171
172<hr>
173Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
174<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#DNSFailureException-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
175
176<hr>
177Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
178<dl><dt><a name="DNSFailureException-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#DNSFailureException-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
179
180<dl><dt><a name="DNSFailureException-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#DNSFailureException-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
181
182<dl><dt><a name="DNSFailureException-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#DNSFailureException-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
183
184<dl><dt><a name="DNSFailureException-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#DNSFailureException-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
185&nbsp;<br>
186Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
187
188<dl><dt><a name="DNSFailureException-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
189
190<dl><dt><a name="DNSFailureException-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#DNSFailureException-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
191
192<dl><dt><a name="DNSFailureException-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#DNSFailureException-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
193
194<dl><dt><a name="DNSFailureException-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
195
196<dl><dt><a name="DNSFailureException-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#DNSFailureException-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
197
198<dl><dt><a name="DNSFailureException-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
199
200<hr>
201Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
202<dl><dt><strong>__dict__</strong></dt>
203</dl>
204<dl><dt><strong>args</strong></dt>
205</dl>
206<dl><dt><strong>message</strong></dt>
207</dl>
208</td></tr></table> <p>
209<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
210<tr bgcolor="#ffc8d8">
211<td colspan=3 valign=bottom>&nbsp;<br>
212<font color="#000000" face="helvetica, arial"><a name="KeylessLoginRequiredException">class <strong>KeylessLoginRequiredException</strong></a>(<a href="telemetry.core.cros_interface.html#LoginException">LoginException</a>)</font></td></tr>
213    
214<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
215<td width="100%"><dl><dt>Method resolution order:</dt>
216<dd><a href="telemetry.core.cros_interface.html#KeylessLoginRequiredException">KeylessLoginRequiredException</a></dd>
217<dd><a href="telemetry.core.cros_interface.html#LoginException">LoginException</a></dd>
218<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
219<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
220<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
221</dl>
222<hr>
223Data descriptors inherited from <a href="telemetry.core.cros_interface.html#LoginException">LoginException</a>:<br>
224<dl><dt><strong>__weakref__</strong></dt>
225<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
226</dl>
227<hr>
228Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
229<dl><dt><a name="KeylessLoginRequiredException-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#KeylessLoginRequiredException-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;help(type(x))&nbsp;for&nbsp;signature</tt></dd></dl>
230
231<hr>
232Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
233<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#KeylessLoginRequiredException-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
234
235<hr>
236Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
237<dl><dt><a name="KeylessLoginRequiredException-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#KeylessLoginRequiredException-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
238
239<dl><dt><a name="KeylessLoginRequiredException-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#KeylessLoginRequiredException-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
240
241<dl><dt><a name="KeylessLoginRequiredException-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#KeylessLoginRequiredException-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
242
243<dl><dt><a name="KeylessLoginRequiredException-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#KeylessLoginRequiredException-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
244&nbsp;<br>
245Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
246
247<dl><dt><a name="KeylessLoginRequiredException-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
248
249<dl><dt><a name="KeylessLoginRequiredException-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#KeylessLoginRequiredException-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
250
251<dl><dt><a name="KeylessLoginRequiredException-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#KeylessLoginRequiredException-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
252
253<dl><dt><a name="KeylessLoginRequiredException-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
254
255<dl><dt><a name="KeylessLoginRequiredException-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#KeylessLoginRequiredException-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
256
257<dl><dt><a name="KeylessLoginRequiredException-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
258
259<hr>
260Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
261<dl><dt><strong>__dict__</strong></dt>
262</dl>
263<dl><dt><strong>args</strong></dt>
264</dl>
265<dl><dt><strong>message</strong></dt>
266</dl>
267</td></tr></table> <p>
268<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
269<tr bgcolor="#ffc8d8">
270<td colspan=3 valign=bottom>&nbsp;<br>
271<font color="#000000" face="helvetica, arial"><a name="LoginException">class <strong>LoginException</strong></a>(<a href="exceptions.html#Exception">exceptions.Exception</a>)</font></td></tr>
272    
273<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
274<td width="100%"><dl><dt>Method resolution order:</dt>
275<dd><a href="telemetry.core.cros_interface.html#LoginException">LoginException</a></dd>
276<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
277<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
278<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
279</dl>
280<hr>
281Data descriptors defined here:<br>
282<dl><dt><strong>__weakref__</strong></dt>
283<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
284</dl>
285<hr>
286Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
287<dl><dt><a name="LoginException-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#LoginException-__init__">__init__</a>(...)&nbsp;initializes&nbsp;x;&nbsp;see&nbsp;help(type(x))&nbsp;for&nbsp;signature</tt></dd></dl>
288
289<hr>
290Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
291<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.<a href="#LoginException-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>
292
293<hr>
294Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
295<dl><dt><a name="LoginException-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#LoginException-__delattr__">__delattr__</a>('name')&nbsp;&lt;==&gt;&nbsp;del&nbsp;x.name</tt></dd></dl>
296
297<dl><dt><a name="LoginException-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#LoginException-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>
298
299<dl><dt><a name="LoginException-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#LoginException-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>
300
301<dl><dt><a name="LoginException-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#LoginException-__getslice__">__getslice__</a>(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
302&nbsp;<br>
303Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>
304
305<dl><dt><a name="LoginException-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
306
307<dl><dt><a name="LoginException-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#LoginException-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>
308
309<dl><dt><a name="LoginException-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#LoginException-__setattr__">__setattr__</a>('name',&nbsp;value)&nbsp;&lt;==&gt;&nbsp;x.name&nbsp;=&nbsp;value</tt></dd></dl>
310
311<dl><dt><a name="LoginException-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
312
313<dl><dt><a name="LoginException-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#LoginException-__str__">__str__</a>()&nbsp;&lt;==&gt;&nbsp;str(x)</tt></dd></dl>
314
315<dl><dt><a name="LoginException-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
316
317<hr>
318Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
319<dl><dt><strong>__dict__</strong></dt>
320</dl>
321<dl><dt><strong>args</strong></dt>
322</dl>
323<dl><dt><strong>message</strong></dt>
324</dl>
325</td></tr></table></td></tr></table><p>
326<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
327<tr bgcolor="#eeaa77">
328<td colspan=3 valign=bottom>&nbsp;<br>
329<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
330    
331<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
332<td width="100%"><dl><dt><a name="-GetAllCmdOutput"><strong>GetAllCmdOutput</strong></a>(args, cwd<font color="#909090">=None</font>, quiet<font color="#909090">=False</font>)</dt><dd><tt>Open&nbsp;a&nbsp;subprocess&nbsp;to&nbsp;execute&nbsp;a&nbsp;program&nbsp;and&nbsp;returns&nbsp;its&nbsp;output.<br>
333&nbsp;<br>
334Args:<br>
335&nbsp;&nbsp;args:&nbsp;A&nbsp;string&nbsp;or&nbsp;a&nbsp;sequence&nbsp;of&nbsp;program&nbsp;arguments.&nbsp;The&nbsp;program&nbsp;to&nbsp;execute&nbsp;is<br>
336&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;string&nbsp;or&nbsp;the&nbsp;first&nbsp;item&nbsp;in&nbsp;the&nbsp;args&nbsp;sequence.<br>
337&nbsp;&nbsp;cwd:&nbsp;If&nbsp;not&nbsp;None,&nbsp;the&nbsp;subprocess's&nbsp;current&nbsp;directory&nbsp;will&nbsp;be&nbsp;changed&nbsp;to<br>
338&nbsp;&nbsp;&nbsp;&nbsp;|cwd|&nbsp;before&nbsp;it's&nbsp;executed.<br>
339&nbsp;<br>
340Returns:<br>
341&nbsp;&nbsp;Captures&nbsp;and&nbsp;returns&nbsp;the&nbsp;command's&nbsp;stdout.<br>
342&nbsp;&nbsp;Prints&nbsp;the&nbsp;command's&nbsp;stderr&nbsp;to&nbsp;logger&nbsp;(which&nbsp;defaults&nbsp;to&nbsp;stdout).</tt></dd></dl>
343 <dl><dt><a name="-HasSSH"><strong>HasSSH</strong></a>()</dt></dl>
344 <dl><dt><a name="-RunCmd"><strong>RunCmd</strong></a>(args, cwd<font color="#909090">=None</font>, quiet<font color="#909090">=False</font>)</dt><dd><tt>Opens&nbsp;a&nbsp;subprocess&nbsp;to&nbsp;execute&nbsp;a&nbsp;program&nbsp;and&nbsp;returns&nbsp;its&nbsp;return&nbsp;value.<br>
345&nbsp;<br>
346Args:<br>
347&nbsp;&nbsp;args:&nbsp;A&nbsp;string&nbsp;or&nbsp;a&nbsp;sequence&nbsp;of&nbsp;program&nbsp;arguments.&nbsp;The&nbsp;program&nbsp;to&nbsp;execute&nbsp;is<br>
348&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;string&nbsp;or&nbsp;the&nbsp;first&nbsp;item&nbsp;in&nbsp;the&nbsp;args&nbsp;sequence.<br>
349&nbsp;&nbsp;cwd:&nbsp;If&nbsp;not&nbsp;None,&nbsp;the&nbsp;subprocess's&nbsp;current&nbsp;directory&nbsp;will&nbsp;be&nbsp;changed&nbsp;to<br>
350&nbsp;&nbsp;&nbsp;&nbsp;|cwd|&nbsp;before&nbsp;it's&nbsp;executed.<br>
351&nbsp;<br>
352Returns:<br>
353&nbsp;&nbsp;Return&nbsp;code&nbsp;from&nbsp;the&nbsp;command&nbsp;execution.</tt></dd></dl>
354</td></tr></table>
355</body></html>