From fc38c7d1b106dccc94c6e7ba1418ce5b4c2fb016 Mon Sep 17 00:00:00 2001 From: phantomcosmonaut Date: Sun, 15 Dec 2019 12:22:02 -0500 Subject: [PATCH] Change regex, add remove method, and edit qeury_timeout --- tabpy/tabpy_tools/client.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/tabpy/tabpy_tools/client.py b/tabpy/tabpy_tools/client.py index f7f4eeec..30d0a872 100755 --- a/tabpy/tabpy_tools/client.py +++ b/tabpy/tabpy_tools/client.py @@ -22,14 +22,13 @@ def _check_endpoint_type(name): def _check_hostname(name): _check_endpoint_type(name) - hostname_checker = compile( - r'^http(s)?://[a-zA-Z0-9-_\.]+(/)?(:[0-9]+)?(/)?$') + hostname_checker = compile(r'^http(s)?://[\w.-]+(/)?(:\d+)?(/)?$') if not hostname_checker.match(name): raise ValueError( f'endpoint name {name} should be in http(s)://' '[:] and hostname may consist only of: ' - 'a-z, A-Z, 0-9, underscore and hyphens.') + 'a-z, A-Z, 0-9, underscore, periods, and hyphens.') def _check_endpoint_name(name): @@ -74,10 +73,10 @@ def __init__(self, service_client = ServiceClient(self._endpoint, network_wrapper) self._service = RESTServiceClient(service_client) - if query_timeout is not None and query_timeout > 0: - self.query_timeout = query_timeout + if type(query_timeout) in (int, float) and query_timeout > 0: + self._service.query_timeout = query_timeout else: - self.query_timeout = 0.0 + self._service.query_timeout = 0.0 def __repr__(self): return ( @@ -115,12 +114,13 @@ def get_status(self): @property def query_timeout(self): - """The timeout for queries in seconds.""" + """The timeout for queries in milliseconds.""" return self._service.query_timeout @query_timeout.setter def query_timeout(self, value): - self._service.query_timeout = value + if type(value) in (int, float) and value > 0: + self._service.query_timeout = value def query(self, name, *args, **kwargs): """Query an endpoint. @@ -241,6 +241,15 @@ def deploy(self, self._wait_for_endpoint_deployment(obj['name'], obj['version']) + def remove(self, name): + '''Removes an endpoint dict. + + Parameters + ---------- + name : str + Endpoint name to remove''' + self._service.remove_endpoint(name) + def _gen_endpoint(self, name, obj, description, version=1, schema=None): '''Generates an endpoint dict.