Merge pull request #160 from oz123/exit_code

Add property returncode to WSClient
This commit is contained in:
Kubernetes Prow Robot 2019-09-18 14:17:00 -07:00 committed by GitHub
commit 5092d96134
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,15 +14,19 @@
from kubernetes.client.rest import ApiException
import select
import certifi
import time
import collections
from websocket import WebSocket, ABNF, enableTrace
import six
import select
import ssl
import time
import six
import yaml
from six.moves.urllib.parse import urlencode, quote_plus, urlparse, urlunparse
from websocket import WebSocket, ABNF, enableTrace
STDIN_CHANNEL = 0
STDOUT_CHANNEL = 1
STDERR_CHANNEL = 2
@ -203,6 +207,21 @@ class WSClient:
else:
while self.is_open():
self.update(timeout=None)
@property
def returncode(self):
"""
The return code, A None value indicates that the process hasn't
terminated yet.
"""
if self.is_open():
return None
else:
err = self.read_channel(ERROR_CHANNEL)
err = yaml.safe_load(err)
if err['status'] == "Success":
return 0
return int(err['details']['causes'][0]['message'])
def close(self, **kwargs):
"""