Merge pull request #9 from bmartin5692/bumper-certs
change str_to_bool func
This commit is contained in:
+13
-4
@@ -10,6 +10,7 @@ import random
|
|||||||
import ssl
|
import ssl
|
||||||
import requests
|
import requests
|
||||||
import stringcase
|
import stringcase
|
||||||
|
import os
|
||||||
from sleekxmppfs import ClientXMPP, Callback, MatchXPath
|
from sleekxmppfs import ClientXMPP, Callback, MatchXPath
|
||||||
from sleekxmppfs.xmlstream import ET
|
from sleekxmppfs.xmlstream import ET
|
||||||
from sleekxmppfs.exceptions import XMPPError
|
from sleekxmppfs.exceptions import XMPPError
|
||||||
@@ -122,13 +123,21 @@ COMPONENT_FROM_ECOVACS = {
|
|||||||
'dust_case_heap': COMPONENT_FILTER
|
'dust_case_heap': COMPONENT_FILTER
|
||||||
}
|
}
|
||||||
|
|
||||||
def str_to_bool(s):
|
def str_to_bool_or_cert(s):
|
||||||
if s == 'True' or s == True:
|
if s == 'True' or s == True:
|
||||||
return True
|
return True
|
||||||
elif s == 'False' or s == False:
|
elif s == 'False' or s == False:
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
raise ValueError("Cannot covert {} to a bool".format(s))
|
if not s == None:
|
||||||
|
if os.path.exists(s): # User could provide a path to a CA Cert as well, which is useful for Bumper
|
||||||
|
if os.path.isfile(s):
|
||||||
|
return s
|
||||||
|
else:
|
||||||
|
raise ValueError("Certificate path provided is not a file - {}".format(s))
|
||||||
|
|
||||||
|
raise ValueError("Cannot covert {} to a bool or certificate path".format(s))
|
||||||
|
|
||||||
|
|
||||||
class EcoVacsAPI:
|
class EcoVacsAPI:
|
||||||
CLIENT_KEY = "eJUWrzRv34qFSaYk"
|
CLIENT_KEY = "eJUWrzRv34qFSaYk"
|
||||||
@@ -160,7 +169,7 @@ class EcoVacsAPI:
|
|||||||
#'deviceType': '2' - iphone
|
#'deviceType': '2' - iphone
|
||||||
}
|
}
|
||||||
|
|
||||||
self.verify_ssl = str_to_bool(verify_ssl)
|
self.verify_ssl = str_to_bool_or_cert(verify_ssl)
|
||||||
_LOGGER.debug("Setting up EcoVacsAPI")
|
_LOGGER.debug("Setting up EcoVacsAPI")
|
||||||
self.resource = device_id[0:8]
|
self.resource = device_id[0:8]
|
||||||
self.country = country
|
self.country = country
|
||||||
@@ -632,7 +641,7 @@ class EcoVacsIOTMQ(ClientMQTT):
|
|||||||
self.vacuum = vacuum
|
self.vacuum = vacuum
|
||||||
self.scheduler = sched.scheduler(time.time, time.sleep)
|
self.scheduler = sched.scheduler(time.time, time.sleep)
|
||||||
self.scheduler_thread = threading.Thread(target=self.scheduler.run, daemon=True, name="mqtt_schedule_thread")
|
self.scheduler_thread = threading.Thread(target=self.scheduler.run, daemon=True, name="mqtt_schedule_thread")
|
||||||
self.verify_ssl = str_to_bool(verify_ssl)
|
self.verify_ssl = str_to_bool_or_cert(verify_ssl)
|
||||||
|
|
||||||
if server_address is None:
|
if server_address is None:
|
||||||
self.hostname = ('mq-{}.ecouser.net'.format(self.continent))
|
self.hostname = ('mq-{}.ecouser.net'.format(self.continent))
|
||||||
|
|||||||
@@ -387,5 +387,12 @@ def a_vacbot(bot=None, iotmq=False, monitor=False):
|
|||||||
bot, 'na', monitor=monitor)
|
bot, 'na', monitor=monitor)
|
||||||
|
|
||||||
def test_str_to_bool():
|
def test_str_to_bool():
|
||||||
assert_raises(ValueError, str_to_bool, None) #Value error if str_to_bool can't convert
|
assert_raises(ValueError, str_to_bool_or_cert, None) #Value error if str_to_bool can't convert
|
||||||
|
assert_equals(True, str_to_bool_or_cert("True"))
|
||||||
|
assert_equals(False, str_to_bool_or_cert("False"))
|
||||||
|
assert_equals(
|
||||||
|
os.path.abspath(os.path.join(".", "tests", "test_vacbot.py")),
|
||||||
|
str_to_bool_or_cert(os.path.abspath(os.path.join(".","tests","test_vacbot.py")))
|
||||||
|
)
|
||||||
|
assert_raises(ValueError, str_to_bool_or_cert ,(os.path.abspath(os.path.join(".","tests"))))
|
||||||
|
|
||||||
Reference in New Issue
Block a user